SHA1.C File Reference

Functions to compute SHA1 message digest of files or memory blocks according to the NIST specification FIPS-180-1. More...

Include dependency graph for SHA1.C:

Go to the source code of this file.

Macros

#define K1   0x5a827999
 
#define K2   0x6ed9eba1
 
#define K3   0x8f1bbcdc
 
#define K4   0xca62c1d6
 
#define F1(B, C, D)   ( D ^ ( B & ( C ^ D ) ) )
 
#define F2(B, C, D)   (B ^ C ^ D)
 
#define F3(B, C, D)   ( ( B & C ) | ( D & ( B | C ) ) )
 
#define F4(B, C, D)   (B ^ C ^ D)
 
#define rol_uint32(x, nbits)   (((x) << (nbits)) | ((x) >> (32 - (nbits))))
 
#define M(I)
 
#define R(A, B, C, D, E, F, K, M)
 

Detailed Description

Functions to compute SHA1 message digest of files or memory blocks according to the NIST specification FIPS-180-1.

Original source file SHA1.C

Adapted from the gnulib implementation written by Scott G. Miller with credits to Robert Klep rober.nosp@m.t@il.nosp@m.se.nl – Expansion function fix

Copyright (C) 2000, 2001, 2003, 2004, 2005, 2006, 2008 Free Software Foundation, Inc.

Definition in file SHA1.C.

Macro Definition Documentation

◆ K1

#define K1   0x5a827999

Definition at line 167 of file SHA1.C.

◆ K2

#define K2   0x6ed9eba1

Definition at line 168 of file SHA1.C.

◆ K3

#define K3   0x8f1bbcdc

Definition at line 169 of file SHA1.C.

◆ K4

#define K4   0xca62c1d6

Definition at line 170 of file SHA1.C.

◆ F1

#define F1 (   B,
  C,
  D 
)    ( D ^ ( B & ( C ^ D ) ) )

Definition at line 173 of file SHA1.C.

◆ F2

#define F2 (   B,
  C,
  D 
)    (B ^ C ^ D)

Definition at line 174 of file SHA1.C.

◆ F3

#define F3 (   B,
  C,
  D 
)    ( ( B & C ) | ( D & ( B | C ) ) )

Definition at line 175 of file SHA1.C.

◆ F4

#define F4 (   B,
  C,
  D 
)    (B ^ C ^ D)

Definition at line 176 of file SHA1.C.

◆ rol_uint32

#define rol_uint32 (   x,
  nbits 
)    (((x) << (nbits)) | ((x) >> (32 - (nbits))))

◆ M

#define M (   I)
Value:
( tm = x[I & 0x0F] ^ x[(I-14) & 0x0F] \
^ x[(I-8) & 0x0F] ^ x[(I-3) & 0x0F] \
, (x[I & 0x0F] = rol_uint32(tm, 1)) )
#define rol_uint32(x, nbits)
static const Identity< scalar > I
Definition: Identity.H:93

◆ R

#define R (   A,
  B,
  C,
  D,
  E,
  F,
  K,
  M 
)
Value:
do \
{ \
E += rol_uint32(A, 5) + F(B, C, D) + K + M; \
B = rol_uint32(B, 30); \
} while (0)
static const Foam::dimensionedScalar A("A", Foam::dimPressure, 611.21)
static const Foam::dimensionedScalar B("B", Foam::dimless, 18.678)
static const Foam::dimensionedScalar D("D", Foam::dimTemperature, 257.14)
static const Foam::dimensionedScalar C("C", Foam::dimTemperature, 234.5)
#define M(I)
K
Definition: pEqn.H:75
const dimensionedScalar F
Faraday constant: default SI units: [C/mol].