Browse Source

fix "two-key 3des"-related things

Steffen Jaeckel 7 years ago
parent
commit
715103a203
1 changed files with 6 additions and 3 deletions
  1. 6 3
      src/ciphers/des.c

+ 6 - 3
src/ciphers/des.c

@@ -36,7 +36,7 @@ const struct ltc_cipher_descriptor des3_desc =
 {
 {
     "3des",
     "3des",
     14,
     14,
-    24, 24, 8, 16,
+    16, 24, 8, 16,
     &des3_setup,
     &des3_setup,
     &des3_ecb_encrypt,
     &des3_ecb_encrypt,
     &des3_ecb_decrypt,
     &des3_ecb_decrypt,
@@ -2068,8 +2068,11 @@ int des_keysize(int *keysize)
 int des3_keysize(int *keysize)
 int des3_keysize(int *keysize)
 {
 {
     LTC_ARGCHK(keysize != NULL);
     LTC_ARGCHK(keysize != NULL);
-    if(*keysize < 24) {
-        return CRYPT_INVALID_KEYSIZE;
+    if (*keysize < 16)
+       return CRYPT_INVALID_KEYSIZE;
+    if (*keysize < 24) {
+       *keysize = 16;
+       return CRYPT_OK;
     }
     }
     *keysize = 24;
     *keysize = 24;
     return CRYPT_OK;
     return CRYPT_OK;