summaryrefslogtreecommitdiff
path: root/src/libtom/tomcrypt_des.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libtom/tomcrypt_des.c')
-rw-r--r--src/libtom/tomcrypt_des.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/src/libtom/tomcrypt_des.c b/src/libtom/tomcrypt_des.c
index a9a4839..3cdc13f 100644
--- a/src/libtom/tomcrypt_des.c
+++ b/src/libtom/tomcrypt_des.c
@@ -1562,27 +1562,17 @@ static int des3_setup(const unsigned char *key, int keylen, int num_rounds, symm
return CRYPT_INVALID_ROUNDS;
}
- if (keylen != 24 && keylen != 16) {
+ if (keylen != 24) {
return CRYPT_INVALID_KEYSIZE;
}
deskey(key, EN0, skey->des3.ek[0]);
deskey(key+8, DE1, skey->des3.ek[1]);
- if (keylen == 24) {
- deskey(key+16, EN0, skey->des3.ek[2]);
- } else {
- /* two-key 3DES: K3=K1 */
- deskey(key, EN0, skey->des3.ek[2]);
- }
+ deskey(key+16, EN0, skey->des3.ek[2]);
deskey(key, DE1, skey->des3.dk[2]);
deskey(key+8, EN0, skey->des3.dk[1]);
- if (keylen == 24) {
- deskey(key+16, DE1, skey->des3.dk[0]);
- } else {
- /* two-key 3DES: K3=K1 */
- deskey(key, DE1, skey->des3.dk[0]);
- }
+ deskey(key+16, DE1, skey->des3.dk[0]);
return CRYPT_OK;
}