Skip to content

Commit 01e3034

Browse files
authored
update initialization for security
1 parent bd6992a commit 01e3034

File tree

1 file changed

+18
-19
lines changed

1 file changed

+18
-19
lines changed

code/HiAE.c

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -159,23 +159,23 @@ state[13] = state[14]; \
159159
state[14] = state[15]; \
160160
state[15] = tmp[0]
161161

162-
#define INIT_UPDATE(c0) \
162+
#define INIT_UPDATE(c0, c1) \
163163
UPDATE_STATE_offset(c0, 0);\
164-
UPDATE_STATE_offset(c0, 1);\
164+
UPDATE_STATE_offset(c1, 1);\
165165
UPDATE_STATE_offset(c0, 2);\
166-
UPDATE_STATE_offset(c0, 3);\
166+
UPDATE_STATE_offset(c1, 3);\
167167
UPDATE_STATE_offset(c0, 4);\
168-
UPDATE_STATE_offset(c0, 5);\
168+
UPDATE_STATE_offset(c1, 5);\
169169
UPDATE_STATE_offset(c0, 6);\
170-
UPDATE_STATE_offset(c0, 7);\
170+
UPDATE_STATE_offset(c1, 7);\
171171
UPDATE_STATE_offset(c0, 8);\
172-
UPDATE_STATE_offset(c0, 9);\
172+
UPDATE_STATE_offset(c1, 9);\
173173
UPDATE_STATE_offset(c0, 10);\
174-
UPDATE_STATE_offset(c0, 11);\
174+
UPDATE_STATE_offset(c1, 11);\
175175
UPDATE_STATE_offset(c0, 12);\
176-
UPDATE_STATE_offset(c0, 13);\
176+
UPDATE_STATE_offset(c1, 13);\
177177
UPDATE_STATE_offset(c0, 14);\
178-
UPDATE_STATE_offset(c0, 15);
178+
UPDATE_STATE_offset(c1, 15);
179179

180180
#define AD_UPDATE \
181181
LOAD_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

346344
void 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

Comments
 (0)