@@ -316,7 +316,7 @@ __contract__(
316
316
uint8_t challenge_bytes [MLDSA_CTILDEBYTES ];
317
317
unsigned int n ;
318
318
mld_polyvecl y , z ;
319
- mld_polyveck w2 , w1 , w0 , h ;
319
+ mld_polyveck w1 , w0 , h ;
320
320
mld_poly cp ;
321
321
uint32_t z_invalid , w0_invalid , h_invalid ;
322
322
@@ -332,8 +332,8 @@ __contract__(
332
332
333
333
/* Decompose w and call the random oracle */
334
334
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 );
337
337
338
338
mld_H (challenge_bytes , MLDSA_CTILDEBYTES , mu , MLDSA_CRHBYTES , sig ,
339
339
MLDSA_K * MLDSA_POLYW1_PACKEDBYTES , NULL , 0 );
@@ -364,7 +364,6 @@ __contract__(
364
364
mld_zeroize (challenge_bytes , MLDSA_CTILDEBYTES );
365
365
mld_zeroize (& y , sizeof (y ));
366
366
mld_zeroize (& z , sizeof (z ));
367
- mld_zeroize (& w2 , sizeof (w2 ));
368
367
mld_zeroize (& w1 , sizeof (w1 ));
369
368
mld_zeroize (& w0 , sizeof (w0 ));
370
369
mld_zeroize (& h , sizeof (h ));
@@ -395,7 +394,6 @@ __contract__(
395
394
mld_zeroize (challenge_bytes , sizeof (challenge_bytes ));
396
395
mld_zeroize (& y , sizeof (y ));
397
396
mld_zeroize (& z , sizeof (z ));
398
- mld_zeroize (& w2 , sizeof (w2 ));
399
397
mld_zeroize (& w1 , sizeof (w1 ));
400
398
mld_zeroize (& w0 , sizeof (w0 ));
401
399
mld_zeroize (& h , sizeof (h ));
@@ -417,7 +415,6 @@ __contract__(
417
415
mld_zeroize (challenge_bytes , MLDSA_CTILDEBYTES );
418
416
mld_zeroize (& y , sizeof (y ));
419
417
mld_zeroize (& z , sizeof (z ));
420
- mld_zeroize (& w2 , sizeof (w2 ));
421
418
mld_zeroize (& w1 , sizeof (w1 ));
422
419
mld_zeroize (& w0 , sizeof (w0 ));
423
420
mld_zeroize (& h , sizeof (h ));
@@ -436,15 +433,14 @@ __contract__(
436
433
* For a more detailed discussion, refer to https://eprint.iacr.org/2022/1406.
437
434
*/
438
435
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 );
441
438
if (n > MLDSA_OMEGA )
442
439
{
443
440
/* FIPS 204. Section 3.6.3 Destruction of intermediate values. */
444
441
mld_zeroize (challenge_bytes , MLDSA_CTILDEBYTES );
445
442
mld_zeroize (& y , sizeof (y ));
446
443
mld_zeroize (& z , sizeof (z ));
447
- mld_zeroize (& w2 , sizeof (w2 ));
448
444
mld_zeroize (& w1 , sizeof (w1 ));
449
445
mld_zeroize (& w0 , sizeof (w0 ));
450
446
mld_zeroize (& h , sizeof (h ));
@@ -463,7 +459,6 @@ __contract__(
463
459
mld_zeroize (challenge_bytes , MLDSA_CTILDEBYTES );
464
460
mld_zeroize (& y , sizeof (y ));
465
461
mld_zeroize (& z , sizeof (z ));
466
- mld_zeroize (& w2 , sizeof (w2 ));
467
462
mld_zeroize (& w1 , sizeof (w1 ));
468
463
mld_zeroize (& w0 , sizeof (w0 ));
469
464
mld_zeroize (& h , sizeof (h ));
0 commit comments