From 28d466cb10255e9c53b1b6facaaf4cf6c4b13a65 Mon Sep 17 00:00:00 2001 From: David Garske Date: Wed, 30 Oct 2019 13:34:57 -0700 Subject: [PATCH] Fix to ensure 4-byte alignment is default for MMCAU with SHA1, SHA256 and MD5. --- wolfcrypt/src/md5.c | 5 +++-- wolfcrypt/src/sha.c | 5 +++-- wolfcrypt/src/sha256.c | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/wolfcrypt/src/md5.c b/wolfcrypt/src/md5.c index 062122442..c52ebdbc1 100644 --- a/wolfcrypt/src/md5.c +++ b/wolfcrypt/src/md5.c @@ -115,8 +115,9 @@ int wc_Md5Final(wc_Md5* md5, byte* hash) #define XTRANSFORM(S,B) Transform((S), (B)) #define XTRANSFORM_LEN(S,B,L) Transform_Len((S), (B), (L)) -#if !defined(WC_HASH_DATA_ALIGNMENT) && defined(WOLFSSL_MMCAU_ALIGNMENT) - #define WC_HASH_DATA_ALIGNMENT WOLFSSL_MMCAU_ALIGNMENT +#ifndef WC_HASH_DATA_ALIGNMENT + /* these hardware API's require 4 byte (word32) alignment */ + #define WC_HASH_DATA_ALIGNMENT 4 #endif static int Transform(wc_Md5* md5, const byte* data) diff --git a/wolfcrypt/src/sha.c b/wolfcrypt/src/sha.c index 40ac18e5f..216a3bf22 100644 --- a/wolfcrypt/src/sha.c +++ b/wolfcrypt/src/sha.c @@ -209,8 +209,9 @@ #define XTRANSFORM(S,B) Transform((S),(B)) #define XTRANSFORM_LEN(S,B,L) Transform_Len((S),(B),(L)) - #if !defined(WC_HASH_DATA_ALIGNMENT) && defined(WOLFSSL_MMCAU_ALIGNMENT) - #define WC_HASH_DATA_ALIGNMENT WOLFSSL_MMCAU_ALIGNMENT + #ifndef WC_HASH_DATA_ALIGNMENT + /* these hardware API's require 4 byte (word32) alignment */ + #define WC_HASH_DATA_ALIGNMENT 4 #endif static int InitSha(wc_Sha* sha) diff --git a/wolfcrypt/src/sha256.c b/wolfcrypt/src/sha256.c index 14baf4151..5271e2a53 100644 --- a/wolfcrypt/src/sha256.c +++ b/wolfcrypt/src/sha256.c @@ -394,8 +394,9 @@ static int InitSha256(wc_Sha256* sha256) #define XTRANSFORM(S, D) Transform_Sha256((S),(D)) #define XTRANSFORM_LEN(S, D, L) Transform_Sha256_Len((S),(D),(L)) - #if !defined(WC_HASH_DATA_ALIGNMENT) && defined(WOLFSSL_MMCAU_ALIGNMENT) - #define WC_HASH_DATA_ALIGNMENT WOLFSSL_MMCAU_ALIGNMENT + #ifndef WC_HASH_DATA_ALIGNMENT + /* these hardware API's require 4 byte (word32) alignment */ + #define WC_HASH_DATA_ALIGNMENT 4 #endif int wc_InitSha256_ex(wc_Sha256* sha256, void* heap, int devId)