Dibbler - a portable DHCPv6  1.0.2RC1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
md5.c File Reference
#include <assert.h>
#include <string.h>
#include "md5.h"
#include "macros.h"
+ Include dependency graph for md5.c:

Macros

#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 MD5_DATA_LENGTH   16
#define ROUND(f, w, x, y, z, data, s)   ( w += f(x, y, z) + data, w = w<<s | w>>(32-s), w += x )

Functions

static void md5_block (struct md5_ctx *ctx, const uint8_t *block)
static void md5_final (struct md5_ctx *ctx)
static void md5_transform (uint32_t *digest, const uint32_t *data)
void nettle_md5_digest (struct md5_ctx *ctx, unsigned length, uint8_t *digest)
void nettle_md5_init (struct md5_ctx *ctx)
void nettle_md5_update (struct md5_ctx *ctx, unsigned length, const uint8_t *data)

Macro Definition Documentation

#define F1 (   x,
  y,
 
)    ((z) ^ ((x) & ((y) ^ (z))))
#define F2 (   x,
  y,
 
)    F1((z), (x), (y))
#define F3 (   x,
  y,
 
)    ((x) ^ (y) ^ (z))
#define F4 (   x,
  y,
 
)    ((y) ^ ((x) | ~(z)))
#define MD5_DATA_LENGTH   16
#define ROUND (   f,
  w,
  x,
  y,
  z,
  data,
 
)    ( w += f(x, y, z) + data, w = w<<s | w>>(32-s), w += x )

Function Documentation

static void md5_block ( struct md5_ctx ctx,
const uint8_t *  block 
)
static
static void md5_final ( struct md5_ctx ctx)
static
static void md5_transform ( uint32_t digest,
const uint32_t data 
)
static
void nettle_md5_digest ( struct md5_ctx ctx,
unsigned  length,
uint8_t *  digest 
)
void nettle_md5_init ( struct md5_ctx ctx)
void nettle_md5_update ( struct md5_ctx ctx,
unsigned  length,
const uint8_t *  data 
)