md5.c File Reference

MD5 hash implementation and interface functions. More...

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "common.h"
#include "md5.h"
#include "crypto.h"

Include dependency graph for md5.c:

Go to the source code of this file.

Defines

#define byteReverse(buf, len)
#define F1(x, y, z)   (z ^ (x & (y ^ z)))
#define F2(x, y, z)   F1(z, x, y)
#define F3(x, y, z)   (x ^ y ^ z)
#define F4(x, y, z)   (y ^ (x | ~z))
#define MD5STEP(f, w, x, y, z, data, s)   ( w += f(x, y, z) + data, w = w<<s | w>>(32-s), w += x )

Typedefs

typedef MD5Context MD5_CTX

Functions

void hmac_md5_vector (const u8 *key, size_t key_len, size_t num_elem, const u8 *addr[], const size_t *len, u8 *mac)
 HMAC-MD5 over data vector (RFC 2104).
void hmac_md5 (const u8 *key, size_t key_len, const u8 *data, size_t data_len, u8 *mac)
 HMAC-MD5 over data buffer (RFC 2104).
void md5_vector (size_t num_elem, const u8 *addr[], const size_t *len, u8 *mac)
 MD5 hash for data vector.


Detailed Description

MD5 hash implementation and interface functions.

Copyright
Copyright (c) 2003-2005, Jouni Malinen <[email protected]>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.

Alternatively, this software may be distributed under the terms of BSD license.

See README and COPYING for more details.

Definition in file md5.c.


Function Documentation

void hmac_md5 const u8 *  key,
size_t  key_len,
const u8 *  data,
size_t  data_len,
u8 *  mac
 

HMAC-MD5 over data buffer (RFC 2104).

Parameters:
key Key for HMAC operations
key_len Length of the key in bytes
data Pointers to the data area
data_len Length of the data area
mac Buffer for the hash (16 bytes)

Definition at line 109 of file md5.c.

Here is the call graph for this function:

void hmac_md5_vector const u8 *  key,
size_t  key_len,
size_t  num_elem,
const u8 *  addr[],
const size_t *  len,
u8 *  mac
 

HMAC-MD5 over data vector (RFC 2104).

Parameters:
key Key for HMAC operations
key_len Length of the key in bytes
num_elem Number of elements in the data vector
addr Pointers to the data areas
len Lengths of the data blocks
mac Buffer for the hash (16 bytes)

Definition at line 35 of file md5.c.

Here is the call graph for this function:

void md5_vector size_t  num_elem,
const u8 *  addr[],
const size_t *  len,
u8 *  mac
 

MD5 hash for data vector.

Parameters:
num_elem Number of elements in the data vector
addr Pointers to the data areas
len Lengths of the data blocks
mac Buffer for the hash

Definition at line 141 of file md5.c.


Generated on Sat May 6 21:17:41 2006 for wpa_supplicant by  doxygen 1.4.2