1*3ff40c12SJohn Marino /*
2*3ff40c12SJohn Marino  * DES and 3DES-EDE ciphers
3*3ff40c12SJohn Marino  * Copyright (c) 2006-2009, Jouni Malinen <j@w1.fi>
4*3ff40c12SJohn Marino  *
5*3ff40c12SJohn Marino  * This software may be distributed under the terms of the BSD license.
6*3ff40c12SJohn Marino  * See README for more details.
7*3ff40c12SJohn Marino  */
8*3ff40c12SJohn Marino 
9*3ff40c12SJohn Marino #ifndef DES_I_H
10*3ff40c12SJohn Marino #define DES_I_H
11*3ff40c12SJohn Marino 
12*3ff40c12SJohn Marino struct des3_key_s {
13*3ff40c12SJohn Marino 	u32 ek[3][32];
14*3ff40c12SJohn Marino 	u32 dk[3][32];
15*3ff40c12SJohn Marino };
16*3ff40c12SJohn Marino 
17*3ff40c12SJohn Marino void des_key_setup(const u8 *key, u32 *ek, u32 *dk);
18*3ff40c12SJohn Marino void des_block_encrypt(const u8 *plain, const u32 *ek, u8 *crypt);
19*3ff40c12SJohn Marino void des_block_decrypt(const u8 *crypt, const u32 *dk, u8 *plain);
20*3ff40c12SJohn Marino 
21*3ff40c12SJohn Marino void des3_key_setup(const u8 *key, struct des3_key_s *dkey);
22*3ff40c12SJohn Marino void des3_encrypt(const u8 *plain, const struct des3_key_s *key, u8 *crypt);
23*3ff40c12SJohn Marino void des3_decrypt(const u8 *crypt, const struct des3_key_s *key, u8 *plain);
24*3ff40c12SJohn Marino 
25*3ff40c12SJohn Marino #endif /* DES_I_H */
26