diff options
-rw-r--r-- | src/lib/libcrypto/sm3/sm3.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/lib/libcrypto/sm3/sm3.c b/src/lib/libcrypto/sm3/sm3.c index 615a5c8a07..9cbda402ac 100644 --- a/src/lib/libcrypto/sm3/sm3.c +++ b/src/lib/libcrypto/sm3/sm3.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: sm3.c,v 1.15 2024/03/28 11:22:58 jsing Exp $ */ | 1 | /* $OpenBSD: sm3.c,v 1.16 2024/03/28 12:04:38 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2018, Ribose Inc | 3 | * Copyright (c) 2018, Ribose Inc |
4 | * | 4 | * |
@@ -28,7 +28,6 @@ CTASSERT(sizeof(SM3_WORD) == sizeof(uint32_t)); | |||
28 | 28 | ||
29 | #ifndef OPENSSL_NO_SM3 | 29 | #ifndef OPENSSL_NO_SM3 |
30 | 30 | ||
31 | void SM3_block_data_order(SM3_CTX *c, const void *p, size_t num); | ||
32 | void SM3_transform(SM3_CTX *c, const unsigned char *data); | 31 | void SM3_transform(SM3_CTX *c, const unsigned char *data); |
33 | 32 | ||
34 | #define P0(X) (X ^ crypto_rol_u32(X, 9) ^ crypto_rol_u32(X, 17)) | 33 | #define P0(X) (X ^ crypto_rol_u32(X, 9) ^ crypto_rol_u32(X, 17)) |
@@ -61,8 +60,8 @@ void SM3_transform(SM3_CTX *c, const unsigned char *data); | |||
61 | #define R2(A, B, C, D, E, F, G, H, TJ, Wi, Wj) \ | 60 | #define R2(A, B, C, D, E, F, G, H, TJ, Wi, Wj) \ |
62 | ROUND(A, B, C, D, E, F, G, H, TJ, Wi, Wj, FF1, GG1) | 61 | ROUND(A, B, C, D, E, F, G, H, TJ, Wi, Wj, FF1, GG1) |
63 | 62 | ||
64 | void | 63 | static void |
65 | SM3_block_data_order(SM3_CTX *ctx, const void *_in, size_t num) | 64 | sm3_block_data_order(SM3_CTX *ctx, const void *_in, size_t num) |
66 | { | 65 | { |
67 | const uint8_t *in = _in; | 66 | const uint8_t *in = _in; |
68 | const SM3_WORD *in32; | 67 | const SM3_WORD *in32; |
@@ -295,7 +294,7 @@ SM3_Update(SM3_CTX *c, const void *data_, size_t len) | |||
295 | 294 | ||
296 | if (len >= SM3_CBLOCK || len + n >= SM3_CBLOCK) { | 295 | if (len >= SM3_CBLOCK || len + n >= SM3_CBLOCK) { |
297 | memcpy(p + n, data, SM3_CBLOCK - n); | 296 | memcpy(p + n, data, SM3_CBLOCK - n); |
298 | SM3_block_data_order(c, p, 1); | 297 | sm3_block_data_order(c, p, 1); |
299 | n = SM3_CBLOCK - n; | 298 | n = SM3_CBLOCK - n; |
300 | data += n; | 299 | data += n; |
301 | len -= n; | 300 | len -= n; |
@@ -310,7 +309,7 @@ SM3_Update(SM3_CTX *c, const void *data_, size_t len) | |||
310 | 309 | ||
311 | n = len / SM3_CBLOCK; | 310 | n = len / SM3_CBLOCK; |
312 | if (n > 0) { | 311 | if (n > 0) { |
313 | SM3_block_data_order(c, data, n); | 312 | sm3_block_data_order(c, data, n); |
314 | n *= SM3_CBLOCK; | 313 | n *= SM3_CBLOCK; |
315 | data += n; | 314 | data += n; |
316 | len -= n; | 315 | len -= n; |
@@ -328,7 +327,7 @@ LCRYPTO_ALIAS(SM3_Update); | |||
328 | void | 327 | void |
329 | SM3_Transform(SM3_CTX *c, const unsigned char *data) | 328 | SM3_Transform(SM3_CTX *c, const unsigned char *data) |
330 | { | 329 | { |
331 | SM3_block_data_order(c, data, 1); | 330 | sm3_block_data_order(c, data, 1); |
332 | } | 331 | } |
333 | 332 | ||
334 | int | 333 | int |
@@ -343,14 +342,14 @@ SM3_Final(unsigned char *md, SM3_CTX *c) | |||
343 | if (n > (SM3_CBLOCK - 8)) { | 342 | if (n > (SM3_CBLOCK - 8)) { |
344 | memset(p + n, 0, SM3_CBLOCK - n); | 343 | memset(p + n, 0, SM3_CBLOCK - n); |
345 | n = 0; | 344 | n = 0; |
346 | SM3_block_data_order(c, p, 1); | 345 | sm3_block_data_order(c, p, 1); |
347 | } | 346 | } |
348 | 347 | ||
349 | memset(p + n, 0, SM3_CBLOCK - 8 - n); | 348 | memset(p + n, 0, SM3_CBLOCK - 8 - n); |
350 | c->data[SM3_LBLOCK - 2] = htobe32(c->Nh); | 349 | c->data[SM3_LBLOCK - 2] = htobe32(c->Nh); |
351 | c->data[SM3_LBLOCK - 1] = htobe32(c->Nl); | 350 | c->data[SM3_LBLOCK - 1] = htobe32(c->Nl); |
352 | 351 | ||
353 | SM3_block_data_order(c, p, 1); | 352 | sm3_block_data_order(c, p, 1); |
354 | c->num = 0; | 353 | c->num = 0; |
355 | memset(p, 0, SM3_CBLOCK); | 354 | memset(p, 0, SM3_CBLOCK); |
356 | 355 | ||