From 53cd7522a0761a38f6d85921b77a43d99998d7da Mon Sep 17 00:00:00 2001 From: Sun Yimin Date: Tue, 21 May 2024 15:46:59 +0800 Subject: [PATCH] kdf-sm3: fix buffer length issue --- sm3/kdf_mult_asm.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sm3/kdf_mult_asm.go b/sm3/kdf_mult_asm.go index 3b1ef68..fd36e09 100644 --- a/sm3/kdf_mult_asm.go +++ b/sm3/kdf_mult_asm.go @@ -28,9 +28,11 @@ func copyResult(result []byte, dig *[8]uint32) { binary.BigEndian.PutUint32(result[28:], dig[7]) } -// state || words -// 1216 = 68 * 4 * 4 + 8 * 4 * 4 = 76 * 16 -const preallocSize = 1216 +// p || state || words +// p = 64 * 4 * 2 = 512 +// state = 8 * 16 = 128 +// words = 68 * 16 = 1088 +const preallocSize = 1728 func kdfBy4(baseMD *digest, keyLen int, limit int) []byte { if limit < 4 {