Browse Source

Move shared DES definitions into a header file

Jouni Malinen 15 years ago
parent
commit
1e8c857abe
3 changed files with 34 additions and 21 deletions
  1. 1 15
      src/crypto/crypto_internal.c
  2. 2 6
      src/crypto/des-internal.c
  3. 31 0
      src/crypto/des_i.h

+ 1 - 15
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];

+ 2 - 6
src/crypto/des-internal.c

@@ -2,7 +2,7 @@
  * DES and 3DES-EDE ciphers
  *
  * Modifications to LibTomCrypt implementation:
- * Copyright (c) 2006, Jouni Malinen <j@w1.fi>
+ * Copyright (c) 2006-2009, Jouni Malinen <j@w1.fi>
  *
  * 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]);

+ 31 - 0
src/crypto/des_i.h

@@ -0,0 +1,31 @@
+/*
+ * DES and 3DES-EDE ciphers
+ * Copyright (c) 2006-2009, Jouni Malinen <j@w1.fi>
+ *
+ * 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 */