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!

sha512.h
Go to the documentation of this file.
1 
8 /*
9  * Copyright (C) 2006-2018, Arm Limited (or its affiliates), All Rights Reserved
10  * SPDX-License-Identifier: Apache-2.0
11  *
12  * Licensed under the Apache License, Version 2.0 (the "License"); you may
13  * not use this file except in compliance with the License.
14  * You may obtain a copy of the License at
15  *
16  * http://www.apache.org/licenses/LICENSE-2.0
17  *
18  * Unless required by applicable law or agreed to in writing, software
19  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
20  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  * See the License for the specific language governing permissions and
22  * limitations under the License.
23  *
24  * This file is part of Mbed TLS (https://tls.mbed.org)
25  */
26 #ifndef MBEDTLS_SHA512_H
27 #define MBEDTLS_SHA512_H
28 
29 #if !defined(MBEDTLS_CONFIG_FILE)
30 #include "config.h"
31 #else
32 #include MBEDTLS_CONFIG_FILE
33 #endif
34 
35 #include <stddef.h>
36 #include <stdint.h>
37 
38 /* MBEDTLS_ERR_SHA512_HW_ACCEL_FAILED is deprecated and should not be used. */
39 #define MBEDTLS_ERR_SHA512_HW_ACCEL_FAILED -0x0039
40 #define MBEDTLS_ERR_SHA512_BAD_INPUT_DATA -0x0075
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
46 #if !defined(MBEDTLS_SHA512_ALT)
47 // Regular implementation
48 //
49 
57 typedef struct mbedtls_sha512_context
58 {
59  uint64_t total[2];
60  uint64_t state[8];
61  unsigned char buffer[128];
62  int is384;
64 }
66 
67 #else /* MBEDTLS_SHA512_ALT */
68 #include "sha512_alt.h"
69 #endif /* MBEDTLS_SHA512_ALT */
70 
78 
88 
96  const mbedtls_sha512_context *src );
97 
110 
125  const unsigned char *input,
126  size_t ilen );
127 
142  unsigned char output[64] );
143 
156  const unsigned char data[128] );
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 is384 );
175 
189  const unsigned char *input,
190  size_t ilen );
191 
204  unsigned char output[64] );
205 
219  const unsigned char data[128] );
220 
221 #undef MBEDTLS_DEPRECATED
222 #endif /* !MBEDTLS_DEPRECATED_REMOVED */
223 
245 int mbedtls_sha512_ret( const unsigned char *input,
246  size_t ilen,
247  unsigned char output[64],
248  int is384 );
249 
250 #if !defined(MBEDTLS_DEPRECATED_REMOVED)
251 #if defined(MBEDTLS_DEPRECATED_WARNING)
252 #define MBEDTLS_DEPRECATED __attribute__((deprecated))
253 #else
254 #define MBEDTLS_DEPRECATED
255 #endif
256 
277 MBEDTLS_DEPRECATED void mbedtls_sha512( const unsigned char *input,
278  size_t ilen,
279  unsigned char output[64],
280  int is384 );
281 
282 #undef MBEDTLS_DEPRECATED
283 #endif /* !MBEDTLS_DEPRECATED_REMOVED */
284 
285 #if defined(MBEDTLS_SELF_TEST)
286 
293 int mbedtls_sha512_self_test( int verbose );
294 #endif /* MBEDTLS_SELF_TEST */
295 
296 #ifdef __cplusplus
297 }
298 #endif
299 
300 #endif /* mbedtls_sha512.h */
#define MBEDTLS_DEPRECATED
Definition: sha512.h:254
void mbedtls_sha512_clone(mbedtls_sha512_context *dst, const mbedtls_sha512_context *src)
This function clones the state of a SHA-512 context.
void mbedtls_sha512_init(mbedtls_sha512_context *ctx)
This function initializes a SHA-512 context.
uint64_t total[2]
Definition: sha512.h:59
int mbedtls_sha512_finish_ret(mbedtls_sha512_context *ctx, unsigned char output[64])
This function finishes the SHA-512 operation, and writes the result to the output buffer...
MBEDTLS_DEPRECATED void 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. ...
struct mbedtls_sha512_context mbedtls_sha512_context
The SHA-512 context structure.
MBEDTLS_DEPRECATED void mbedtls_sha512(const unsigned char *input, size_t ilen, unsigned char output[64], int is384)
This function calculates the SHA-512 or SHA-384 checksum of a buffer.
Configuration options (set of defines)
The SHA-512 context structure.
Definition: sha512.h:57
int mbedtls_sha512_starts_ret(mbedtls_sha512_context *ctx, int is384)
This function starts a SHA-384 or SHA-512 checksum calculation.
unsigned char buffer[128]
Definition: sha512.h:61
int mbedtls_sha512_self_test(int verbose)
The SHA-384 or SHA-512 checkup routine.
MBEDTLS_DEPRECATED void mbedtls_sha512_finish(mbedtls_sha512_context *ctx, unsigned char output[64])
This function finishes the SHA-512 operation, and writes the result to the output buffer...
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.
void mbedtls_sha512_free(mbedtls_sha512_context *ctx)
This function clears a SHA-512 context.
uint64_t state[8]
Definition: sha512.h:60
int mbedtls_sha512_ret(const unsigned char *input, size_t ilen, unsigned char output[64], int is384)
This function calculates the SHA-512 or SHA-384 checksum of a buffer.
MBEDTLS_DEPRECATED void mbedtls_sha512_starts(mbedtls_sha512_context *ctx, int is384)
This function starts a SHA-384 or SHA-512 checksum calculation.
int mbedtls_sha512_update_ret(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_DEPRECATED void mbedtls_sha512_process(mbedtls_sha512_context *ctx, const unsigned char data[128])
This function processes a single data block within the ongoing SHA-512 computation.