3d59e04bce
With NO_ASM defined, the recent AEAD changes broke the tests. The problem is that the generic CBC mode code tests whether in != out and omits to save the IV, assuming that it'll be able to read the old ciphertext block. However, consider the case where out = in - 16: 1 2 3 4 |-------|-------|------|-------| ^ ^ | | out in First time around, 1 = decrypt(2) ^ iv and everything is fine, because the IV was preconfigured. However, the next iteration of the loop sets 2 = decrypt(3) and tries to XOR it with the contents of the previous ciphertext block… from 2. Change-Id: Ibabff430704fad246de132b4d6d514f6a0362734 |
||
---|---|---|
.. | ||
asm | ||
cbc.c | ||
cfb.c | ||
CMakeLists.txt | ||
ctr.c | ||
gcm_test.c | ||
gcm.c | ||
internal.h | ||
ofb.c |