1*4126Szf162725 /* 2*4126Szf162725 * Copyright 2007 Sun Microsystems, Inc. All rights reserved. 3*4126Szf162725 * Use is subject to license terms. 4*4126Szf162725 */ 5*4126Szf162725 6*4126Szf162725 /* 7*4126Szf162725 * Copyright (c) 2003-2004, Jouni Malinen <jkmaline@cc.hut.fi> 8*4126Szf162725 * Sun elects to license this software under the BSD license. 9*4126Szf162725 * See README for more details. 10*4126Szf162725 */ 11*4126Szf162725 #ifndef __WPA_ENC_H 12*4126Szf162725 #define __WPA_ENC_H 13*4126Szf162725 14*4126Szf162725 #pragma ident "%Z%%M% %I% %E% SMI" 15*4126Szf162725 16*4126Szf162725 #include <openssl/sha.h> 17*4126Szf162725 #include <openssl/md5.h> 18*4126Szf162725 19*4126Szf162725 #ifdef __cplusplus 20*4126Szf162725 extern "C" { 21*4126Szf162725 #endif 22*4126Szf162725 23*4126Szf162725 #define SHA1_MAC_LEN SHA_DIGEST_LENGTH 24*4126Szf162725 #define MD5_MAC_LEN MD5_DIGEST_LENGTH 25*4126Szf162725 26*4126Szf162725 void aes_wrap(uint8_t *, int, uint8_t *, uint8_t *); 27*4126Szf162725 int aes_unwrap(uint8_t *, int, uint8_t *, uint8_t *); 28*4126Szf162725 29*4126Szf162725 void hmac_sha1_vector(unsigned char *, unsigned int, 30*4126Szf162725 size_t, unsigned char *[], unsigned int *, unsigned char *); 31*4126Szf162725 32*4126Szf162725 void hmac_sha1(unsigned char *, unsigned int, 33*4126Szf162725 unsigned char *, unsigned int, unsigned char *); 34*4126Szf162725 35*4126Szf162725 void sha1_prf(unsigned char *, unsigned int, 36*4126Szf162725 char *, unsigned char *, unsigned int, unsigned char *, size_t); 37*4126Szf162725 38*4126Szf162725 void pbkdf2_sha1(char *, char *, size_t, int, unsigned char *, size_t); 39*4126Szf162725 40*4126Szf162725 void rc4_skip(uint8_t *, size_t, size_t, uint8_t *, size_t); 41*4126Szf162725 void rc4(uint8_t *, size_t, uint8_t *, size_t); 42*4126Szf162725 43*4126Szf162725 void hmac_md5_vector(uint8_t *, size_t, size_t, 44*4126Szf162725 uint8_t *[], size_t *, uint8_t *); 45*4126Szf162725 void hmac_md5(uint8_t *, size_t, uint8_t *, size_t, uint8_t *); 46*4126Szf162725 47*4126Szf162725 #ifdef __cplusplus 48*4126Szf162725 } 49*4126Szf162725 #endif 50*4126Szf162725 51*4126Szf162725 #endif /* __WPA_ENC_H */ 52