PolarSSL is now part of ARM Official announcement and rebranded as mbed TLS.

API Documentation (Doxygen generated)

These pages are generated with doxygen directly from the source code!

sha256.h
Go to the documentation of this file.
1 
9 /*
10  * Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved
11  * SPDX-License-Identifier: Apache-2.0
12  *
13  * Licensed under the Apache License, Version 2.0 (the "License"); you may
14  * not use this file except in compliance with the License.
15  * You may obtain a copy of the License at
16  *
17  * http://www.apache.org/licenses/LICENSE-2.0
18  *
19  * Unless required by applicable law or agreed to in writing, software
20  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
21  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22  * See the License for the specific language governing permissions and
23  * limitations under the License.
24  *
25  * This file is part of Mbed TLS (https://tls.mbed.org)
26  */
27 #ifndef MBEDTLS_SHA256_H
28 #define MBEDTLS_SHA256_H
29 
30 #if !defined(MBEDTLS_CONFIG_FILE)
31 #include "config.h"
32 #else
33 #include MBEDTLS_CONFIG_FILE
34 #endif
35 
36 #include <stddef.h>
37 #include <stdint.h>
38 
39 /* MBEDTLS_ERR_SHA256_HW_ACCEL_FAILED is deprecated and should not be used. */
40 #define MBEDTLS_ERR_SHA256_HW_ACCEL_FAILED -0x0037
41 #define MBEDTLS_ERR_SHA256_BAD_INPUT_DATA -0x0074
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
46 
47 #if !defined(MBEDTLS_SHA256_ALT)
48 // Regular implementation
49 //
50 
58 typedef struct mbedtls_sha256_context
59 {
60  uint32_t total[2];
61  uint32_t state[8];
62  unsigned char buffer[64];
63  int is224;
65 }
67 
68 #else /* MBEDTLS_SHA256_ALT */
69 #include "sha256_alt.h"
70 #endif /* MBEDTLS_SHA256_ALT */
71 
78 
87 
95  const mbedtls_sha256_context *src );
96 
109 
124  const unsigned char *input,
125  size_t ilen );
126 
140  unsigned char output[32] );
141 
155  const unsigned char data[64] );
156 
157 #if !defined(MBEDTLS_DEPRECATED_REMOVED)
158 #if defined(MBEDTLS_DEPRECATED_WARNING)
159 #define MBEDTLS_DEPRECATED __attribute__((deprecated))
160 #else
161 #define MBEDTLS_DEPRECATED
162 #endif
163 
174  int is224 );
175 
189  const unsigned char *input,
190  size_t ilen );
191 
204  unsigned char output[32] );
205 
218  const unsigned char data[64] );
219 
220 #undef MBEDTLS_DEPRECATED
221 #endif /* !MBEDTLS_DEPRECATED_REMOVED */
222 
241 int mbedtls_sha256_ret( const unsigned char *input,
242  size_t ilen,
243  unsigned char output[32],
244  int is224 );
245 
246 #if !defined(MBEDTLS_DEPRECATED_REMOVED)
247 #if defined(MBEDTLS_DEPRECATED_WARNING)
248 #define MBEDTLS_DEPRECATED __attribute__((deprecated))
249 #else
250 #define MBEDTLS_DEPRECATED
251 #endif
252 
273 MBEDTLS_DEPRECATED void mbedtls_sha256( const unsigned char *input,
274  size_t ilen,
275  unsigned char output[32],
276  int is224 );
277 
278 #undef MBEDTLS_DEPRECATED
279 #endif /* !MBEDTLS_DEPRECATED_REMOVED */
280 
287 int mbedtls_sha256_self_test( int verbose );
288 
289 #ifdef __cplusplus
290 }
291 #endif
292 
293 #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.
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:60
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:250
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:61
struct mbedtls_sha256_context mbedtls_sha256_context
The SHA-256 context structure.
The SHA-256 context structure.
Definition: sha256.h:58
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:62
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.
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.