Mbed TLS v3.6.7
Toggle main menu visibility
Loading...
Searching...
No Matches
sha512.h
Go to the documentation of this file.
1
8
/*
9
* Copyright The Mbed TLS Contributors
10
* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
11
*/
12
#ifndef MBEDTLS_SHA512_H
13
#define MBEDTLS_SHA512_H
14
#include "
mbedtls/private_access.h
"
15
16
#include "
mbedtls/build_info.h
"
17
18
#include <stddef.h>
19
#include <stdint.h>
20
22
#define MBEDTLS_ERR_SHA512_BAD_INPUT_DATA -0x0075
23
24
#ifdef __cplusplus
25
extern
"C"
{
26
#endif
27
28
#if !defined(MBEDTLS_SHA512_ALT)
29
// Regular implementation
30
//
31
39
typedef
struct
mbedtls_sha512_context
{
40
uint64_t
MBEDTLS_PRIVATE
(total)[2];
41
uint64_t
MBEDTLS_PRIVATE
(state)[8];
42
unsigned
char
MBEDTLS_PRIVATE
(buffer)[128];
43
#if defined(MBEDTLS_SHA384_C)
44
int
MBEDTLS_PRIVATE
(is384);
46
#endif
47
}
48
mbedtls_sha512_context
;
49
50
#else
/* MBEDTLS_SHA512_ALT */
51
#include "
sha512_alt.h
"
52
#endif
/* MBEDTLS_SHA512_ALT */
53
60
void
mbedtls_sha512_init
(
mbedtls_sha512_context
*ctx);
61
70
void
mbedtls_sha512_free
(
mbedtls_sha512_context
*ctx);
71
78
void
mbedtls_sha512_clone
(
mbedtls_sha512_context
*dst,
79
const
mbedtls_sha512_context
*src);
80
96
int
mbedtls_sha512_starts
(
mbedtls_sha512_context
*ctx,
int
is384);
97
111
int
mbedtls_sha512_update
(
mbedtls_sha512_context
*ctx,
112
const
unsigned
char
*input,
113
size_t
ilen);
114
128
int
mbedtls_sha512_finish
(
mbedtls_sha512_context
*ctx,
129
unsigned
char
*output);
130
143
int
mbedtls_internal_sha512_process
(
mbedtls_sha512_context
*ctx,
144
const
unsigned
char
data[128]);
145
175
int
mbedtls_sha512
(
const
unsigned
char
*input,
176
size_t
ilen,
177
unsigned
char
*output,
178
int
is384);
179
180
#if defined(MBEDTLS_SELF_TEST)
181
182
#if defined(MBEDTLS_SHA384_C)
189
int
mbedtls_sha384_self_test
(
int
verbose);
190
#endif
/* MBEDTLS_SHA384_C */
191
192
#if defined(MBEDTLS_SHA512_C)
199
int
mbedtls_sha512_self_test
(
int
verbose);
200
#endif
/* MBEDTLS_SHA512_C */
201
202
#endif
/* MBEDTLS_SELF_TEST */
203
204
#ifdef __cplusplus
205
}
206
#endif
207
208
#endif
/* mbedtls_sha512.h */
build_info.h
Build-time configuration info.
private_access.h
Macro wrapper for struct's members.
MBEDTLS_PRIVATE
#define MBEDTLS_PRIVATE(member)
Definition
private_access.h:15
mbedtls_sha512_starts
int mbedtls_sha512_starts(mbedtls_sha512_context *ctx, int is384)
This function starts a SHA-384 or SHA-512 checksum calculation.
mbedtls_internal_sha512_process
int mbedtls_internal_sha512_process(mbedtls_sha512_context *ctx, const unsigned char data[128])
This function processes a single data block within the ongoing SHA-512 computation....
mbedtls_sha512_clone
void mbedtls_sha512_clone(mbedtls_sha512_context *dst, const mbedtls_sha512_context *src)
This function clones the state of a SHA-512 context.
mbedtls_sha512_free
void mbedtls_sha512_free(mbedtls_sha512_context *ctx)
This function clears a SHA-512 context.
mbedtls_sha384_self_test
int mbedtls_sha384_self_test(int verbose)
The SHA-384 checkup routine.
mbedtls_sha512_update
int mbedtls_sha512_update(mbedtls_sha512_context *ctx, const unsigned char *input, size_t ilen)
This function feeds an input buffer into an ongoing SHA-512 checksum calculation.
mbedtls_sha512_self_test
int mbedtls_sha512_self_test(int verbose)
The SHA-512 checkup routine.
mbedtls_sha512_finish
int mbedtls_sha512_finish(mbedtls_sha512_context *ctx, unsigned char *output)
This function finishes the SHA-512 operation, and writes the result to the output buffer.
mbedtls_sha512
int mbedtls_sha512(const unsigned char *input, size_t ilen, unsigned char *output, int is384)
This function calculates the SHA-512 or SHA-384 checksum of a buffer.
mbedtls_sha512_init
void mbedtls_sha512_init(mbedtls_sha512_context *ctx)
This function initializes a SHA-512 context.
sha512_alt.h
mbedtls_sha512_context
The SHA-512 context structure.
Definition
sha512.h:39
include
mbedtls
sha512.h
Generated on
for Mbed TLS v3.6.7 by
1.17.0