diff --git a/src/crypto/crypto_internal.c b/src/crypto/crypto_internal.c index 759399692..41ec8bce3 100644 --- a/src/crypto/crypto_internal.c +++ b/src/crypto/crypto_internal.c @@ -25,24 +25,10 @@ #include "tls/pkcs8.h" #include "sha1_i.h" #include "md5_i.h" +#include "des_i.h" #ifdef CONFIG_TLS_INTERNAL -/* from des.c */ -struct des3_key_s { - u32 ek[3][32]; - u32 dk[3][32]; -}; - -void des3_key_setup(const u8 *key, struct des3_key_s *dkey); -void des3_encrypt(const u8 *plain, const struct des3_key_s *key, u8 *crypt); -void des3_decrypt(const u8 *crypt, const struct des3_key_s *key, u8 *plain); - -void des_key_setup(const u8 *key, u32 *ek, u32 *dk); -void des_block_encrypt(const u8 *plain, const u32 *ek, u8 *crypt); -void des_block_decrypt(const u8 *crypt, const u32 *dk, u8 *plain); - - struct MD5Context { u32 buf[4]; u32 bits[2]; diff --git a/src/crypto/des-internal.c b/src/crypto/des-internal.c index 543cee459..ccea95032 100644 --- a/src/crypto/des-internal.c +++ b/src/crypto/des-internal.c @@ -2,7 +2,7 @@ * DES and 3DES-EDE ciphers * * Modifications to LibTomCrypt implementation: - * Copyright (c) 2006, Jouni Malinen + * Copyright (c) 2006-2009, Jouni Malinen * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as @@ -18,6 +18,7 @@ #include "common.h" #include "crypto.h" +#include "des_i.h" /* * This implementation is based on a DES implementation included in @@ -458,11 +459,6 @@ void des_block_decrypt(const u8 *crypt, const u32 *dk, u8 *plain) } -struct des3_key_s { - u32 ek[3][32]; - u32 dk[3][32]; -}; - void des3_key_setup(const u8 *key, struct des3_key_s *dkey) { deskey(key, 0, dkey->ek[0]); diff --git a/src/crypto/des_i.h b/src/crypto/des_i.h new file mode 100644 index 000000000..6f274144a --- /dev/null +++ b/src/crypto/des_i.h @@ -0,0 +1,31 @@ +/* + * DES and 3DES-EDE ciphers + * Copyright (c) 2006-2009, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#ifndef DES_I_H +#define DES_I_H + +struct des3_key_s { + u32 ek[3][32]; + u32 dk[3][32]; +}; + +void des_key_setup(const u8 *key, u32 *ek, u32 *dk); +void des_block_encrypt(const u8 *plain, const u32 *ek, u8 *crypt); +void des_block_decrypt(const u8 *crypt, const u32 *dk, u8 *plain); + +void des3_key_setup(const u8 *key, struct des3_key_s *dkey); +void des3_encrypt(const u8 *plain, const struct des3_key_s *key, u8 *crypt); +void des3_decrypt(const u8 *crypt, const struct des3_key_s *key, u8 *plain); + +#endif /* DES_I_H */