@@ -159,23 +159,23 @@ state[13] = state[14]; \
159159state[14] = state[15]; \
160160state[15] = tmp[0]
161161
162- #define INIT_UPDATE (c0 ) \
162+ #define INIT_UPDATE (c0 , c1 ) \
163163UPDATE_STATE_offset(c0, 0);\
164- UPDATE_STATE_offset(c0 , 1);\
164+ UPDATE_STATE_offset(c1 , 1);\
165165UPDATE_STATE_offset(c0, 2);\
166- UPDATE_STATE_offset(c0 , 3);\
166+ UPDATE_STATE_offset(c1 , 3);\
167167UPDATE_STATE_offset(c0, 4);\
168- UPDATE_STATE_offset(c0 , 5);\
168+ UPDATE_STATE_offset(c1 , 5);\
169169UPDATE_STATE_offset(c0, 6);\
170- UPDATE_STATE_offset(c0 , 7);\
170+ UPDATE_STATE_offset(c1 , 7);\
171171UPDATE_STATE_offset(c0, 8);\
172- UPDATE_STATE_offset(c0 , 9);\
172+ UPDATE_STATE_offset(c1 , 9);\
173173UPDATE_STATE_offset(c0, 10);\
174- UPDATE_STATE_offset(c0 , 11);\
174+ UPDATE_STATE_offset(c1 , 11);\
175175UPDATE_STATE_offset(c0, 12);\
176- UPDATE_STATE_offset(c0 , 13);\
176+ UPDATE_STATE_offset(c1 , 13);\
177177UPDATE_STATE_offset(c0, 14);\
178- UPDATE_STATE_offset(c0 , 15);
178+ UPDATE_STATE_offset(c1 , 15);
179179
180180#define AD_UPDATE \
181181LOAD_1BLOCK_offset(M[0], 0);\
@@ -320,27 +320,25 @@ void HiAE_stream_init(DATA128b* state, const uint8_t *key, const uint8_t *iv) {
320320
321321 DATA128b ze = SIMD_ZERO_128 ();
322322 state [0 ] = c0 ;
323- state [1 ] = k1 ;
324- state [2 ] = N ;
325- state [3 ] = c0 ;
323+ state [1 ] = k0 ;
324+ state [2 ] = c0 ;
325+ state [3 ] = N ;
326326 state [4 ] = ze ;
327- state [5 ] = SIMD_XOR ( N , k0 ) ;
327+ state [5 ] = k0 ;
328328 state [6 ] = ze ;
329329 state [7 ] = c1 ;
330- state [8 ] = SIMD_XOR ( N , k1 ) ;
330+ state [8 ] = k1 ;
331331 state [9 ] = ze ;
332- state [10 ] = k1 ;
332+ state [10 ] = SIMD_XOR ( N , k1 ) ;
333333 state [11 ] = c0 ;
334334 state [12 ] = c1 ;
335335 state [13 ] = k1 ;
336336 state [14 ] = ze ;
337337 state [15 ] = SIMD_XOR (c0 , c1 );
338338
339339 DATA128b tmp [STATE ];
340- INIT_UPDATE (c0 );
341- INIT_UPDATE (c0 );
342- state [9 ] = SIMD_XOR (state [9 ], k0 );
343- state [13 ] = SIMD_XOR (state [13 ], k1 );
340+ INIT_UPDATE (k0 , k1 );
341+ INIT_UPDATE (k0 , k1 );
344342}
345343
346344void HiAE_stream_proc_ad (DATA128b * state , const uint8_t * ad , size_t len ) {
@@ -1161,3 +1159,4 @@ int HiAE_verification(uint8_t* key, uint8_t* iv, uint8_t* ad, size_t ad_len, uin
11611159
11621160 return 0 ;
11631161}
1162+
0 commit comments