xref: /freebsd/contrib/wpa/src/eap_common/chap.c (revision d8a0fe102c0cfdfcd5b818f850eff09d8536c9bc)
1 /*
2  * CHAP-MD5 (RFC 1994)
3  * Copyright (c) 2007-2009, Jouni Malinen <j@w1.fi>
4  *
5  * This software may be distributed under the terms of the BSD license.
6  * See README for more details.
7  */
8 
9 #include "includes.h"
10 
11 #include "common.h"
12 #include "crypto/crypto.h"
13 #include "chap.h"
14 
15 int chap_md5(u8 id, const u8 *secret, size_t secret_len, const u8 *challenge,
16 	      size_t challenge_len, u8 *response)
17 {
18 	const u8 *addr[3];
19 	size_t len[3];
20 
21 	addr[0] = &id;
22 	len[0] = 1;
23 	addr[1] = secret;
24 	len[1] = secret_len;
25 	addr[2] = challenge;
26 	len[2] = challenge_len;
27 	return md5_vector(3, addr, len, response);
28 }
29