diff options
author | David Benjamin <davidben@google.com> | 2021-03-29 12:54:16 -0400 |
---|---|---|
committer | Adam Langley <agl@google.com> | 2021-04-02 16:33:15 +0000 |
commit | ca4598781a37b6d3f2f7a63593229cd7570a194f (patch) | |
tree | 665d67cfcf443f5e0a3c8546dbea7b4ca3950f37 /decrepit | |
parent | 8d4c8fc41be567bca17ce7c15304dc06539a060a (diff) | |
download | boringssl-ca4598781a37b6d3f2f7a63593229cd7570a194f.zip boringssl-ca4598781a37b6d3f2f7a63593229cd7570a194f.tar.gz boringssl-ca4598781a37b6d3f2f7a63593229cd7570a194f.tar.bz2 |
Move load/store helpers to crypto/internal.h.
We have loads of variations of these. Align them in one set. This avoids
the HOST_* macros defined by md32_common.h, so it'll be a little easier
to make it a more conventional header.
Change-Id: Id47fe7b51a8f961bd87839f8146d8a5aa8027aa6
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/46425
Reviewed-by: Adam Langley <agl@google.com>
Diffstat (limited to 'decrepit')
-rw-r--r-- | decrepit/ripemd/internal.h | 28 | ||||
-rw-r--r-- | decrepit/ripemd/ripemd.c | 66 |
2 files changed, 48 insertions, 46 deletions
diff --git a/decrepit/ripemd/internal.h b/decrepit/ripemd/internal.h index 089be15..6be563d 100644 --- a/decrepit/ripemd/internal.h +++ b/decrepit/ripemd/internal.h @@ -59,6 +59,8 @@ #include <openssl/base.h> +#include "../../crypto/internal.h" + #if defined(__cplusplus) extern "C" { #endif @@ -76,20 +78,20 @@ static void ripemd160_block_data_order(uint32_t h[5], const uint8_t *data, #define HASH_UPDATE RIPEMD160_Update #define HASH_TRANSFORM RIPEMD160_Transform #define HASH_FINAL RIPEMD160_Final -#define HASH_MAKE_STRING(c, s) \ - do { \ - unsigned long ll; \ - ll = (c)->h[0]; \ - HOST_l2c(ll, (s)); \ - ll = (c)->h[1]; \ - HOST_l2c(ll, (s)); \ - ll = (c)->h[2]; \ - HOST_l2c(ll, (s)); \ - ll = (c)->h[3]; \ - HOST_l2c(ll, (s)); \ - ll = (c)->h[4]; \ - HOST_l2c(ll, (s)); \ +#define HASH_MAKE_STRING(c, s) \ + do { \ + CRYPTO_store_u32_le((s), (c)->h[0]); \ + (s) += 4; \ + CRYPTO_store_u32_le((s), (c)->h[1]); \ + (s) += 4; \ + CRYPTO_store_u32_le((s), (c)->h[2]); \ + (s) += 4; \ + CRYPTO_store_u32_le((s), (c)->h[3]); \ + (s) += 4; \ + CRYPTO_store_u32_le((s), (c)->h[4]); \ + (s) += 4; \ } while (0) + #define HASH_BLOCK_DATA_ORDER ripemd160_block_data_order #include "../../crypto/fipsmodule/digest/md32_common.h" diff --git a/decrepit/ripemd/ripemd.c b/decrepit/ripemd/ripemd.c index 17b3fdf..f0c87cf 100644 --- a/decrepit/ripemd/ripemd.c +++ b/decrepit/ripemd/ripemd.c @@ -74,7 +74,7 @@ int RIPEMD160_Init(RIPEMD160_CTX *ctx) { static void ripemd160_block_data_order(uint32_t h[5], const uint8_t *data, size_t num) { uint32_t A, B, C, D, E; - uint32_t a, b, c, d, e, l; + uint32_t a, b, c, d, e; uint32_t XX0, XX1, XX2, XX3, XX4, XX5, XX6, XX7, XX8, XX9, XX10, XX11, XX12, XX13, XX14, XX15; #define X(i) XX##i @@ -86,52 +86,52 @@ static void ripemd160_block_data_order(uint32_t h[5], const uint8_t *data, D = h[3]; E = h[4]; - HOST_c2l(data, l); - X(0) = l; - HOST_c2l(data, l); - X(1) = l; + X(0) = CRYPTO_load_u32_le(data); + data += 4; + X(1) = CRYPTO_load_u32_le(data); + data += 4; RIP1(A, B, C, D, E, WL00, SL00); - HOST_c2l(data, l); - X(2) = l; + X(2) = CRYPTO_load_u32_le(data); + data += 4; RIP1(E, A, B, C, D, WL01, SL01); - HOST_c2l(data, l); - X(3) = l; + X(3) = CRYPTO_load_u32_le(data); + data += 4; RIP1(D, E, A, B, C, WL02, SL02); - HOST_c2l(data, l); - X(4) = l; + X(4) = CRYPTO_load_u32_le(data); + data += 4; RIP1(C, D, E, A, B, WL03, SL03); - HOST_c2l(data, l); - X(5) = l; + X(5) = CRYPTO_load_u32_le(data); + data += 4; RIP1(B, C, D, E, A, WL04, SL04); - HOST_c2l(data, l); - X(6) = l; + X(6) = CRYPTO_load_u32_le(data); + data += 4; RIP1(A, B, C, D, E, WL05, SL05); - HOST_c2l(data, l); - X(7) = l; + X(7) = CRYPTO_load_u32_le(data); + data += 4; RIP1(E, A, B, C, D, WL06, SL06); - HOST_c2l(data, l); - X(8) = l; + X(8) = CRYPTO_load_u32_le(data); + data += 4; RIP1(D, E, A, B, C, WL07, SL07); - HOST_c2l(data, l); - X(9) = l; + X(9) = CRYPTO_load_u32_le(data); + data += 4; RIP1(C, D, E, A, B, WL08, SL08); - HOST_c2l(data, l); - X(10) = l; + X(10) = CRYPTO_load_u32_le(data); + data += 4; RIP1(B, C, D, E, A, WL09, SL09); - HOST_c2l(data, l); - X(11) = l; + X(11) = CRYPTO_load_u32_le(data); + data += 4; RIP1(A, B, C, D, E, WL10, SL10); - HOST_c2l(data, l); - X(12) = l; + X(12) = CRYPTO_load_u32_le(data); + data += 4; RIP1(E, A, B, C, D, WL11, SL11); - HOST_c2l(data, l); - X(13) = l; + X(13) = CRYPTO_load_u32_le(data); + data += 4; RIP1(D, E, A, B, C, WL12, SL12); - HOST_c2l(data, l); - X(14) = l; + X(14) = CRYPTO_load_u32_le(data); + data += 4; RIP1(C, D, E, A, B, WL13, SL13); - HOST_c2l(data, l); - X(15) = l; + X(15) = CRYPTO_load_u32_le(data); + data += 4; RIP1(B, C, D, E, A, WL14, SL14); RIP1(A, B, C, D, E, WL15, SL15); |