webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Macros | Functions
md4.c File Reference
#include <openssl/md4.h>
#include <stdlib.h>
#include <string.h>
#include "../digest/md32_common.h"

Macros

#define DATA_ORDER_IS_LITTLE_ENDIAN
 
#define HASH_CTX   MD4_CTX
 
#define HASH_CBLOCK   64
 
#define HASH_UPDATE   MD4_Update
 
#define HASH_TRANSFORM   MD4_Transform
 
#define HASH_FINAL   MD4_Final
 
#define HASH_MAKE_STRING(c, s)
 
#define HASH_BLOCK_DATA_ORDER   md4_block_data_order
 
#define F(b, c, d)   ((((c) ^ (d)) & (b)) ^ (d))
 
#define G(b, c, d)   (((b) & (c)) | ((b) & (d)) | ((c) & (d)))
 
#define H(b, c, d)   ((b) ^ (c) ^ (d))
 
#define ROTATE(a, n)   (((a) << (n)) | ((a) >> (32 - (n))))
 
#define R0(a, b, c, d, k, s, t)
 
#define R1(a, b, c, d, k, s, t)
 
#define R2(a, b, c, d, k, s, t)
 

Functions

uint8_tMD4 (const uint8_t *data, size_t len, uint8_t *out)
 
int MD4_Init (MD4_CTX *md4)
 
void md4_block_data_order (uint32_t *state, const uint8_t *data, size_t num)
 

Macro Definition Documentation

◆ DATA_ORDER_IS_LITTLE_ENDIAN

#define DATA_ORDER_IS_LITTLE_ENDIAN

◆ F

#define F (   b,
  c,
  d 
)    ((((c) ^ (d)) & (b)) ^ (d))

◆ G

#define G (   b,
  c,
  d 
)    (((b) & (c)) | ((b) & (d)) | ((c) & (d)))

◆ H

#define H (   b,
  c,
  d 
)    ((b) ^ (c) ^ (d))

◆ HASH_BLOCK_DATA_ORDER

#define HASH_BLOCK_DATA_ORDER   md4_block_data_order

◆ HASH_CBLOCK

#define HASH_CBLOCK   64

◆ HASH_CTX

#define HASH_CTX   MD4_CTX

◆ HASH_FINAL

#define HASH_FINAL   MD4_Final

◆ HASH_MAKE_STRING

#define HASH_MAKE_STRING (   c,
  s 
)
Value:
do { \
uint32_t ll; \
ll = (c)->h[0]; \
HOST_l2c(ll, (s)); \
ll = (c)->h[1]; \
HOST_l2c(ll, (s)); \
ll = (c)->h[2]; \
HOST_l2c(ll, (s)); \
ll = (c)->h[3]; \
HOST_l2c(ll, (s)); \
} while (0)
int ll
Definition: cpp_unittests.cpp:300
int c
Definition: cpp_unittests.cpp:275
GLfloat GLfloat GLfloat GLfloat h
Definition: gl2ext.h:3060
struct A s

◆ HASH_TRANSFORM

#define HASH_TRANSFORM   MD4_Transform

◆ HASH_UPDATE

#define HASH_UPDATE   MD4_Update

◆ R0

#define R0 (   a,
  b,
  c,
  d,
  k,
  s,
  t 
)
Value:
do { \
(a) += ((k) + (t) + F((b), (c), (d))); \
(a) = ROTATE(a, s); \
} while (0)
int c
Definition: cpp_unittests.cpp:275
bool t
Definition: UpdateContents.py:37
DOMString k
Definition: WebCryptoAPI.idl:122
#define F(b, c, d)
Definition: md4.c:111
GLboolean GLboolean GLboolean GLboolean a
Definition: gl2ext.h:306
struct A s
GLboolean GLboolean GLboolean b
Definition: gl2ext.h:306
#define ROTATE(a, n)
Definition: md4.c:115
#define d
Definition: float-mm.c:30

◆ R1

#define R1 (   a,
  b,
  c,
  d,
  k,
  s,
  t 
)
Value:
do { \
(a) += ((k) + (t) + G((b), (c), (d))); \
(a) = ROTATE(a, s); \
} while (0)
int c
Definition: cpp_unittests.cpp:275
bool t
Definition: UpdateContents.py:37
DOMString k
Definition: WebCryptoAPI.idl:122
GLboolean GLboolean GLboolean GLboolean a
Definition: gl2ext.h:306
#define G(b, c, d)
Definition: md4.c:112
struct A s
GLboolean GLboolean GLboolean b
Definition: gl2ext.h:306
#define ROTATE(a, n)
Definition: md4.c:115
#define d
Definition: float-mm.c:30

◆ R2

#define R2 (   a,
  b,
  c,
  d,
  k,
  s,
  t 
)
Value:
do { \
(a) += ((k) + (t) + H((b), (c), (d))); \
(a) = ROTATE(a, s); \
} while (0)
int c
Definition: cpp_unittests.cpp:275
bool t
Definition: UpdateContents.py:37
DOMString k
Definition: WebCryptoAPI.idl:122
GLboolean GLboolean GLboolean GLboolean a
Definition: gl2ext.h:306
#define H(b, c, d)
Definition: md4.c:113
struct A s
GLboolean GLboolean GLboolean b
Definition: gl2ext.h:306
#define ROTATE(a, n)
Definition: md4.c:115
#define d
Definition: float-mm.c:30

◆ ROTATE

#define ROTATE (   a,
  n 
)    (((a) << (n)) | ((a) >> (32 - (n))))

Function Documentation

◆ MD4()

uint8_t* MD4 ( const uint8_t data,
size_t  len,
uint8_t out 
)

◆ md4_block_data_order()

void md4_block_data_order ( uint32_t state,
const uint8_t data,
size_t  num 
)

◆ MD4_Init()

int MD4_Init ( MD4_CTX md4)