xref: /netbsd-src/external/bsd/wpa/dist/src/crypto/des_i.h (revision e604d8611dacba7ab12396e19398c8a39b20a815)
18dbcf02cSchristos /*
28dbcf02cSchristos  * DES and 3DES-EDE ciphers
38dbcf02cSchristos  * Copyright (c) 2006-2009, Jouni Malinen <j@w1.fi>
48dbcf02cSchristos  *
5*e604d861Schristos  * This software may be distributed under the terms of the BSD license.
6*e604d861Schristos  * See README for more details.
78dbcf02cSchristos  */
88dbcf02cSchristos 
98dbcf02cSchristos #ifndef DES_I_H
108dbcf02cSchristos #define DES_I_H
118dbcf02cSchristos 
128dbcf02cSchristos struct des3_key_s {
138dbcf02cSchristos 	u32 ek[3][32];
148dbcf02cSchristos 	u32 dk[3][32];
158dbcf02cSchristos };
168dbcf02cSchristos 
178dbcf02cSchristos void des_key_setup(const u8 *key, u32 *ek, u32 *dk);
188dbcf02cSchristos void des_block_encrypt(const u8 *plain, const u32 *ek, u8 *crypt);
198dbcf02cSchristos void des_block_decrypt(const u8 *crypt, const u32 *dk, u8 *plain);
208dbcf02cSchristos 
218dbcf02cSchristos void des3_key_setup(const u8 *key, struct des3_key_s *dkey);
228dbcf02cSchristos void des3_encrypt(const u8 *plain, const struct des3_key_s *key, u8 *crypt);
238dbcf02cSchristos void des3_decrypt(const u8 *crypt, const struct des3_key_s *key, u8 *plain);
248dbcf02cSchristos 
258dbcf02cSchristos #endif /* DES_I_H */
26