feat(mlkem_top): KeyGen stage 2f (byteEncode12 -> ek, dk_pke)

Add ST_E stage: serialize t_hat[0..1] -> ek_mem[0..767], s_hat[0..1] ->
dkp_mem[0..767] via byteEncode12 (2 coeffs -> 3 bytes, LSB-first 12-bit:
b0=c0[7:0], b1={c1[3:0],c0[11:8]}, b2=c1[11:4]), then copy rho into
ek_mem[768..799]. Byte readback tap (dbg_byte_sel/idx -> dbg_byte_o).

Verified vs KAT-derived golden: ek 800B (== KAT pk) + dk_pke 768B
(== KAT sk prefix) byte-exact (20430 cyc). Completes Stage 2 datapath.
This commit is contained in:
2026-06-28 02:03:03 +08:00
parent a9e50ebc0c
commit 17914911c3
4 changed files with 1714 additions and 1 deletions

View File

@@ -0,0 +1,768 @@
fa
da
6a
79
a3
79
d2
cb
36
c8
56
45
0c
44
6f
44
84
b8
6a
56
0c
61
70
56
4d
00
2e
4b
74
07
3f
66
a6
fb
6a
57
bc
e1
be
92
a1
a1
b5
31
c6
1f
50
88
2a
00
84
50
85
42
a1
e1
c3
b3
a9
50
f2
07
2e
9a
16
54
4e
46
ca
20
28
4b
60
12
a6
2c
69
7a
c8
58
61
5e
18
1e
1e
a0
b5
5b
00
21
19
09
0b
7b
87
19
20
e9
b8
94
b0
7a
28
12
69
dc
a1
5f
af
4a
09
b0
00
4c
ac
61
a2
ce
a7
3f
28
05
7d
bf
12
19
d0
77
47
b3
81
cf
0d
e5
2a
ba
d3
0c
a0
f5
78
73
b2
bf
a0
12
bd
5b
c2
48
05
f3
65
7a
d0
ba
6b
c4
98
8c
d9
c6
de
49
2c
0d
43
3c
e5
aa
32
8b
d6
c6
cb
50
24
63
34
0d
c5
e0
29
d2
c8
71
3d
78
0f
31
f4
41
c2
4c
40
00
e5
67
99
a6
bc
66
b4
a1
93
c7
3c
ed
56
0f
8a
e4
3f
9b
20
75
ce
b7
78
97
6b
7f
11
1a
cb
38
a3
06
f2
b7
0a
2b
d8
75
2e
82
80
86
ba
0f
3e
81
1a
8c
3b
0d
5f
8b
90
72
15
9e
56
ba
1e
10
08
00
91
95
af
58
a8
5a
3e
27
1f
00
ac
25
cc
f3
23
3c
b8
71
67
68
ad
98
e7
b1
f2
89
0d
b6
17
0f
2b
61
4f
56
c1
93
38
71
ae
1a
41
30
24
ca
9a
21
37
79
5c
8a
2e
9e
15
28
0f
f1
08
ae
e3
28
23
57
51
e5
69
ca
63
a7
82
1f
29
ad
26
70
6b
23
12
24
d9
51
60
bd
75
22
dd
e0
bf
e6
e0
a8
26
19
74
88
5a
2f
df
21
7f
8c
16
c4
f6
7c
0e
9f
b2
a2
f7
03
0c
af
88
1d
2c
8b
2e
6a
68
63
90
61
92
10
8b
00
42
60
b0
ad
ea
07
c0
b3
49
d5
88
11
0a
9c
bb
69
9b
39
52
bb
11
2c
c7
c8
d9
a7
59
b9
55
4c
1f
99
1e
a1
f5
1f
4c
61
78
e4
38
27
c5
14
9b
da
07
7f
bd
76
9a
3b
81
8d
f7
1a
42
86
07
83
fd
23
3d
1b
26
a9
6a
57
3e
99
eb
91
5f
6b
c1
8d
81
3d
ed
14
a3
04
c1
35
8e
47
05
70
d2
54
78
a6
b6
ba
2a
c5
61
28
90
b5
a5
69
e5
26
33
42
45
9c
b9
ca
76
74
f2
28
39
69
54
af
74
8d
9d
50
13
53
42
71
39
04
cc
59
10
6e
0b
b2
19
42
b4
06
6f
86
bf
5d
9c
3c
f1
b6
c0
86
92
c5
b9
88
1b
29
97
10
88
a8
b4
15
e2
6c
4a
25
67
58
8b
2d
df
b6
8d
11
14
6f
cf
f0
b4
cb
79
c5
74
87
01
8c
25
54
1d
32
67
a1
06
40
e4
30
bf
eb
bb
4f
45
a7
99
c9
f5
54
d1
b6
9d
70
c7
9d
17
12
4f
9c
01
cf
3a
d6
56
9e
77
a4
e1
b6
57
04
70
10
06
45
2f
45
a7
2f
32
98
c6
60
82
0f
1c
20
6a
f7
00
c9
a6
21
92
3c
39
11
cd
51
8e
02
24
04
c8
70
c3
d3
b3
b6
83
1a
82
53
6a
31
70
33
4e
31
59
b0
c9
59
03
6c
43
2c
f5
b4
84
b1
2c
75
cc
c3
c9
6c
e3
28
fb
ba
79
e2
f7
24
78
9a
8d
27
f7
af
8b
b0
86
45
d2
c9
a3
e8
7f
80
42
c3
62
27
19
4a
3c
0e
14
d0
91
29
d0
69
d5
37
9d
bd
60
65
65
d9
15
a3
bc
98
82
e8
74
23
a0
62
00
0a
5f
4c
55
23
ec
94
47
ce
a1
64
3a
97
ad
33
c1
98
62
46
ad
91
e2
73
ce
32
ac
af
f4
53
35
99
65
37
07
21