124
AES_cfb8_encrypt(const unsigned char *in, unsigned char *out,
125
unsigned long size, const AES_KEY *key,
126
unsigned char *iv, int forward_encrypt)
130
for (i = 0; i < size; i++) {
131
unsigned char tmp[AES_BLOCK_SIZE + 1];
133
memcpy(tmp, iv, AES_BLOCK_SIZE);
134
AES_encrypt(iv, iv, key);
135
if (!forward_encrypt) {
136
tmp[AES_BLOCK_SIZE] = in[i];
138
out[i] = in[i] ^ iv[0];
139
if (forward_encrypt) {
140
tmp[AES_BLOCK_SIZE] = out[i];
142
memcpy(iv, &tmp[1], AES_BLOCK_SIZE);