Electroneum
Classes | Macros | Typedefs | Functions
groestl.h File Reference
#include <stdint.h>
Include dependency graph for groestl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  hashState
 

Macros

#define ROWS   8
 
#define LENGTHFIELDLEN   ROWS
 
#define COLS512   8
 
#define SIZE512   (ROWS*COLS512)
 
#define ROUNDS512   10
 
#define HASH_BIT_LEN   256
 
#define ROTL32(v, n)   ((((v)<<(n))|((v)>>(32-(n))))&li_32(ffffffff))
 
#define li_32(h)   0x##h##u
 
#define EXT_BYTE(var, n)   ((uint8_t)((uint32_t)(var) >> (8*n)))
 
#define u32BIG(a)
 

Typedefs

typedef unsigned char BitSequence
 
typedef unsigned long long DataLength
 

Functions

void groestl (const BitSequence *, DataLength, BitSequence *)
 

Macro Definition Documentation

◆ COLS512

#define COLS512   8

◆ EXT_BYTE

#define EXT_BYTE (   var,
 
)    ((uint8_t)((uint32_t)(var) >> (8*n)))

◆ HASH_BIT_LEN

#define HASH_BIT_LEN   256

◆ LENGTHFIELDLEN

#define LENGTHFIELDLEN   ROWS

◆ li_32

#define li_32 (   h)    0x##h##u

◆ ROTL32

#define ROTL32 (   v,
 
)    ((((v)<<(n))|((v)>>(32-(n))))&li_32(ffffffff))

◆ ROUNDS512

#define ROUNDS512   10

◆ ROWS

#define ROWS   8

◆ SIZE512

#define SIZE512   (ROWS*COLS512)

◆ u32BIG

#define u32BIG (   a)
Value:
((ROTL32(a,8) & li_32(00FF00FF)) | \
(ROTL32(a,24) & li_32(FF00FF00)))
#define ROTL32(v, n)
Definition: groestl.h:54
#define li_32(h)
Definition: groestl.h:57
string a
Definition: MakeCryptoOps.py:15

Typedef Documentation

◆ BitSequence

typedef unsigned char BitSequence

◆ DataLength

typedef unsigned long long DataLength

Function Documentation

◆ groestl()

void groestl ( const BitSequence data,
DataLength  databitlen,
BitSequence hashval 
)