@@ -98,6 +98,9 @@ fn __indcpa_enc(stack u64 sctp, reg ptr u8[32] msgp, reg u64 pkp, reg ptr u8[KYB
98
98
reg u64 ctp;
99
99
reg u16 t;
100
100
reg u8 nonce;
101
+ stack ptr u8[KYBER_SYMBYTES] noiseseed_s;
102
+
103
+ noiseseed_s = noiseseed;
101
104
102
105
pkpv = __polyvec_frombytes(pkp);
103
106
@@ -116,20 +119,31 @@ fn __indcpa_enc(stack u64 sctp, reg ptr u8[32] msgp, reg u64 pkp, reg ptr u8[KYB
116
119
117
120
aat = __gen_matrix(publicseed, 1);
118
121
122
+ noiseseed = noiseseed_s;
119
123
nonce = 0;
120
124
sp[0:KYBER_N] = _poly_getnoise(sp[0:KYBER_N], noiseseed, nonce);
125
+
126
+ noiseseed = noiseseed_s;
121
127
nonce = 1;
122
128
sp[KYBER_N:KYBER_N] = _poly_getnoise(sp[KYBER_N:KYBER_N], noiseseed, nonce);
129
+
130
+ noiseseed = noiseseed_s;
123
131
nonce = 2;
124
132
sp[2*KYBER_N:KYBER_N] = _poly_getnoise(sp[2*KYBER_N:KYBER_N], noiseseed, nonce);
125
133
134
+ noiseseed = noiseseed_s;
126
135
nonce = 3;
127
136
ep[0:KYBER_N] = _poly_getnoise(ep[0:KYBER_N], noiseseed, nonce);
137
+
138
+ noiseseed = noiseseed_s;
128
139
nonce = 4;
129
140
ep[KYBER_N:KYBER_N] = _poly_getnoise(ep[KYBER_N:KYBER_N], noiseseed, nonce);
141
+
142
+ noiseseed = noiseseed_s;
130
143
nonce = 5;
131
144
ep[2*KYBER_N:KYBER_N] = _poly_getnoise(ep[2*KYBER_N:KYBER_N], noiseseed, nonce);
132
145
146
+ noiseseed = noiseseed_s;
133
147
nonce = 6;
134
148
epp = _poly_getnoise(epp, noiseseed, nonce);
135
149
@@ -167,6 +181,9 @@ fn __iindcpa_enc(reg ptr u8[KYBER_CT_LEN] ctp, reg ptr u8[32] msgp, reg u64 pkp,
167
181
reg u16 t;
168
182
reg u8 nonce;
169
183
stack ptr u8[KYBER_CT_LEN] sctp;
184
+ stack ptr u8[KYBER_SYMBYTES] noiseseed_s;
185
+
186
+ noiseseed_s = noiseseed;
170
187
171
188
sctp = ctp;
172
189
@@ -187,20 +204,31 @@ fn __iindcpa_enc(reg ptr u8[KYBER_CT_LEN] ctp, reg ptr u8[32] msgp, reg u64 pkp,
187
204
188
205
aat = __gen_matrix(publicseed, 1);
189
206
207
+ noiseseed = noiseseed_s;
190
208
nonce = 0;
191
209
sp[0:KYBER_N] = _poly_getnoise(sp[0:KYBER_N], noiseseed, nonce);
210
+
211
+ noiseseed = noiseseed_s;
192
212
nonce = 1;
193
213
sp[KYBER_N:KYBER_N] = _poly_getnoise(sp[KYBER_N:KYBER_N], noiseseed, nonce);
214
+
215
+ noiseseed = noiseseed_s;
194
216
nonce = 2;
195
217
sp[2*KYBER_N:KYBER_N] = _poly_getnoise(sp[2*KYBER_N:KYBER_N], noiseseed, nonce);
196
218
219
+ noiseseed = noiseseed_s;
197
220
nonce = 3;
198
221
ep[0:KYBER_N] = _poly_getnoise(ep[0:KYBER_N], noiseseed, nonce);
222
+
223
+ noiseseed = noiseseed_s;
199
224
nonce = 4;
200
225
ep[KYBER_N:KYBER_N] = _poly_getnoise(ep[KYBER_N:KYBER_N], noiseseed, nonce);
226
+
227
+ noiseseed = noiseseed_s;
201
228
nonce = 5;
202
229
ep[2*KYBER_N:KYBER_N] = _poly_getnoise(ep[2*KYBER_N:KYBER_N], noiseseed, nonce);
203
230
231
+ noiseseed = noiseseed_s;
204
232
nonce = 6;
205
233
epp = _poly_getnoise(epp, noiseseed, nonce);
206
234
0 commit comments