Mbed TLS v2.28.7
sha256.h
Go to the documentation of this file.
1 
9 /*
10  * Copyright The Mbed TLS Contributors
11  * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
12  */
13 #ifndef MBEDTLS_SHA256_H
14 #define MBEDTLS_SHA256_H
15 
16 #if !defined(MBEDTLS_CONFIG_FILE)
17 #include "mbedtls/config.h"
18 #else
19 #include MBEDTLS_CONFIG_FILE
20 #endif
21 
22 #include <stddef.h>
23 #include <stdint.h>
24 
25 /* MBEDTLS_ERR_SHA256_HW_ACCEL_FAILED is deprecated and should not be used. */
27 #define MBEDTLS_ERR_SHA256_HW_ACCEL_FAILED -0x0037
28 
29 #define MBEDTLS_ERR_SHA256_BAD_INPUT_DATA -0x0074
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
35 #if !defined(MBEDTLS_SHA256_ALT)
36 // Regular implementation
37 //
38 
46 typedef struct mbedtls_sha256_context {
47  uint32_t total[2];
48  uint32_t state[8];
49  unsigned char buffer[64];
50  int is224;
52 }
54 
55 #else /* MBEDTLS_SHA256_ALT */
56 #include "sha256_alt.h"
57 #endif /* MBEDTLS_SHA256_ALT */
58 
65 
74 
82  const mbedtls_sha256_context *src);
83 
96 
111  const unsigned char *input,
112  size_t ilen);
113 
127  unsigned char output[32]);
128 
142  const unsigned char data[64]);
143 
144 #if !defined(MBEDTLS_DEPRECATED_REMOVED)
145 #if defined(MBEDTLS_DEPRECATED_WARNING)
146 #define MBEDTLS_DEPRECATED __attribute__((deprecated))
147 #else
148 #define MBEDTLS_DEPRECATED
149 #endif
150 
161  int is224);
162 
176  const unsigned char *input,
177  size_t ilen);
178 
191  unsigned char output[32]);
192 
205  const unsigned char data[64]);
206 
207 #undef MBEDTLS_DEPRECATED
208 #endif /* !MBEDTLS_DEPRECATED_REMOVED */
209 
231 int mbedtls_sha256_ret(const unsigned char *input,
232  size_t ilen,
233  unsigned char output[32],
234  int is224);
235 
236 #if !defined(MBEDTLS_DEPRECATED_REMOVED)
237 #if defined(MBEDTLS_DEPRECATED_WARNING)
238 #define MBEDTLS_DEPRECATED __attribute__((deprecated))
239 #else
240 #define MBEDTLS_DEPRECATED
241 #endif
242 
263 MBEDTLS_DEPRECATED void mbedtls_sha256(const unsigned char *input,
264  size_t ilen,
265  unsigned char output[32],
266  int is224);
267 
268 #undef MBEDTLS_DEPRECATED
269 #endif /* !MBEDTLS_DEPRECATED_REMOVED */
270 
271 #if defined(MBEDTLS_SELF_TEST)
272 
279 int mbedtls_sha256_self_test(int verbose);
280 
281 #endif /* MBEDTLS_SELF_TEST */
282 
283 #ifdef __cplusplus
284 }
285 #endif
286 
287 #endif /* mbedtls_sha256.h */
int mbedtls_internal_sha256_process(mbedtls_sha256_context *ctx, const unsigned char data[64])
This function processes a single data block within the ongoing SHA-256 computation. This function is for internal use only.
MBEDTLS_DEPRECATED void mbedtls_sha256_finish(mbedtls_sha256_context *ctx, unsigned char output[32])
This function finishes the SHA-256 operation, and writes the result to the output buffer...
void mbedtls_sha256_init(mbedtls_sha256_context *ctx)
This function initializes a SHA-256 context.
uint32_t total[2]
Definition: sha256.h:47
int mbedtls_sha256_update_ret(mbedtls_sha256_context *ctx, const unsigned char *input, size_t ilen)
This function feeds an input buffer into an ongoing SHA-256 checksum calculation. ...
void mbedtls_sha256_free(mbedtls_sha256_context *ctx)
This function clears a SHA-256 context.
int mbedtls_sha256_starts_ret(mbedtls_sha256_context *ctx, int is224)
This function starts a SHA-224 or SHA-256 checksum calculation.
Configuration options (set of defines)
int mbedtls_sha256_finish_ret(mbedtls_sha256_context *ctx, unsigned char output[32])
This function finishes the SHA-256 operation, and writes the result to the output buffer...
#define MBEDTLS_DEPRECATED
Definition: sha256.h:240
MBEDTLS_DEPRECATED void mbedtls_sha256_update(mbedtls_sha256_context *ctx, const unsigned char *input, size_t ilen)
This function feeds an input buffer into an ongoing SHA-256 checksum calculation. ...
uint32_t state[8]
Definition: sha256.h:48
struct mbedtls_sha256_context mbedtls_sha256_context
The SHA-256 context structure.
The SHA-256 context structure.
Definition: sha256.h:46
MBEDTLS_DEPRECATED void mbedtls_sha256(const unsigned char *input, size_t ilen, unsigned char output[32], int is224)
This function calculates the SHA-224 or SHA-256 checksum of a buffer.
int mbedtls_sha256_ret(const unsigned char *input, size_t ilen, unsigned char output[32], int is224)
This function calculates the SHA-224 or SHA-256 checksum of a buffer.
unsigned char buffer[64]
Definition: sha256.h:49
MBEDTLS_DEPRECATED void mbedtls_sha256_process(mbedtls_sha256_context *ctx, const unsigned char data[64])
This function processes a single data block within the ongoing SHA-256 computation. This function is for internal use only.
void mbedtls_sha256_clone(mbedtls_sha256_context *dst, const mbedtls_sha256_context *src)
This function clones the state of a SHA-256 context.
MBEDTLS_DEPRECATED void mbedtls_sha256_starts(mbedtls_sha256_context *ctx, int is224)
This function starts a SHA-224 or SHA-256 checksum calculation.
int mbedtls_sha256_self_test(int verbose)
The SHA-224 and SHA-256 checkup routine.