Lines Matching full:iv
67 int rijndael_cipherInit(cipherInstance *cipher, BYTE mode, char *IV) { in rijndael_cipherInit() argument
73 if (IV != NULL) { in rijndael_cipherInit()
74 memcpy(cipher->IV, IV, RIJNDAEL_MAX_IV_SIZE); in rijndael_cipherInit()
76 memset(cipher->IV, 0, RIJNDAEL_MAX_IV_SIZE); in rijndael_cipherInit()
84 uint8_t block[16], iv[4][4]; in rijndael_blockEncrypt() local
108 memcpy(block, cipher->IV, 16); in rijndael_blockEncrypt()
109 memcpy(iv, input, 16); in rijndael_blockEncrypt()
110 ((uint32_t*)block)[0] ^= ((uint32_t*)iv)[0]; in rijndael_blockEncrypt()
111 ((uint32_t*)block)[1] ^= ((uint32_t*)iv)[1]; in rijndael_blockEncrypt()
112 ((uint32_t*)block)[2] ^= ((uint32_t*)iv)[2]; in rijndael_blockEncrypt()
113 ((uint32_t*)block)[3] ^= ((uint32_t*)iv)[3]; in rijndael_blockEncrypt()
115 ((uint32_t*)block)[0] = ((uint32_t*)cipher->IV)[0] ^ ((uint32_t*)input)[0]; in rijndael_blockEncrypt()
116 ((uint32_t*)block)[1] = ((uint32_t*)cipher->IV)[1] ^ ((uint32_t*)input)[1]; in rijndael_blockEncrypt()
117 ((uint32_t*)block)[2] = ((uint32_t*)cipher->IV)[2] ^ ((uint32_t*)input)[2]; in rijndael_blockEncrypt()
118 ((uint32_t*)block)[3] = ((uint32_t*)cipher->IV)[3] ^ ((uint32_t*)input)[3]; in rijndael_blockEncrypt()
125 memcpy(iv, input, 16); in rijndael_blockEncrypt()
126 ((uint32_t*)block)[0] ^= ((uint32_t*)iv)[0]; in rijndael_blockEncrypt()
127 ((uint32_t*)block)[1] ^= ((uint32_t*)iv)[1]; in rijndael_blockEncrypt()
128 ((uint32_t*)block)[2] ^= ((uint32_t*)iv)[2]; in rijndael_blockEncrypt()
129 ((uint32_t*)block)[3] ^= ((uint32_t*)iv)[3]; in rijndael_blockEncrypt()
144 memcpy(iv, cipher->IV, 16); in rijndael_blockEncrypt()
146 *((uint32_t*)iv[0]) = *((uint32_t*)(cipher->IV )); in rijndael_blockEncrypt()
147 *((uint32_t*)iv[1]) = *((uint32_t*)(cipher->IV+ 4)); in rijndael_blockEncrypt()
148 *((uint32_t*)iv[2]) = *((uint32_t*)(cipher->IV+ 8)); in rijndael_blockEncrypt()
149 *((uint32_t*)iv[3]) = *((uint32_t*)(cipher->IV+12)); in rijndael_blockEncrypt()
153 *((uint32_t*) block ) = *((uint32_t*)iv[0]); in rijndael_blockEncrypt()
154 *((uint32_t*)(block+ 4)) = *((uint32_t*)iv[1]); in rijndael_blockEncrypt()
155 *((uint32_t*)(block+ 8)) = *((uint32_t*)iv[2]); in rijndael_blockEncrypt()
156 *((uint32_t*)(block+12)) = *((uint32_t*)iv[3]); in rijndael_blockEncrypt()
160 iv[0][0] = (iv[0][0] << 1) | (iv[0][1] >> 7); in rijndael_blockEncrypt()
161 iv[0][1] = (iv[0][1] << 1) | (iv[0][2] >> 7); in rijndael_blockEncrypt()
162 iv[0][2] = (iv[0][2] << 1) | (iv[0][3] >> 7); in rijndael_blockEncrypt()
163 iv[0][3] = (iv[0][3] << 1) | (iv[1][0] >> 7); in rijndael_blockEncrypt()
164 iv[1][0] = (iv[1][0] << 1) | (iv[1][1] >> 7); in rijndael_blockEncrypt()
165 iv[1][1] = (iv[1][1] << 1) | (iv[1][2] >> 7); in rijndael_blockEncrypt()
166 iv[1][2] = (iv[1][2] << 1) | (iv[1][3] >> 7); in rijndael_blockEncrypt()
167 iv[1][3] = (iv[1][3] << 1) | (iv[2][0] >> 7); in rijndael_blockEncrypt()
168 iv[2][0] = (iv[2][0] << 1) | (iv[2][1] >> 7); in rijndael_blockEncrypt()
169 iv[2][1] = (iv[2][1] << 1) | (iv[2][2] >> 7); in rijndael_blockEncrypt()
170 iv[2][2] = (iv[2][2] << 1) | (iv[2][3] >> 7); in rijndael_blockEncrypt()
171 iv[2][3] = (iv[2][3] << 1) | (iv[3][0] >> 7); in rijndael_blockEncrypt()
172 iv[3][0] = (iv[3][0] << 1) | (iv[3][1] >> 7); in rijndael_blockEncrypt()
173 iv[3][1] = (iv[3][1] << 1) | (iv[3][2] >> 7); in rijndael_blockEncrypt()
174 iv[3][2] = (iv[3][2] << 1) | (iv[3][3] >> 7); in rijndael_blockEncrypt()
175 iv[3][3] = (iv[3][3] << 1) | ((outBuffer[k/8] >> (7-(k&7))) & 1); in rijndael_blockEncrypt()
200 uint8_t block[16], *iv, *cp; in rijndael_padEncrypt() local
230 iv = cipher->IV; in rijndael_padEncrypt()
232 ((uint32_t*)block)[0] = ((const uint32_t*)input)[0] ^ ((uint32_t*)iv)[0]; in rijndael_padEncrypt()
233 ((uint32_t*)block)[1] = ((const uint32_t*)input)[1] ^ ((uint32_t*)iv)[1]; in rijndael_padEncrypt()
234 ((uint32_t*)block)[2] = ((const uint32_t*)input)[2] ^ ((uint32_t*)iv)[2]; in rijndael_padEncrypt()
235 ((uint32_t*)block)[3] = ((const uint32_t*)input)[3] ^ ((uint32_t*)iv)[3]; in rijndael_padEncrypt()
237 iv = outBuffer; in rijndael_padEncrypt()
245 block[i] = input[i] ^ iv[i]; in rijndael_padEncrypt()
248 block[i] = (BYTE)padLen ^ iv[i]; in rijndael_padEncrypt()
264 uint8_t block[16], iv[4][4]; in rijndael_blockDecrypt() local
288 memcpy(iv, cipher->IV, 16); in rijndael_blockDecrypt()
290 *((uint32_t*)iv[0]) = *((uint32_t*)(cipher->IV )); in rijndael_blockDecrypt()
291 *((uint32_t*)iv[1]) = *((uint32_t*)(cipher->IV+ 4)); in rijndael_blockDecrypt()
292 *((uint32_t*)iv[2]) = *((uint32_t*)(cipher->IV+ 8)); in rijndael_blockDecrypt()
293 *((uint32_t*)iv[3]) = *((uint32_t*)(cipher->IV+12)); in rijndael_blockDecrypt()
297 ((uint32_t*)block)[0] ^= *((uint32_t*)iv[0]); in rijndael_blockDecrypt()
298 ((uint32_t*)block)[1] ^= *((uint32_t*)iv[1]); in rijndael_blockDecrypt()
299 ((uint32_t*)block)[2] ^= *((uint32_t*)iv[2]); in rijndael_blockDecrypt()
300 ((uint32_t*)block)[3] ^= *((uint32_t*)iv[3]); in rijndael_blockDecrypt()
302 memcpy(iv, input, 16); in rijndael_blockDecrypt()
305 *((uint32_t*)iv[0]) = ((uint32_t*)input)[0]; ((uint32_t*)outBuffer)[0] = ((uint32_t*)block)[0]; in rijndael_blockDecrypt()
306 *((uint32_t*)iv[1]) = ((uint32_t*)input)[1]; ((uint32_t*)outBuffer)[1] = ((uint32_t*)block)[1]; in rijndael_blockDecrypt()
307 *((uint32_t*)iv[2]) = ((uint32_t*)input)[2]; ((uint32_t*)outBuffer)[2] = ((uint32_t*)block)[2]; in rijndael_blockDecrypt()
308 *((uint32_t*)iv[3]) = ((uint32_t*)input)[3]; ((uint32_t*)outBuffer)[3] = ((uint32_t*)block)[3]; in rijndael_blockDecrypt()
317 memcpy(iv, cipher->IV, 16); in rijndael_blockDecrypt()
319 *((uint32_t*)iv[0]) = *((uint32_t*)(cipher->IV)); in rijndael_blockDecrypt()
320 *((uint32_t*)iv[1]) = *((uint32_t*)(cipher->IV+ 4)); in rijndael_blockDecrypt()
321 *((uint32_t*)iv[2]) = *((uint32_t*)(cipher->IV+ 8)); in rijndael_blockDecrypt()
322 *((uint32_t*)iv[3]) = *((uint32_t*)(cipher->IV+12)); in rijndael_blockDecrypt()
326 *((uint32_t*) block ) = *((uint32_t*)iv[0]); in rijndael_blockDecrypt()
327 *((uint32_t*)(block+ 4)) = *((uint32_t*)iv[1]); in rijndael_blockDecrypt()
328 *((uint32_t*)(block+ 8)) = *((uint32_t*)iv[2]); in rijndael_blockDecrypt()
329 *((uint32_t*)(block+12)) = *((uint32_t*)iv[3]); in rijndael_blockDecrypt()
332 iv[0][0] = (iv[0][0] << 1) | (iv[0][1] >> 7); in rijndael_blockDecrypt()
333 iv[0][1] = (iv[0][1] << 1) | (iv[0][2] >> 7); in rijndael_blockDecrypt()
334 iv[0][2] = (iv[0][2] << 1) | (iv[0][3] >> 7); in rijndael_blockDecrypt()
335 iv[0][3] = (iv[0][3] << 1) | (iv[1][0] >> 7); in rijndael_blockDecrypt()
336 iv[1][0] = (iv[1][0] << 1) | (iv[1][1] >> 7); in rijndael_blockDecrypt()
337 iv[1][1] = (iv[1][1] << 1) | (iv[1][2] >> 7); in rijndael_blockDecrypt()
338 iv[1][2] = (iv[1][2] << 1) | (iv[1][3] >> 7); in rijndael_blockDecrypt()
339 iv[1][3] = (iv[1][3] << 1) | (iv[2][0] >> 7); in rijndael_blockDecrypt()
340 iv[2][0] = (iv[2][0] << 1) | (iv[2][1] >> 7); in rijndael_blockDecrypt()
341 iv[2][1] = (iv[2][1] << 1) | (iv[2][2] >> 7); in rijndael_blockDecrypt()
342 iv[2][2] = (iv[2][2] << 1) | (iv[2][3] >> 7); in rijndael_blockDecrypt()
343 iv[2][3] = (iv[2][3] << 1) | (iv[3][0] >> 7); in rijndael_blockDecrypt()
344 iv[3][0] = (iv[3][0] << 1) | (iv[3][1] >> 7); in rijndael_blockDecrypt()
345 iv[3][1] = (iv[3][1] << 1) | (iv[3][2] >> 7); in rijndael_blockDecrypt()
346 iv[3][2] = (iv[3][2] << 1) | (iv[3][3] >> 7); in rijndael_blockDecrypt()
347 iv[3][3] = (iv[3][3] << 1) | ((input[k/8] >> (7-(k&7))) & 1); in rijndael_blockDecrypt()
365 uint32_t iv[4]; in rijndael_padDecrypt() local
406 memcpy(iv, cipher->IV, 16); in rijndael_padDecrypt()
410 ((uint32_t*)block)[0] ^= iv[0]; in rijndael_padDecrypt()
411 ((uint32_t*)block)[1] ^= iv[1]; in rijndael_padDecrypt()
412 ((uint32_t*)block)[2] ^= iv[2]; in rijndael_padDecrypt()
413 ((uint32_t*)block)[3] ^= iv[3]; in rijndael_padDecrypt()
414 memcpy(iv, input, 16); in rijndael_padDecrypt()
421 ((uint32_t*)block)[0] ^= iv[0]; in rijndael_padDecrypt()
422 ((uint32_t*)block)[1] ^= iv[1]; in rijndael_padDecrypt()
423 ((uint32_t*)block)[2] ^= iv[2]; in rijndael_padDecrypt()
424 ((uint32_t*)block)[3] ^= iv[3]; in rijndael_padDecrypt()