提交 fe2d1491 编写于 作者: R Rich Salz

RT2867: des_ede3_cfb1 ignored "size in bits" flag

Code and tests by Steve.
Reviewed-by: NDr. Stephen Henson <steve@openssl.org>
Reviewed-by: NRich Salz <rsalz@openssl.org>
上级 615dd78b
...@@ -164,6 +164,8 @@ static int des_ede3_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, ...@@ -164,6 +164,8 @@ static int des_ede3_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
size_t n; size_t n;
unsigned char c[1], d[1]; unsigned char c[1], d[1];
if (!EVP_CIPHER_CTX_test_flags(ctx, EVP_CIPH_FLAG_LENGTH_BITS))
inl *= 8;
for (n = 0; n < inl; ++n) { for (n = 0; n < inl; ++n) {
c[0] = (in[n / 8] & (1 << (7 - n % 8))) ? 0x80 : 0; c[0] = (in[n / 8] & (1 << (7 - n % 8))) ? 0x80 : 0;
DES_ede3_cfb_encrypt(c, d, 1, 1, DES_ede3_cfb_encrypt(c, d, 1, 1,
......
...@@ -201,6 +201,25 @@ Input = "aaaaaaaaaa" ...@@ -201,6 +201,25 @@ Input = "aaaaaaaaaa"
Count = 100000 Count = 100000
Output = 0C99005BEB57EFF50A7CF005560DDF5D29057FD86B20BFD62DECA0F1CCEA4AF51FC15490EDDC47AF32BB2B66C34FF9AD8C6008AD677F77126953B226E4ED8B01 Output = 0C99005BEB57EFF50A7CF005560DDF5D29057FD86B20BFD62DECA0F1CCEA4AF51FC15490EDDC47AF32BB2B66C34FF9AD8C6008AD677F77126953B226E4ED8B01
# DES EDE3 CFB1
# echo -n "Hello World" |
# apps/openssl enc -des-ede3-cfb1 \
# -K 000102030405060708090A0B0C0D0E0F1011121314151617 -iv 0001020304050607 |
# xxd -ps -u
Cipher = DES-EDE3-CFB1
Key = 000102030405060708090A0B0C0D0E0F1011121314151617
IV = 0001020304050607
Plaintext = "Hello World"
Ciphertext = 3CF55D656E9C0664513358
Cipher = DES-EDE3-CFB1
Key = 000102030405060708090A0B0C0D0E0F1011121314151617
IV = 0001020304050607
Operation = DECRYPT
Plaintext = "Hello World"
Ciphertext = 3CF55D656E9C0664513358
# AES 128 ECB tests (from FIPS-197 test vectors, encrypt) # AES 128 ECB tests (from FIPS-197 test vectors, encrypt)
Cipher = AES-128-ECB Cipher = AES-128-ECB
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册