@@ -223,39 +223,29 @@ else if (engine.getKyberPolyCompressedBytes() == 160)
223
223
224
224
public byte [] toBytes ()
225
225
{
226
+ conditionalSubQ ();
227
+
226
228
byte [] r = new byte [MLKEMEngine .KyberPolyBytes ];
227
- short t0 , t1 ;
228
- this .conditionalSubQ ();
229
229
for (int i = 0 ; i < MLKEMEngine .KyberN / 2 ; i ++)
230
230
{
231
- t0 = this . getCoeffIndex ( 2 * i ) ;
232
- t1 = this . getCoeffIndex ( 2 * i + 1 ) ;
233
- r [3 * i ] = (byte )(t0 >> 0 );
231
+ short t0 = coeffs [ 2 * i + 0 ] ;
232
+ short t1 = coeffs [ 2 * i + 1 ] ;
233
+ r [3 * i + 0 ] = (byte )(t0 >> 0 );
234
234
r [3 * i + 1 ] = (byte )((t0 >> 8 ) | (t1 << 4 ));
235
235
r [3 * i + 2 ] = (byte )(t1 >> 4 );
236
236
}
237
-
238
237
return r ;
239
-
240
238
}
241
239
242
240
public void fromBytes (byte [] inpBytes )
243
241
{
244
- int i ;
245
- for (i = 0 ; i < MLKEMEngine .KyberN / 2 ; i ++)
242
+ for (int i = 0 ; i < MLKEMEngine .KyberN / 2 ; ++i )
246
243
{
247
- this .setCoeffIndex (2 * i , (short )(
248
- (
249
- ((inpBytes [3 * i + 0 ] & 0xFF ) >> 0 )
250
- | ((inpBytes [3 * i + 1 ] & 0xFF ) << 8 )
251
- ) & 0xFFF )
252
- );
253
- this .setCoeffIndex (2 * i + 1 , (short )(
254
- (
255
- ((inpBytes [3 * i + 1 ] & 0xFF ) >> 4 )
256
- | (long )((inpBytes [3 * i + 2 ] & 0xFF ) << 4 )
257
- ) & 0xFFF )
258
- );
244
+ int a0 = inpBytes [3 * i + 0 ] & 0xFF ;
245
+ int a1 = inpBytes [3 * i + 1 ] & 0xFF ;
246
+ int a2 = inpBytes [3 * i + 2 ] & 0xFF ;
247
+ coeffs [2 * i + 0 ] = (short )(((a0 >> 0 ) | (a1 << 8 )) & 0xFFF );
248
+ coeffs [2 * i + 1 ] = (short )(((a1 >> 4 ) | (a2 << 4 )) & 0xFFF );
259
249
}
260
250
}
261
251
0 commit comments