18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/*
28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * CHAP-MD5 (RFC 1994)
38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright (c) 2007-2009, Jouni Malinen <j@w1.fi>
48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt *
5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license.
6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details.
78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */
88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "includes.h"
108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "common.h"
128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "crypto/crypto.h"
138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#include "chap.h"
148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint chap_md5(u8 id, const u8 *secret, size_t secret_len, const u8 *challenge,
168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	      size_t challenge_len, u8 *response)
178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt{
188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	const u8 *addr[3];
198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	size_t len[3];
208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt
218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	addr[0] = &id;
228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	len[0] = 1;
238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	addr[1] = secret;
248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	len[1] = secret_len;
258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	addr[2] = challenge;
268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	len[2] = challenge_len;
278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt	return md5_vector(3, addr, len, response);
288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt}
29