Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
Sha256.c File Reference
#include "Precomp.h"
#include <string.h>
#include "Sha256.h"
#include "RotateDefs.h"
#include "CpuArch.h"

Macros

#define SHA256_UPDATE_BLOCKS(p)
 
#define STEP_PRE   2
 
#define STEP_MAIN   4
 
#define Z7_SHA256_BIG_W
 
#define S0(x)
 
#define S1(x)
 
#define s0(x)
 
#define s1(x)
 
#define Ch(x, y, z)
 
#define Maj(x, y, z)
 
#define W_PRE(i)
 
#define blk2_main(j, i)
 
#define w(j, i)
 
#define blk2(j, i)
 
#define W_MAIN(i)
 
#define T1(wx, i)
 
#define R1_PRE(i)
 
#define R1_MAIN(i)
 
#define R2_MAIN(i)
 
#define K   SHA256_K_ARRAY
 
#define Sha256_UpdateBlock(p)
 

Functions

void Z7_FASTCALL Sha256_UpdateBlocks (UInt32 state[8], const Byte *data, size_t numBlocks)
 
BoolInt Sha256_SetFunction (CSha256 *p, unsigned algo)
 
void Sha256_InitState (CSha256 *p)
 
void Sha256_Init (CSha256 *p)
 
 MY_ALIGN (64) const
 
void Sha256_Update (CSha256 *p, const Byte *data, size_t size)
 
void Sha256_Final (CSha256 *p, Byte *digest)
 
void Sha256Prepare (void)
 

Macro Definition Documentation

◆ blk2

#define blk2 ( j,
i )
Value:
(w(j, i) = w(j, (i)-16) + blk2_main(j, i))
#define w(j, i)
Definition Sha256.c:154
#define blk2_main(j, i)
Definition Sha256.c:150
lzma_index ** i
Definition index.h:629

◆ blk2_main

#define blk2_main ( j,
i )
Value:
s1(w(j, (i)-2)) + w(j, (i)-7) + s0(w(j, (i)-15))
#define s0(x)
Definition Sha256.c:141
#define s1(x)
Definition Sha256.c:142

◆ Ch

#define Ch ( x,
y,
z )
Value:
(z^(x&(y^z)))

◆ K

#define K   SHA256_K_ARRAY

◆ Maj

#define Maj ( x,
y,
z )
Value:
((x&y)|(z&(x|y)))

◆ R1_MAIN

#define R1_MAIN ( i)
Value:
#define W_MAIN(i)
Definition Sha256.c:165
#define T1(wx, i)
Definition Sha256.c:168

◆ R1_PRE

#define R1_PRE ( i)
Value:
#define W_PRE(i)
Definition Sha256.c:148

◆ R2_MAIN

#define R2_MAIN ( i)
Value:
R1_MAIN(i + 1) \
#define R1_MAIN(i)
Definition Sha256.c:181

◆ S0

#define S0 ( x)
Value:
(rotrFixed(x, 2) ^ rotrFixed(x,13) ^ rotrFixed(x,22))
#define rotrFixed(x, n)
Definition RotateDefs.h:43

◆ s0

#define s0 ( x)
Value:
(rotrFixed(x, 7) ^ rotrFixed(x,18) ^ (x >> 3))

◆ S1

#define S1 ( x)
Value:
(rotrFixed(x, 6) ^ rotrFixed(x,11) ^ rotrFixed(x,25))

◆ s1

#define s1 ( x)
Value:
(rotrFixed(x,17) ^ rotrFixed(x,19) ^ (x >>10))

◆ SHA256_UPDATE_BLOCKS

#define SHA256_UPDATE_BLOCKS ( p)
Value:
void Z7_FASTCALL Sha256_UpdateBlocks(UInt32 state[8], const Byte *data, size_t numBlocks)
Definition Sha256.c:259

◆ Sha256_UpdateBlock

#define Sha256_UpdateBlock ( p)
Value:
SHA256_UPDATE_BLOCKS(p)(p->state, p->buffer, 1)
#define SHA256_UPDATE_BLOCKS(p)
Definition Sha256.c:57

◆ STEP_MAIN

#define STEP_MAIN   4

◆ STEP_PRE

#define STEP_PRE   2

◆ T1

#define T1 ( wx,
i )
Value:
tmp = h + S1(e) + Ch(e,f,g) + K[(i)+(size_t)(j)] + wx(i); \
h = g; \
g = f; \
f = e; \
e = d + tmp; \
tmp += S0(a) + Maj(a, b, c); \
d = c; \
c = b; \
b = a; \
a = tmp; \
#define Maj(x, y, z)
Definition Sha256.c:145
#define S0(x)
Definition Sha256.c:139
#define S1(x)
Definition Sha256.c:140
#define K
Definition Sha256.c:256
#define Ch(x, y, z)
Definition Sha256.c:144
#define d(i)
Definition sha256.c:44
#define b(i)
Definition sha256.c:42
#define f(i)
Definition sha256.c:46
#define c(i)
Definition sha256.c:43
#define g(i)
Definition sha256.c:47
#define a(i)
Definition sha256.c:41
#define h(i)
Definition sha256.c:48
#define e(i)
Definition sha256.c:45

◆ w

#define w ( j,
i )
Value:
W[(size_t)(j) + i]

◆ W_MAIN

#define W_MAIN ( i)
Value:
blk2(j, i)
#define blk2(j, i)
Definition Sha256.c:155

◆ W_PRE

#define W_PRE ( i)
Value:
(W[(i) + (size_t)(j)] = GetBe32(data + ((size_t)(j) + i) * 4))
#define GetBe32(p)
Definition CpuArch.h:529
Definition poolTests.c:28

◆ Z7_SHA256_BIG_W

#define Z7_SHA256_BIG_W

Function Documentation

◆ MY_ALIGN()

MY_ALIGN ( 64 ) const
extern

◆ Sha256_Final()

void Sha256_Final ( CSha256 * p,
Byte * digest )

◆ Sha256_Init()

void Sha256_Init ( CSha256 * p)

◆ Sha256_InitState()

void Sha256_InitState ( CSha256 * p)

◆ Sha256_SetFunction()

BoolInt Sha256_SetFunction ( CSha256 * p,
unsigned algo )

◆ Sha256_Update()

void Sha256_Update ( CSha256 * p,
const Byte * data,
size_t size )

◆ Sha256_UpdateBlocks()

Z7_NO_INLINE void Z7_FASTCALL Sha256_UpdateBlocks ( UInt32 state[8],
const Byte * data,
size_t numBlocks )

◆ Sha256Prepare()

void Sha256Prepare ( void )