1
1
mirror of https://github.com/henrydcase/pqc.git synced 2024-11-22 23:48:58 +00:00

Merge pull request #188 from PQClean/dilithium

Polish Dilithium
This commit is contained in:
Thom Wiggers 2019-06-12 08:58:23 +02:00 committed by GitHub
commit e4e10990dc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 33 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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);