Skip to content

Commit cc39abb

Browse files
committed
tst
Signed-off-by: Matthias J. Kannwischer <[email protected]>
1 parent f0e67f0 commit cc39abb

File tree

3 files changed

+8
-14
lines changed

3 files changed

+8
-14
lines changed

.github/actions/ct-test/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,4 @@ runs:
4141
- shell: ${{ env.SHELL }}
4242
run: |
4343
make clean
44-
tests func --exec-wrapper="valgrind --error-exitcode=1 ${{ inputs.valgrind_flags }}" --cflags="-DMLD_CONFIG_CT_TESTING_ENABLED -DNTESTS=5 ${{ inputs.cflags }}"
44+
tests func --exec-wrapper="valgrind --error-exitcode=1 ${{ inputs.valgrind_flags }}" --cflags="-DMLD_CONFIG_CT_TESTING_ENABLED -DNTESTS=5 ${{ inputs.cflags }} -flto"

mldsa/rounding.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ void mld_decompose(int32_t *a0, int32_t *a1, int32_t a)
2424
*a1 = (*a1 * 11275 + (1 << 23)) >> 24;
2525
cassert(*a1 >= 0 && *a1 <= 44);
2626

27-
*a1 = mld_ct_sel_int32(0, *a1, mld_ct_cmask_neg_i32(43 - *a1));
27+
*a1 ^= ((43 - *a1) >> 31) & *a1;
2828
cassert(*a1 >= 0 && *a1 <= 43);
2929
#else /* MLDSA_MODE == 2 */
3030
*a1 = (*a1 * 1025 + (1 << 21)) >> 22;
@@ -36,8 +36,7 @@ void mld_decompose(int32_t *a0, int32_t *a1, int32_t a)
3636
#endif /* MLDSA_MODE != 2 */
3737

3838
*a0 = a - *a1 * 2 * MLDSA_GAMMA2;
39-
*a0 = mld_ct_sel_int32(*a0 - MLDSA_Q, *a0,
40-
mld_ct_cmask_neg_i32((MLDSA_Q - 1) / 2 - *a0));
39+
*a0 -= (((MLDSA_Q - 1) / 2 - *a0) >> 31) & MLDSA_Q;
4140
}
4241

4342
unsigned int mld_make_hint(int32_t a0, int32_t a1)

mldsa/sign.c

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,7 @@ __contract__(
316316
uint8_t challenge_bytes[MLDSA_CTILDEBYTES];
317317
unsigned int n;
318318
mld_polyvecl y, z;
319-
mld_polyveck w2, w1, w0, h;
319+
mld_polyveck w1, w0, h;
320320
mld_poly cp;
321321
uint32_t z_invalid, w0_invalid, h_invalid;
322322

@@ -332,8 +332,8 @@ __contract__(
332332

333333
/* Decompose w and call the random oracle */
334334
mld_polyveck_caddq(&w1);
335-
mld_polyveck_decompose(&w2, &w0, &w1);
336-
mld_polyveck_pack_w1(sig, &w2);
335+
mld_polyveck_decompose(&w1, &w0, &w1);
336+
mld_polyveck_pack_w1(sig, &w1);
337337

338338
mld_H(challenge_bytes, MLDSA_CTILDEBYTES, mu, MLDSA_CRHBYTES, sig,
339339
MLDSA_K * MLDSA_POLYW1_PACKEDBYTES, NULL, 0);
@@ -364,7 +364,6 @@ __contract__(
364364
mld_zeroize(challenge_bytes, MLDSA_CTILDEBYTES);
365365
mld_zeroize(&y, sizeof(y));
366366
mld_zeroize(&z, sizeof(z));
367-
mld_zeroize(&w2, sizeof(w2));
368367
mld_zeroize(&w1, sizeof(w1));
369368
mld_zeroize(&w0, sizeof(w0));
370369
mld_zeroize(&h, sizeof(h));
@@ -395,7 +394,6 @@ __contract__(
395394
mld_zeroize(challenge_bytes, sizeof(challenge_bytes));
396395
mld_zeroize(&y, sizeof(y));
397396
mld_zeroize(&z, sizeof(z));
398-
mld_zeroize(&w2, sizeof(w2));
399397
mld_zeroize(&w1, sizeof(w1));
400398
mld_zeroize(&w0, sizeof(w0));
401399
mld_zeroize(&h, sizeof(h));
@@ -417,7 +415,6 @@ __contract__(
417415
mld_zeroize(challenge_bytes, MLDSA_CTILDEBYTES);
418416
mld_zeroize(&y, sizeof(y));
419417
mld_zeroize(&z, sizeof(z));
420-
mld_zeroize(&w2, sizeof(w2));
421418
mld_zeroize(&w1, sizeof(w1));
422419
mld_zeroize(&w0, sizeof(w0));
423420
mld_zeroize(&h, sizeof(h));
@@ -436,15 +433,14 @@ __contract__(
436433
* For a more detailed discussion, refer to https://eprint.iacr.org/2022/1406.
437434
*/
438435
MLD_CT_TESTING_DECLASSIFY(&w0, sizeof(w0));
439-
MLD_CT_TESTING_DECLASSIFY(&w2, sizeof(w2));
440-
n = mld_polyveck_make_hint(&h, &w0, &w2);
436+
MLD_CT_TESTING_DECLASSIFY(&w1, sizeof(w1));
437+
n = mld_polyveck_make_hint(&h, &w0, &w1);
441438
if (n > MLDSA_OMEGA)
442439
{
443440
/* FIPS 204. Section 3.6.3 Destruction of intermediate values. */
444441
mld_zeroize(challenge_bytes, MLDSA_CTILDEBYTES);
445442
mld_zeroize(&y, sizeof(y));
446443
mld_zeroize(&z, sizeof(z));
447-
mld_zeroize(&w2, sizeof(w2));
448444
mld_zeroize(&w1, sizeof(w1));
449445
mld_zeroize(&w0, sizeof(w0));
450446
mld_zeroize(&h, sizeof(h));
@@ -463,7 +459,6 @@ __contract__(
463459
mld_zeroize(challenge_bytes, MLDSA_CTILDEBYTES);
464460
mld_zeroize(&y, sizeof(y));
465461
mld_zeroize(&z, sizeof(z));
466-
mld_zeroize(&w2, sizeof(w2));
467462
mld_zeroize(&w1, sizeof(w1));
468463
mld_zeroize(&w0, sizeof(w0));
469464
mld_zeroize(&h, sizeof(h));

0 commit comments

Comments
 (0)