feat(sha3): multi-block SHA3-256 absorb for H(ek); KeyGen golden vectors
Stage 0+1 of mlkem_top KeyGen integration: - sha3_top: add multi-block SHA3-256 absorb FSM (mb_en/mb_block_i/mb_valid_i/ mb_last_i/mb_ready_o). Caller pre-pads final block; module does pure absorb loop (state^=block; Keccak-p). Single-block G/H/J paths bit-identical when mb_en=0. Sticky digest register holds output until consumer acks. - tb_sha3_mb_xsim: self-checking TB streams 800B ek (6 blocks) -> H(ek), verified == hashlib.sha3_256. Proper valid/ready handshake (no force). - Existing G/H/J TBs (xsim + Verilator) tie off mb_* ports; both frameworks regress clean (Verilator 25/25, XSIM G/H/J + keccak + 7-vec + multiblock). - test_framework/modules/mlkem_keygen/golden: full 256-coeff per-stage intermediates (rho/sigma, A_hat, s/e, s_hat/e_hat, t_hat, ek, dk_pke) for KAT count=0..4, dumped by ml-kem-r and self-verified against NIST KAT.
This commit is contained in:
@@ -0,0 +1 @@
|
||||
fada6a79a379d2cb36c856450c446f4484b86a560c6170564d002e4b74073f66a6fb6a57bce1be92a1a1b531c61f50882a0084508542a1e1c3b3a950f2072e9a16544e46ca20284b6012a62c697ac858615e181e1ea0b55b002119090b7b871920e9b894b07a281269dca15faf4a09b0004cac61a2cea73f28057dbf1219d07747b381cf0de52abad30ca0f57873b2bfa012bd5bc24805f3657ad0ba6bc4988cd9c6de492c0d433ce5aa328bd6c6cb502463340dc5e029d2c8713d780f31f441c24c4000e56799a6bc66b4a193c73ced560f8ae43f9b2075ceb778976b7f111acb38a306f2b70a2bd8752e828086ba0f3e811a8c3b0d5f8b9072159e56ba1e1008009195af58a85a3e271f00ac25ccf3233cb8716768ad98e7b1f2890db6170f2b614f56c1933871ae1a413024ca9a2137795c8a2e9e15280ff108aee328235751e569ca63a7821f29ad26706b231224d95160bd7522dde0bfe6e0a8261974885a2fdf217f8c16c4f67c0e9fb2a2f7030caf881d2c8b2e6a6863906192108b004260b0adea07c0b349d588110a9cbb699b3952bb112cc7c8d9a759b9554c1f991ea1f51f4c6178e43827c5149bda077fbd769a3b818df71a42860783fd233d1b26a96a573e99eb915f6bc18d813ded14a304c1358e470570d25478a6b6ba2ac5612890b5a569e5263342459cb9ca7674f228396954af748d9d50135342713904cc59106e0bb21942b4066f86bf5d9c3cf1b6c08692c5b9881b29971088a8b415e26c4a2567588b2ddfb68d11146fcff0b4cb79c57487018c25541d3267a10640e430bfebbb4f45a799c9f554d1b69d70c79d17124f9c01cf3ad6569e77a4e1b65704701006452f45a72f3298c660820f1c206af700c9a621923c3911cd518e022404c870c3d3b3b6831a82536a3170334e3159b0c959036c432cf5b484b12c75ccc3c96ce328fbba79e2f724789a8d27f7af8bb08645d2c9a3e87f8042c36227194a3c0e14d09129d069d5379dbd606565d915a3bc9882e87423a062000a5f4c5523ec9447cea1643a97ad33c1986246ad91e273ce32acaff453359965370721
|
||||
Reference in New Issue
Block a user