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.6 KiB
Plaintext
2 lines
1.6 KiB
Plaintext
f5e24e4e14b6653665ca0289a3728cbba228fe116726c1251e9992a9f0060934645b262324acb5c6b57d26e39226e22cf0c33f7ff5a4d979234f2b7949f566db66c35b273dc9778a64f2bcfe914c0d81527d418a112579e5d08b1c429587323425d7a78351453457cd868345afa16218332002c95d8406c14938c039693d6c1216afb9983099031109be0193a1b6e12436103fdd084a7b84380acc35817831c0558d4f8082ba58b9174841a840c2964853656c2327f7952132c6dd129dbf5023ce1b3a92f7736fc19528b71d21a27c3d7b7451d5a8fc02a786f75545d2451549bc95dbbb87724f72d2adf1d619b1b94386c14c37128c2c1c60f4c02b28cc536c508a370ba9a2f4618cf1c64f355684f25a6ee99d3f89ce0136b47d7b26f0e6a60cc94fc4573834172a3efb84c9fb66401b76c90007e8f7b19b513292138b79147a364680dbcb211762358cd32a3c44720df6ba22dc8d3019c0c4803f2a567d9ebc6a5bc012d1f634719891da1324eaf228379264b3da955daa3a2fb8836894c8e80006782141257c254d905a238a6b41ac3c76cb87ea342728ea6e48bc66816842ff2455e85c67f8c48874f469bda56fdd83a57dd4076798a3d854ce40bcc6b349a198fc6fa4713c94794946e249201779709ab7510459e2fa325bb3c816b2af3d9caf36fa5c217379cfeb797a9080fe23374fa02f047c775cb4602b7859f7d79c0af73f11b42847915b3d3246e1044031f61baad987f3c6cc93280b23c8390e48a2108092c7b419bae13ae50067813a99b5da80e58005c6965ffe453ae573501b242124515257c406278c2f7f394574894445c612e4114f0a60404cda976fa63b9a285781e0ab3d77ad2b002f1c885ef746610243b751ab4bcea388027c41063b01679136087364cfdb1392faabb9e20a5177b94bf5a393b7bdd83a7d82343173b8781b44334484354b7179b225aabee99f230795d1fb248aa5615e85c0adb49b7f5104712b86d4034d457975d41b7c88c0664e091e47e9798303c3901583c13606eed7883a537ac0e147068b8c4ac056fba108ff1083a9186ec05b338627a8dce43e5c41410cd6bb35a330d20b77bb3a9034b4e3c443bbeb41b6691f11ab11
|