37 #include "hal_platform.h" 39 #ifdef HAL_SHA_MODULE_ENABLED 41 #ifdef HAL_SHA_USE_PHYSICAL_MEMORY_ADDRESS 131 #include "hal_define.h" 141 #define HAL_SHA1_BLOCK_SIZE (64) 142 #define HAL_SHA1_DIGEST_SIZE (20) 143 #define HAL_SHA224_BLOCK_SIZE (64) 144 #define HAL_SHA224_DIGEST_SIZE (28) 145 #define HAL_SHA256_BLOCK_SIZE (64) 146 #define HAL_SHA256_DIGEST_SIZE (32) 147 #define HAL_SHA384_BLOCK_SIZE (128) 148 #define HAL_SHA384_DIGEST_SIZE (48) 149 #define HAL_SHA512_BLOCK_SIZE (128) 150 #define HAL_SHA512_DIGEST_SIZE (64) 163 HAL_SHA_STATUS_ERROR = -1,
164 HAL_SHA_STATUS_OK = 0
178 uint32_t hash_value[16];
179 uint32_t message_length;
180 uint8_t buffer[HAL_SHA512_BLOCK_SIZE];
182 uint32_t block_length;
186 #define hal_sha1_context_t hal_sha_context_t 188 #define hal_sha224_context_t hal_sha_context_t 190 #define hal_sha256_context_t hal_sha_context_t 192 #define hal_sha384_context_t hal_sha_context_t 194 #define hal_sha512_context_t hal_sha_context_t 212 hal_sha_status_t hal_sha1_init(hal_sha1_context_t *context);
224 hal_sha_status_t hal_sha1_append(hal_sha1_context_t *context, uint8_t *message, uint32_t length);
235 hal_sha_status_t hal_sha1_end(hal_sha1_context_t *context, uint8_t digest_message[HAL_SHA1_DIGEST_SIZE]);
247 hal_sha_status_t hal_sha224_init(hal_sha224_context_t *context);
260 hal_sha_status_t hal_sha224_append(hal_sha224_context_t *context, uint8_t *message, uint32_t length);
272 hal_sha_status_t hal_sha224_end(hal_sha224_context_t *context, uint8_t digest_message[HAL_SHA224_DIGEST_SIZE]);
284 hal_sha_status_t hal_sha256_init(hal_sha256_context_t *context);
296 hal_sha_status_t hal_sha256_append(hal_sha256_context_t *context, uint8_t *message, uint32_t length);
307 hal_sha_status_t hal_sha256_end(hal_sha256_context_t *context, uint8_t digest_message[HAL_SHA256_DIGEST_SIZE]);
319 hal_sha_status_t hal_sha384_init(hal_sha384_context_t *context);
331 hal_sha_status_t hal_sha384_append(hal_sha384_context_t *context, uint8_t *message, uint32_t length);
342 hal_sha_status_t hal_sha384_end(hal_sha384_context_t *context, uint8_t digest_message[HAL_SHA384_DIGEST_SIZE]);
354 hal_sha_status_t hal_sha512_init(hal_sha512_context_t *context);
366 hal_sha_status_t hal_sha512_append(hal_sha512_context_t *context, uint8_t *message, uint32_t length);
377 hal_sha_status_t hal_sha512_end(hal_sha512_context_t *context, uint8_t digest_message[HAL_SHA512_DIGEST_SIZE]);