Browse Source

Merge pull request #188 from PQClean/dilithium

Polish Dilithium
master
Thom Wiggers 5 years ago
committed by GitHub
parent
commit
e4e10990dc
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 33 deletions
  1. +2
    -11
      crypto_sign/dilithium2/clean/sign.c
  2. +2
    -11
      crypto_sign/dilithium3/clean/sign.c
  3. +2
    -11
      crypto_sign/dilithium4/clean/sign.c

+ 2
- 11
crypto_sign/dilithium2/clean/sign.c 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);



+ 2
- 11
crypto_sign/dilithium3/clean/sign.c 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);



+ 2
- 11
crypto_sign/dilithium4/clean/sign.c 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);



Loading…
Cancel
Save