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 File Reference

This file contains SHA-224 and SHA-256 definitions and functions. More...

#include "config.h"
#include <stddef.h>
#include <stdint.h>
Include dependency graph for sha256.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  mbedtls_sha256_context
 The SHA-256 context structure. More...
 

Macros

#define MBEDTLS_ERR_SHA256_HW_ACCEL_FAILED   -0x0037
 SHA-256 hardware accelerator failed. More...
 
#define MBEDTLS_DEPRECATED
 
#define MBEDTLS_DEPRECATED
 

Typedefs

typedef struct
mbedtls_sha256_context 
mbedtls_sha256_context
 The SHA-256 context structure. More...
 

Functions

void mbedtls_sha256_init (mbedtls_sha256_context *ctx)
 This function initializes a SHA-256 context. More...
 
void mbedtls_sha256_free (mbedtls_sha256_context *ctx)
 This function clears a SHA-256 context. More...
 
void mbedtls_sha256_clone (mbedtls_sha256_context *dst, const mbedtls_sha256_context *src)
 This function clones the state of a SHA-256 context. More...
 
int mbedtls_sha256_starts_ret (mbedtls_sha256_context *ctx, int is224)
 This function starts a SHA-224 or SHA-256 checksum calculation. More...
 
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. More...
 
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. More...
 
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. More...
 
MBEDTLS_DEPRECATED void mbedtls_sha256_starts (mbedtls_sha256_context *ctx, int is224)
 This function starts a SHA-224 or SHA-256 checksum calculation. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
int mbedtls_sha256_self_test (int verbose)
 The SHA-224 and SHA-256 checkup routine. More...
 

Detailed Description

This file contains SHA-224 and SHA-256 definitions and functions.

The Secure Hash Algorithms 224 and 256 (SHA-224 and SHA-256) cryptographic hash functions are defined in FIPS 180-4: Secure Hash Standard (SHS).

Definition in file sha256.h.

Macro Definition Documentation

#define MBEDTLS_DEPRECATED

Definition at line 232 of file sha256.h.

#define MBEDTLS_DEPRECATED

Definition at line 232 of file sha256.h.

#define MBEDTLS_ERR_SHA256_HW_ACCEL_FAILED   -0x0037

SHA-256 hardware accelerator failed.

Definition at line 40 of file sha256.h.

Typedef Documentation

The SHA-256 context structure.

The structure is used both for SHA-256 and for SHA-224 checksum calculations. The choice between these two is made in the call to mbedtls_sha256_starts_ret().

Function Documentation

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.

Parameters
ctxThe SHA-256 context.
dataThe buffer holding one block of data.
Returns
0 on success.
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.

The function allocates the context, performs the calculation, and frees the context.

The SHA-256 result is calculated as output = SHA-256(input buffer).

Deprecated:
Superseded by mbedtls_sha256_ret() in 2.7.0.
Parameters
inputThe buffer holding the data.
ilenThe length of the input data.
outputThe SHA-224 or SHA-256 checksum result.
is224Determines which function to use: 0: Use SHA-256, or 1: Use SHA-224.
void mbedtls_sha256_clone ( mbedtls_sha256_context dst,
const mbedtls_sha256_context src 
)

This function clones the state of a SHA-256 context.

Parameters
dstThe destination context.
srcThe context to clone.
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.

Deprecated:
Superseded by mbedtls_sha256_finish_ret() in 2.7.0.
Parameters
ctxThe SHA-256 context.
outputThe SHA-224 or SHA-256 checksum result.
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.

Parameters
ctxThe SHA-256 context.
outputThe SHA-224 or SHA-256 checksum result.
Returns
0 on success.
void mbedtls_sha256_free ( mbedtls_sha256_context ctx)

This function clears a SHA-256 context.

Parameters
ctxThe SHA-256 context to clear.
void mbedtls_sha256_init ( mbedtls_sha256_context ctx)

This function initializes a SHA-256 context.

Parameters
ctxThe SHA-256 context to initialize.
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.

Deprecated:
Superseded by mbedtls_internal_sha256_process() in 2.7.0.
Parameters
ctxThe SHA-256 context.
dataThe buffer holding one block of data.
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.

The function allocates the context, performs the calculation, and frees the context.

The SHA-256 result is calculated as output = SHA-256(input buffer).

Parameters
inputThe buffer holding the input data.
ilenThe length of the input data.
outputThe SHA-224 or SHA-256 checksum result.
is224Determines which function to use: 0: Use SHA-256, or 1: Use SHA-224.
int mbedtls_sha256_self_test ( int  verbose)

The SHA-224 and SHA-256 checkup routine.

Returns
0 on success.
1 on failure.
MBEDTLS_DEPRECATED void mbedtls_sha256_starts ( mbedtls_sha256_context ctx,
int  is224 
)

This function starts a SHA-224 or SHA-256 checksum calculation.

Deprecated:
Superseded by mbedtls_sha256_starts_ret() in 2.7.0.
Parameters
ctxThe context to initialize.
is224Determines which function to use: 0: Use SHA-256, or 1: Use SHA-224.
int mbedtls_sha256_starts_ret ( mbedtls_sha256_context ctx,
int  is224 
)

This function starts a SHA-224 or SHA-256 checksum calculation.

Parameters
ctxThe context to initialize.
is224Determines which function to use: 0: Use SHA-256, or 1: Use SHA-224.
Returns
0 on success.
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.

Deprecated:
Superseded by mbedtls_sha256_update_ret() in 2.7.0.
Parameters
ctxThe SHA-256 context to initialize.
inputThe buffer holding the data.
ilenThe length of the input data.
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.

Parameters
ctxThe SHA-256 context.
inputThe buffer holding the data.
ilenThe length of the input data.
Returns
0 on success.