Fabcoin Core  0.16.2
P2P Digital Currency
Classes | Macros | Typedefs | Functions
blake2.cpp File Reference
#include "pch.h"
#include "config.h"
#include "cryptlib.h"
#include "argnames.h"
#include "algparam.h"
#include "blake2.h"
#include "cpu.h"
Include dependency graph for blake2.cpp:

Go to the source code of this file.

Classes

struct  BLAKE2_IV< T_64bit >
 
struct  BLAKE2_IV< false >
 BLAKE2s initialization vector specialization. More...
 
struct  BLAKE2_IV< true >
 
struct  BLAKE2_Sigma< T_64bit >
 
struct  BLAKE2_Sigma< false >
 
struct  BLAKE2_Sigma< true >
 BLAKE2b sigma table specialization. More...
 

Macros

#define BLAKE2S_IV(n)   BLAKE2_IV<false>::iv[n]
 
#define BLAKE2B_IV(n)   BLAKE2_IV<true>::iv[n]
 
#define BLAKE2_G(r, i, a, b, c, d)
 
#define BLAKE2_ROUND(r)
 
#define BLAKE2_G(r, i, a, b, c, d)
 
#define BLAKE2_ROUND(r)
 

Typedefs

typedef void(* pfnCompress32) (const byte *, BLAKE2_State< word32, false > &)
 
typedef void(* pfnCompress64) (const byte *, BLAKE2_State< word64, true > &)
 

Functions

pfnCompress64 InitializeCompress64Fn ()
 
pfnCompress32 InitializeCompress32Fn ()
 

Macro Definition Documentation

#define BLAKE2_G (   r,
  i,
  a,
  b,
  c,
  d 
)
Value:
do { \
a = a + b + m[BLAKE2_Sigma<true>::sigma[r][2*i+0]]; \
d = rotrVariable<word64>(d ^ a, 32); \
c = c + d; \
b = rotrVariable<word64>(b ^ c, 24); \
a = a + b + m[BLAKE2_Sigma<true>::sigma[r][2*i+1]]; \
d = rotrVariable<word64>(d ^ a, 16); \
c = c + d; \
b = rotrVariable<word64>(b ^ c, 63); \
} while(0)
#define c(i)
#define a(i)
#define b(i, j)
#define d(i)
Definition: sha.cpp:732
#define BLAKE2_G (   r,
  i,
  a,
  b,
  c,
  d 
)
Value:
do { \
a = a + b + m[BLAKE2_Sigma<false>::sigma[r][2*i+0]]; \
d = rotrVariable<word32>(d ^ a, 16); \
c = c + d; \
b = rotrVariable<word32>(b ^ c, 12); \
a = a + b + m[BLAKE2_Sigma<false>::sigma[r][2*i+1]]; \
d = rotrVariable<word32>(d ^ a, 8); \
c = c + d; \
b = rotrVariable<word32>(b ^ c, 7); \
} while(0)
#define c(i)
#define a(i)
#define b(i, j)
#define d(i)
Definition: sha.cpp:732
#define BLAKE2_ROUND (   r)
Value:
do { \
BLAKE2_G(r,0,v[ 0],v[ 4],v[ 8],v[12]); \
BLAKE2_G(r,1,v[ 1],v[ 5],v[ 9],v[13]); \
BLAKE2_G(r,2,v[ 2],v[ 6],v[10],v[14]); \
BLAKE2_G(r,3,v[ 3],v[ 7],v[11],v[15]); \
BLAKE2_G(r,4,v[ 0],v[ 5],v[10],v[15]); \
BLAKE2_G(r,5,v[ 1],v[ 6],v[11],v[12]); \
BLAKE2_G(r,6,v[ 2],v[ 7],v[ 8],v[13]); \
BLAKE2_G(r,7,v[ 3],v[ 4],v[ 9],v[14]); \
} while(0)
#define BLAKE2_G(r, i, a, b, c, d)
#define BLAKE2_ROUND (   r)
Value:
do { \
BLAKE2_G(r,0,v[ 0],v[ 4],v[ 8],v[12]); \
BLAKE2_G(r,1,v[ 1],v[ 5],v[ 9],v[13]); \
BLAKE2_G(r,2,v[ 2],v[ 6],v[10],v[14]); \
BLAKE2_G(r,3,v[ 3],v[ 7],v[11],v[15]); \
BLAKE2_G(r,4,v[ 0],v[ 5],v[10],v[15]); \
BLAKE2_G(r,5,v[ 1],v[ 6],v[11],v[12]); \
BLAKE2_G(r,6,v[ 2],v[ 7],v[ 8],v[13]); \
BLAKE2_G(r,7,v[ 3],v[ 4],v[ 9],v[14]); \
} while(0)
#define BLAKE2_G(r, i, a, b, c, d)
#define BLAKE2B_IV (   n)    BLAKE2_IV<true>::iv[n]

Definition at line 99 of file blake2.cpp.

#define BLAKE2S_IV (   n)    BLAKE2_IV<false>::iv[n]

Definition at line 81 of file blake2.cpp.

Typedef Documentation

typedef void(* pfnCompress32) (const byte *, BLAKE2_State< word32, false > &)

Definition at line 151 of file blake2.cpp.

typedef void(* pfnCompress64) (const byte *, BLAKE2_State< word64, true > &)

Definition at line 152 of file blake2.cpp.

Function Documentation

pfnCompress32 InitializeCompress32Fn ( )

Definition at line 176 of file blake2.cpp.

Here is the caller graph for this function:

pfnCompress64 InitializeCompress64Fn ( )

Definition at line 154 of file blake2.cpp.

Here is the caller graph for this function: