From 5b4622ae10c5b1d55850c99752b390e0917e2626 Mon Sep 17 00:00:00 2001 From: Indawn Date: Tue, 27 Dec 2022 18:55:27 +0800 Subject: [PATCH 1/2] =?UTF-8?q?SM4=5FRNG=5FUpdate=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=BC=82=E6=88=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/sm4_rng.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/sm4_rng.c b/src/sm4_rng.c index e6958bc9..fc109568 100644 --- a/src/sm4_rng.c +++ b/src/sm4_rng.c @@ -121,6 +121,9 @@ int sm4_rng_update(SM4_RNG *rng, const uint8_t seed[32]) sm4_encrypt(&sm4_key, rng->V, rng->K); be_incr(rng->V); sm4_encrypt(&sm4_key, rng->V, rng->V); + + memxor(rng->K, seed, 16); + memxor(rng->V, seed + 16, 16); return 1; } From 697249efe2874083079cabccb47edcce22f37c73 Mon Sep 17 00:00:00 2001 From: Indawn Date: Wed, 28 Dec 2022 15:26:58 +0800 Subject: [PATCH 2/2] =?UTF-8?q?sm4=5Frng=5Freseed=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=EF=BC=9A=E9=87=8D=E7=BD=AE=E8=BE=93=E5=87=BA=E8=AE=A1=E6=95=B0?= =?UTF-8?q?=E5=92=8C=E6=9C=80=E8=BF=91=E8=BE=93=E5=87=BA=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/sm4_rng.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/sm4_rng.c b/src/sm4_rng.c index fc109568..ed11596b 100644 --- a/src/sm4_rng.c +++ b/src/sm4_rng.c @@ -185,7 +185,9 @@ int sm4_rng_reseed(SM4_RNG *rng, const uint8_t *addin, size_t addin_len) sm4_df_finish(&df_ctx, seed); sm4_rng_update(rng, seed); - + + rng->reseed_counter = 1; + rng->last_reseed_time = time(NULL); gmssl_secure_clear(&df_ctx, sizeof(df_ctx)); gmssl_secure_clear(entropy, sizeof(entropy));