diff --git a/crypto_sign/dilithium2/clean/sign.c b/crypto_sign/dilithium2/clean/sign.c index 7d643f94..4fc469ef 100644 --- a/crypto_sign/dilithium2/clean/sign.c +++ b/crypto_sign/dilithium2/clean/sign.c @@ -180,11 +180,6 @@ int PQCLEAN_DILITHIUM2_CLEAN_crypto_sign_signature( shake256_inc_finalize(&state); shake256_inc_squeeze(mu, CRHBYTES, &state); - - for (i = 0; i < CRHBYTES; ++i) { - sig[CRYPTO_BYTES - CRHBYTES + i] = tr[i]; - } - crh(rhoprime, key, SEEDBYTES + CRHBYTES); /* Expand matrix and transform vectors */ @@ -286,19 +281,15 @@ int PQCLEAN_DILITHIUM2_CLEAN_crypto_sign_verify( } /* Compute CRH(CRH(rho, t1), msg) */ - shake256incctx state; - shake256_inc_init(&state); - shake256_inc_absorb(&state, pk, CRYPTO_PUBLICKEYBYTES); - shake256_inc_finalize(&state); - shake256_inc_squeeze(mu, CRHBYTES, &state); + crh(mu, pk, CRYPTO_PUBLICKEYBYTES); + shake256incctx state; shake256_inc_init(&state); shake256_inc_absorb(&state, mu, CRHBYTES); shake256_inc_absorb(&state, m, mlen); shake256_inc_finalize(&state); shake256_inc_squeeze(mu, CRHBYTES, &state); - /* Matrix-vector multiplication; compute Az - c2^dt1 */ PQCLEAN_DILITHIUM2_CLEAN_expand_mat(mat, rho); diff --git a/crypto_sign/dilithium3/clean/sign.c b/crypto_sign/dilithium3/clean/sign.c index 1e0a8523..057ee1bb 100644 --- a/crypto_sign/dilithium3/clean/sign.c +++ b/crypto_sign/dilithium3/clean/sign.c @@ -180,11 +180,6 @@ int PQCLEAN_DILITHIUM3_CLEAN_crypto_sign_signature( shake256_inc_finalize(&state); shake256_inc_squeeze(mu, CRHBYTES, &state); - - for (i = 0; i < CRHBYTES; ++i) { - sig[CRYPTO_BYTES - CRHBYTES + i] = tr[i]; - } - crh(rhoprime, key, SEEDBYTES + CRHBYTES); /* Expand matrix and transform vectors */ @@ -286,19 +281,15 @@ int PQCLEAN_DILITHIUM3_CLEAN_crypto_sign_verify( } /* Compute CRH(CRH(rho, t1), msg) */ - shake256incctx state; - shake256_inc_init(&state); - shake256_inc_absorb(&state, pk, CRYPTO_PUBLICKEYBYTES); - shake256_inc_finalize(&state); - shake256_inc_squeeze(mu, CRHBYTES, &state); + crh(mu, pk, CRYPTO_PUBLICKEYBYTES); + shake256incctx state; shake256_inc_init(&state); shake256_inc_absorb(&state, mu, CRHBYTES); shake256_inc_absorb(&state, m, mlen); shake256_inc_finalize(&state); shake256_inc_squeeze(mu, CRHBYTES, &state); - /* Matrix-vector multiplication; compute Az - c2^dt1 */ PQCLEAN_DILITHIUM3_CLEAN_expand_mat(mat, rho); diff --git a/crypto_sign/dilithium4/clean/sign.c b/crypto_sign/dilithium4/clean/sign.c index 4e7354e1..3961bb7c 100644 --- a/crypto_sign/dilithium4/clean/sign.c +++ b/crypto_sign/dilithium4/clean/sign.c @@ -180,11 +180,6 @@ int PQCLEAN_DILITHIUM4_CLEAN_crypto_sign_signature( shake256_inc_finalize(&state); shake256_inc_squeeze(mu, CRHBYTES, &state); - - for (i = 0; i < CRHBYTES; ++i) { - sig[CRYPTO_BYTES - CRHBYTES + i] = tr[i]; - } - crh(rhoprime, key, SEEDBYTES + CRHBYTES); /* Expand matrix and transform vectors */ @@ -286,19 +281,15 @@ int PQCLEAN_DILITHIUM4_CLEAN_crypto_sign_verify( } /* Compute CRH(CRH(rho, t1), msg) */ - shake256incctx state; - shake256_inc_init(&state); - shake256_inc_absorb(&state, pk, CRYPTO_PUBLICKEYBYTES); - shake256_inc_finalize(&state); - shake256_inc_squeeze(mu, CRHBYTES, &state); + crh(mu, pk, CRYPTO_PUBLICKEYBYTES); + shake256incctx state; shake256_inc_init(&state); shake256_inc_absorb(&state, mu, CRHBYTES); shake256_inc_absorb(&state, m, mlen); shake256_inc_finalize(&state); shake256_inc_squeeze(mu, CRHBYTES, &state); - /* Matrix-vector multiplication; compute Az - c2^dt1 */ PQCLEAN_DILITHIUM4_CLEAN_expand_mat(mat, rho);