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

Macros

#define DATA_ORDER_IS_BIG_ENDIAN
 
#define HASH_CTX   SHA_CTX
 
#define HASH_CBLOCK   64
 
#define HASH_MAKE_STRING(c, s)
 
#define HASH_UPDATE   SHA1_Update
 
#define HASH_TRANSFORM   SHA1_Transform
 
#define HASH_FINAL   SHA1_Final
 
#define HASH_BLOCK_DATA_ORDER   sha1_block_data_order
 
#define ROTATE(a, n)   (((a) << (n)) | ((a) >> (32 - (n))))
 
#define Xupdate(a, ix, ia, ib, ic, id)
 
#define K_00_19   0x5a827999UL
 
#define K_20_39   0x6ed9eba1UL
 
#define K_40_59   0x8f1bbcdcUL
 
#define K_60_79   0xca62c1d6UL
 
#define F_00_19(b, c, d)   ((((c) ^ (d)) & (b)) ^ (d))
 
#define F_20_39(b, c, d)   ((b) ^ (c) ^ (d))
 
#define F_40_59(b, c, d)   (((b) & (c)) | (((b) | (c)) & (d)))
 
#define F_60_79(b, c, d)   F_20_39(b, c, d)
 
#define BODY_00_15(i, a, b, c, d, e, f, xi)
 
#define BODY_16_19(i, a, b, c, d, e, f, xi, xa, xb, xc, xd)
 
#define BODY_20_31(i, a, b, c, d, e, f, xi, xa, xb, xc, xd)
 
#define BODY_32_39(i, a, b, c, d, e, f, xa, xb, xc, xd)
 
#define BODY_40_59(i, a, b, c, d, e, f, xa, xb, xc, xd)
 
#define BODY_60_79(i, a, b, c, d, e, f, xa, xb, xc, xd)
 
#define X(i)   XX##i
 

Functions

int SHA1_Init (SHA_CTX *sha)
 
uint8_tSHA1 (const uint8_t *data, size_t len, uint8_t *out)
 

Macro Definition Documentation

◆ BODY_00_15

#define BODY_00_15 (   i,
  a,
  b,
  c,
  d,
  e,
  f,
  xi 
)
Value:
do { \
(f) = (xi) + (e) + K_00_19 + ROTATE((a), 5) + F_00_19((b), (c), (d)); \
(b) = ROTATE((b), 30); \
} while (0)
#define K_00_19
Definition: sha1.c:134
#define F_00_19(b, c, d)
Definition: sha1.c:144
int c
Definition: cpp_unittests.cpp:275
GLboolean GLboolean GLboolean GLboolean a
Definition: gl2ext.h:306
GLfloat f
Definition: gl2.h:417
#define ROTATE(a, n)
Definition: sha1.c:120
DOMString e
Definition: WebCryptoAPI.idl:115
GLboolean GLboolean GLboolean b
Definition: gl2ext.h:306
#define d
Definition: float-mm.c:30

◆ BODY_16_19

#define BODY_16_19 (   i,
  a,
  b,
  c,
  d,
  e,
  f,
  xi,
  xa,
  xb,
  xc,
  xd 
)
Value:
do { \
Xupdate(f, xi, xa, xb, xc, xd); \
(f) += (e) + K_00_19 + ROTATE((a), 5) + F_00_19((b), (c), (d)); \
(b) = ROTATE((b), 30); \
} while (0)
#define K_00_19
Definition: sha1.c:134
#define F_00_19(b, c, d)
Definition: sha1.c:144
int c
Definition: cpp_unittests.cpp:275
GLboolean GLboolean GLboolean GLboolean a
Definition: gl2ext.h:306
GLfloat f
Definition: gl2.h:417
#define ROTATE(a, n)
Definition: sha1.c:120
DOMString e
Definition: WebCryptoAPI.idl:115
GLboolean GLboolean GLboolean b
Definition: gl2ext.h:306
#define d
Definition: float-mm.c:30

◆ BODY_20_31

#define BODY_20_31 (   i,
  a,
  b,
  c,
  d,
  e,
  f,
  xi,
  xa,
  xb,
  xc,
  xd 
)
Value:
do { \
Xupdate(f, xi, xa, xb, xc, xd); \
(f) += (e) + K_20_39 + ROTATE((a), 5) + F_20_39((b), (c), (d)); \
(b) = ROTATE((b), 30); \
} while (0)
int c
Definition: cpp_unittests.cpp:275
#define F_20_39(b, c, d)
Definition: sha1.c:145
#define K_20_39
Definition: sha1.c:135
GLboolean GLboolean GLboolean GLboolean a
Definition: gl2ext.h:306
GLfloat f
Definition: gl2.h:417
#define ROTATE(a, n)
Definition: sha1.c:120
DOMString e
Definition: WebCryptoAPI.idl:115
GLboolean GLboolean GLboolean b
Definition: gl2ext.h:306
#define d
Definition: float-mm.c:30

◆ BODY_32_39

