Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
sha512_k.c File Reference
#include <windows.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <errno.h>
#include <fcntl.h>
#include <ctype.h>
#include <math.h>
#include <wctype.h>
#include <wchar.h>
#include <stdarg.h>
#include <stddef.h>
#include <setjmp.h>
#include <locale.h>
#include <signal.h>
#include <limits.h>
#include <float.h>
#include <iso646.h>
#include <assert.h>
#include "sha.h"

Macros

#define U64(C)
 
#define B(x, j)
 
#define PULL64(x)
 
#define ROTR(x, s)
 
#define Sigma0(x)
 
#define Sigma1(x)
 
#define sigma0(x)
 
#define sigma1(x)
 
#define Ch(x, y, z)
 
#define Maj(x, y, z)
 
#define ROUND_00_15(i, a, b, c, d, e, f, g, h)
 
#define ROUND_16_80(i, j, a, b, c, d, e, f, g, h, X)
 

Typedefs

typedef void *(* memset_t) (void *, int, size_t)
 

Functions

int sha512_224_init (SHA512_CTX *c)
 
int sha512_256_init (SHA512_CTX *c)
 
int SHA384_Init (SHA512_CTX *c)
 
int SHA512_Init (SHA512_CTX *c)
 
int SHA512_Final (unsigned char *md, SHA512_CTX *c)
 
int SHA384_Final (unsigned char *md, SHA512_CTX *c)
 
int SHA512_Update (SHA512_CTX *c, const void *_data, size_t len)
 
int SHA384_Update (SHA512_CTX *c, const void *data, size_t len)
 
void SHA512_Transform (SHA512_CTX *c, const unsigned char *data)
 
unsigned char * SHA384 (const unsigned char *d, size_t n, unsigned char *md)
 
unsigned char * SHA512 (const unsigned char *d, size_t n, unsigned char *md)
 
void * sha512_init_k ()
 
void sha512_update_k (void *ctx, unsigned char *buffer_k, unsigned int len_k)
 
void sha512_final_k (void *ctx, unsigned char *array_digest_64_bytes)
 
void get_sha_512_as_an_array_of_bytes_k (unsigned char *buffer_k, unsigned int len_k, unsigned char *array_digest_k)
 
void get_sha_512_as_string_k (unsigned char *buffer_k, unsigned int len_k, unsigned char *digest_k)
 

Macro Definition Documentation

◆ B

#define B ( x,
j )
Value:
(((SHA_LONG64)(*(((const unsigned char *)(&x))+j)))<<((7-j)*8))
#define SHA_LONG64
Definition sha.h:108

◆ Ch

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

◆ Maj

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

◆ PULL64

#define PULL64 ( x)
Value:
(B(x,0)|B(x,1)|B(x,2)|B(x,3)|B(x,4)|B(x,5)|B(x,6)|B(x,7))
#define B(x, j)
Definition sha512_k.c:531

◆ ROTR

#define ROTR ( x,
s )
Value:
(((x)>>s) | (x)<<(64-s))

◆ ROUND_00_15

#define ROUND_00_15 ( i,
a,
b,
c,
d,
e,
f,
g,
h )
Value:
do { \
T1 += h + Sigma1(e) + Ch(e,f,g) + K512[i]; \
h = Sigma0(a) + Maj(a,b,c); \
d += T1; h += T1; } while (0)
#define Maj(x, y, z)
Definition sha512_k.c:542
#define Sigma0(x)
Definition sha512_k.c:537
#define Sigma1(x)
Definition sha512_k.c:538
#define Ch(x, y, z)
Definition sha512_k.c:541
#define T1(wx, i)
Definition Sha256.c:168
#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
lzma_index ** i
Definition index.h:629

◆ ROUND_16_80

#define ROUND_16_80 ( i,
j,
a,
b,
c,
d,
e,
f,
g,
h,
X )
Value:
do { \
s0 = X[(j+1)&0x0f]; s0 = sigma0(s0); \
s1 = X[(j+14)&0x0f]; s1 = sigma1(s1); \
T1 = X[(j)&0x0f] += s0 + s1 + X[(j+9)&0x0f]; \
ROUND_00_15(i+j,a,b,c,d,e,f,g,h); } while (0)
#define sigma1(x)
Definition sha512_k.c:540
#define sigma0(x)
Definition sha512_k.c:539
#define s0(x)
Definition Sha256.c:141
#define s1(x)
Definition Sha256.c:142
#define X(name, r, bit)
Definition cpu.h:110

◆ Sigma0

#define Sigma0 ( x)
Value:
(ROTR((x),28) ^ ROTR((x),34) ^ ROTR((x),39))
#define ROTR(x, s)
Definition sha512_k.c:535

◆ sigma0

#define sigma0 ( x)
Value:
(ROTR((x),1) ^ ROTR((x),8) ^ ((x)>>7))

◆ Sigma1

#define Sigma1 ( x)
Value:
(ROTR((x),14) ^ ROTR((x),18) ^ ROTR((x),41))

◆ sigma1

#define sigma1 ( x)
Value:
(ROTR((x),19) ^ ROTR((x),61) ^ ((x)>>6))

◆ U64

#define U64 ( C)
Value:
C ## ULL
#define C(x)
Definition crc_macros.h:25

Typedef Documentation

◆ memset_t

typedef void *(* memset_t) (void *, int, size_t)

Function Documentation

◆ get_sha_512_as_an_array_of_bytes_k()

void get_sha_512_as_an_array_of_bytes_k ( unsigned char * buffer_k,
unsigned int len_k,
unsigned char * array_digest_k )

buffer_k - the input buffer t retrieve the SHA-512 len_k - the size of the buffer array_digest_k - the 64 bytes to hold the digest

◆ get_sha_512_as_string_k()

void get_sha_512_as_string_k ( unsigned char * buffer_k,
unsigned int len_k,
unsigned char * digest_k )

buffer_k - the input buffer t retrieve the SHA-512 len_k - the size of the buffer digest_k - the 129 bytes array of unsigned char for the output digest, it is 128 for the digest plus 1 for the end of string character

◆ SHA384()

unsigned char * SHA384 ( const unsigned char * d,
size_t n,
unsigned char * md )

◆ SHA384_Final()

int SHA384_Final ( unsigned char * md,
SHA512_CTX * c )

◆ SHA384_Init()

int SHA384_Init ( SHA512_CTX * c)

◆ SHA384_Update()

int SHA384_Update ( SHA512_CTX * c,
const void * data,
size_t len )

◆ SHA512()

unsigned char * SHA512 ( const unsigned char * d,
size_t n,
unsigned char * md )

◆ sha512_224_init()

int sha512_224_init ( SHA512_CTX * c)

◆ sha512_256_init()

int sha512_256_init ( SHA512_CTX * c)

◆ SHA512_Final()

int SHA512_Final ( unsigned char * md,
SHA512_CTX * c )

◆ sha512_final_k()

void sha512_final_k ( void * ctx,
unsigned char * array_digest_64_bytes )

◆ SHA512_Init()

int SHA512_Init ( SHA512_CTX * c)

◆ sha512_init_k()

void * sha512_init_k ( void )

◆ SHA512_Transform()

void SHA512_Transform ( SHA512_CTX * c,
const unsigned char * data )

◆ SHA512_Update()

int SHA512_Update ( SHA512_CTX * c,
const void * _data,
size_t len )

◆ sha512_update_k()

void sha512_update_k ( void * ctx,
unsigned char * buffer_k,
unsigned int len_k )