Detailed Description

Accelerated mbed TLS SHA-224/SHA-256 cryptographic hash functions for the mbed TLS API using Silicon Labs peripherals. This implementation builds on the PSA Crypto drivers (Silicon Labs Cryptography Hardware Acceleration Plugins for PSA Crypto).

Macros

#define SL_HASH_OPERATION_CTX_TYPE   sli_se_transparent_hash_operation_t
 

Typedefs

typedef SL_HASH_OPERATION_CTX_TYPE mbedtls_sha256_context
 SHA-256 context structure.
 

Functions

void mbedtls_sha256_init (mbedtls_sha256_context *ctx)
 Initialize SHA-256 context.
 
void mbedtls_sha256_free (mbedtls_sha256_context *ctx)
 Clear SHA-256 context.
 
void mbedtls_sha256_clone (mbedtls_sha256_context *dst, const mbedtls_sha256_context *src)
 Clone (the state of) a SHA-256 context.
 
int mbedtls_sha256_starts_ret (mbedtls_sha256_context *ctx, int is224)
 SHA-256 context setup.
 
int mbedtls_sha256_update_ret (mbedtls_sha256_context *ctx, const unsigned char *input, size_t ilen)
 SHA-256 process buffer.
 
int mbedtls_sha256_finish_ret (mbedtls_sha256_context *ctx, unsigned char output[32])
 SHA-256 final digest.
 
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.
 

Macro Definition Documentation

#define SL_HASH_OPERATION_CTX_TYPE   sli_se_transparent_hash_operation_t

Definition at line 53 of file sha256_alt.h.

Typedef Documentation

SHA-256 context structure.

Definition at line 73 of file sha256_alt.h.

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.
void mbedtls_sha256_clone ( mbedtls_sha256_context dst,
const mbedtls_sha256_context src 
)

Clone (the state of) a SHA-256 context.

Parameters
dstThe destination context
srcThe context to be cloned
int mbedtls_sha256_finish_ret ( mbedtls_sha256_context ctx,
unsigned char  output[32] 
)

SHA-256 final digest.

Parameters
ctxSHA-256 context
outputSHA-224/256 checksum result
Returns
0 if successful
void mbedtls_sha256_free ( mbedtls_sha256_context ctx)

Clear SHA-256 context.

Parameters
ctxSHA-256 context to be cleared
void mbedtls_sha256_init ( mbedtls_sha256_context ctx)

Initialize SHA-256 context.

Parameters
ctxSHA-256 context to be initialized
int mbedtls_sha256_starts_ret ( mbedtls_sha256_context ctx,
int  is224 
)

SHA-256 context setup.

Parameters
ctxcontext to be initialized
is2240 = use SHA256, 1 = use SHA224
Returns
0 if successful
int mbedtls_sha256_update_ret ( mbedtls_sha256_context ctx,
const unsigned char *  input,
size_t  ilen 
)

SHA-256 process buffer.

Parameters
ctxSHA-256 context
inputbuffer holding the data
ilenlength of the input data
Returns
0 if successful