#define BODY_32_39 (   i,
  a,
  b,
  c,
  d,
  e,
  f,
  xa,
  xb,
  xc,
  xd 
)
Value:
do { \
Xupdate(f, xa, xa, xb, xc, xd); \
(f) += (e) + K_20_39 + ROTATE((a), 5) + F_20_39((b), (c), (d)); \
(b) = ROTATE((b), 30); \
} while (0)
int c
Definition: cpp_unittests.cpp:275
#define F_20_39(b, c, d)
Definition: sha1.c:145
#define K_20_39
Definition: sha1.c:135
GLboolean GLboolean GLboolean GLboolean a
Definition: gl2ext.h:306
GLfloat f
Definition: gl2.h:417
#define ROTATE(a, n)
Definition: sha1.c:120
DOMString e
Definition: WebCryptoAPI.idl:115
GLboolean GLboolean GLboolean b
Definition: gl2ext.h:306
#define d
Definition: float-mm.c:30

◆ BODY_40_59

#define BODY_40_59 (   i,
  a,
  b,
  c,
  d,
  e,
  f,
  xa,
  xb,
  xc,
  xd 
)
Value:
do { \
Xupdate(f, xa, xa, xb, xc, xd); \
(f) += (e) + K_40_59 + ROTATE((a), 5) + F_40_59((b), (c), (d)); \
(b) = ROTATE((b), 30); \
} while (0)
int c
Definition: cpp_unittests.cpp:275
#define F_40_59(b, c, d)
Definition: sha1.c:146
#define K_40_59
Definition: sha1.c:136
GLboolean GLboolean GLboolean GLboolean a
Definition: gl2ext.h:306
GLfloat f
Definition: gl2.h:417
#define ROTATE(a, n)
Definition: sha1.c:120
DOMString e
Definition: WebCryptoAPI.idl:115
GLboolean GLboolean GLboolean b
Definition: gl2ext.h:306
#define d
Definition: float-mm.c:30

◆ BODY_60_79

#define BODY_60_79 (   i,
  a,
  b,
  c,
  d,
  e,
  f,
  xa,
  xb,
  xc,
  xd 
)
Value:
do { \
Xupdate(f, xa, xa, xb, xc, xd); \
(f) = (xa) + (e) + K_60_79 + ROTATE((a), 5) + F_60_79((b), (c), (d)); \
(b) = ROTATE((b), 30); \
} while (0)
int c
Definition: cpp_unittests.cpp:275
#define K_60_79
Definition: sha1.c:137
#define F_60_79(b, c, d)
Definition: sha1.c:147
GLboolean GLboolean GLboolean GLboolean a
Definition: gl2ext.h:306
GLfloat f
Definition: gl2.h:417
#define ROTATE(a, n)
Definition: sha1.c:120
DOMString e
Definition: WebCryptoAPI.idl:115
GLboolean GLboolean GLboolean b
Definition: gl2ext.h:306
#define d
Definition: float-mm.c:30

◆ DATA_ORDER_IS_BIG_ENDIAN

#define DATA_ORDER_IS_BIG_ENDIAN

◆ F_00_19

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

◆ F_20_39

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

◆ F_40_59

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

◆ F_60_79

#define F_60_79 (   b,
  c,
  d 
)    F_20_39(b, c, d)

◆ HASH_BLOCK_DATA_ORDER

#define HASH_BLOCK_DATA_ORDER   sha1_block_data_order

◆ HASH_CBLOCK

#define HASH_CBLOCK   64

◆ HASH_CTX

#define HASH_CTX   SHA_CTX

◆ HASH_FINAL

#define HASH_FINAL   SHA1_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)); \
ll = (c)->h[4]; \
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   SHA1_Transform

◆ HASH_UPDATE

#define HASH_UPDATE   SHA1_Update

◆ K_00_19

#define K_00_19   0x5a827999UL

◆ K_20_39

#define K_20_39   0x6ed9eba1UL

◆ K_40_59

#define K_40_59   0x8f1bbcdcUL

◆ K_60_79

#define K_60_79   0xca62c1d6UL

◆ ROTATE

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

◆ X

#define X (   i)    XX##i

◆ Xupdate

#define Xupdate (   a,
  ix,
  ia,
  ib,
  ic,
  id 
)
Value:
do { \
(a) = ((ia) ^ (ib) ^ (ic) ^ (id)); \
(ix) = (a) = ROTATE((a), 1); \
} while (0)
short *__restrict__ short *__restrict__ int *__restrict__ int *__restrict__ int *__restrict__ ic
Definition: gcc-loops.cpp:169
short *__restrict__ short *__restrict__ int *__restrict__ int *__restrict__ ib
Definition: gcc-loops.cpp:169
GLenum GLuint id
Definition: gl2ext.h:134
GLboolean GLboolean GLboolean GLboolean a
Definition: gl2ext.h:306
#define ROTATE(a, n)
Definition: sha1.c:120
short *__restrict__ short *__restrict__ int *__restrict__ ia
Definition: gcc-loops.cpp:169

Function Documentation

◆ SHA1()

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

◆ SHA1_Init()

int SHA1_Init ( SHA_CTX sha)