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.
2 lines
1.5 KiB
Plaintext
2 lines
1.5 KiB
Plaintext
924966384661573c02149787d78c17609c3959f9c6b246ab30d04ea75c95064a8369e8c5845ac38d13865bf5b0db2802f9b52159938cbeac6659536066d51657344ccda1163ad9c221cba444d4ca5f4b2c5f19cc2e5133934959bdcaae1072448571c1fc64ca278ac21fb3cc8258c8ee8a722841397f34cbc968b45bc67bbc6c377993bbbec9b63ad02c0e36c6343c6f16557405631ceb099bccf47760531671cb1ad59160c1199c7be7888639b3d6172b0f968dc7c8c14de6425c7a6fe075ca1f897a9f190f6216461d58a7535b3829e27218f17f3a437e282a9216c33a8cc03affd846cf433a4f263495741bd5d517d0237cb52a6f19b352743b9ff248cf06e1282c0c1dc9105f2f57532e87971503a8a6071b51002e9e39ca27e14636745eeac3611e589b7d6592ba878b3e8c229cc71e30b8583143bc2c516d614bb4b5e41abbfb521e24bb2d79c0f03684d6bb1c33c7b7c334c0ffcca3a687ce99fa57be6113fb09a0b8fb8d58d87886abbc5b6c0482852db9915a74bc3dcd394fe215ce5e7651cd4b425947b61d3887d4e42155f50afba48a51c0333a4a2447260c5dd347e16b899f297166c9262c6ac03cda47489bcc4da3c8934b69aadc28d0f93b3767bd02fb03cce534f22b024e07709316cc7bd0a118b314423a17be6a302c543affbc8a6fb4af5c22a71a7516b4132784c3632f811fb5005dae53041ff0ad98d48020351b0807692d563efef08e52d107e49c0d3574cd208541fe17456da33cfd08c0bb6a7182b39af7fa02b2ba02f7cac8338ab05366b9f85544fdbb2aa4f790742a6dabd83c6bfbb4247317fc7635cf27ac0e86afaebb76c8d0394cd45a64f2a7ce353f75821fa412c31d2c8024fb18e14c738881ba30c521fce0ba887b03b0993d64264b8bd801d569a096a3a7945789018952274915fcc17acba45d6050ba0bc8ad0b231f6ce677a934ce27767222f04ea743403427674539a006c81403a360fe633b6b4085004d8a6c91cfe1ca8f7023115d95adf0d10bd287a900fc4ee1da84ec05809bf673d16b7f8a6a024e49678b0c622c8b6a8c7553b30a44596392
|