FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
blake2s.c File Reference
+ Include dependency graph for blake2s.c:

Go to the source code of this file.

Macros

#define G(r, i, a, b, c, d)
 
#define ROUND(r)
 

Functions

static void blake2s_set_lastnode (blake2s_state_t *S)
 
static int blake2s_is_lastblock (const blake2s_state_t *S)
 
static void blake2s_set_lastblock (blake2s_state_t *S)
 
static void blake2s_increment_counter (blake2s_state_t *S, const uint32_t inc)
 
static void blake2s_init0 (blake2s_state_t *S)
 
int blake2s_init_param (blake2s_state_t *S, const blake2s_param_t *P)
 
int blake2s_init (blake2s_state_t *S, size_t outlen)
 
int blake2s_init_key (blake2s_state_t *S, size_t outlen, const void *key, size_t keylen)
 
static void blake2s_compress (blake2s_state_t *S, const uint8_t in[BLAKE2S_BLOCK_BYTES])
 
int blake2s_update (blake2s_state_t *S, const void *pin, size_t inlen)
 
int blake2s_final (blake2s_state_t *S, void *out, size_t outlen)
 
int blake2s (void *out, size_t outlen, const void *in, size_t inlen, const void *key, size_t keylen)
 

Variables

static const uint32_t blake2s_IV [8]
 
static const uint8_t blake2s_sigma [10][16]
 

Macro Definition Documentation

◆ G

#define G (   r,
  i,
  a,
  b,
  c,
 
)
Value:
do { \
a = a + b + m[blake2s_sigma[r][2*i+0]]; \
d = rotr32(d ^ a, 16); \
c = c + d; \
b = rotr32(b ^ c, 12); \
a = a + b + m[blake2s_sigma[r][2*i+1]]; \
d = rotr32(d ^ a, 8); \
c = c + d; \
b = rotr32(b ^ c, 7); \
} while(0)

Definition at line 166 of file blake2s.c.

◆ ROUND

#define ROUND (   r)
Value:
do { \
G(r,0,v[ 0],v[ 4],v[ 8],v[12]); \
G(r,1,v[ 1],v[ 5],v[ 9],v[13]); \
G(r,2,v[ 2],v[ 6],v[10],v[14]); \
G(r,3,v[ 3],v[ 7],v[11],v[15]); \
G(r,4,v[ 0],v[ 5],v[10],v[15]); \
G(r,5,v[ 1],v[ 6],v[11],v[12]); \
G(r,6,v[ 2],v[ 7],v[ 8],v[13]); \
G(r,7,v[ 3],v[ 4],v[ 9],v[14]); \
} while(0)

Definition at line 178 of file blake2s.c.

Function Documentation

◆ blake2s()

int blake2s ( void *  out,
size_t  outlen,
const void *  in,
size_t  inlen,
const void *  key,
size_t  keylen 
)

Definition at line 292 of file blake2s.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ blake2s_compress()

static void blake2s_compress ( blake2s_state_t S,
const uint8_t  in[BLAKE2S_BLOCK_BYTES] 
)
static

Definition at line 191 of file blake2s.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ blake2s_final()

int blake2s_final ( blake2s_state_t S,
void *  out,
size_t  outlen 
)

Definition at line 267 of file blake2s.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ blake2s_increment_counter()

static void blake2s_increment_counter ( blake2s_state_t S,
const uint32_t  inc 
)
static

Definition at line 69 of file blake2s.c.

+ Here is the caller graph for this function:

◆ blake2s_init()

int blake2s_init ( blake2s_state_t S,
size_t  outlen 
)

Definition at line 105 of file blake2s.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ blake2s_init0()

static void blake2s_init0 ( blake2s_state_t S)
static

Definition at line 76 of file blake2s.c.

+ Here is the caller graph for this function:

◆ blake2s_init_key()

int blake2s_init_key ( blake2s_state_t S,
size_t  outlen,
const void *  key,
size_t  keylen 
)

Definition at line 129 of file blake2s.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ blake2s_init_param()

int blake2s_init_param ( blake2s_state_t S,
const blake2s_param_t P 
)

Definition at line 87 of file blake2s.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ blake2s_is_lastblock()

static int blake2s_is_lastblock ( const blake2s_state_t S)
static

Definition at line 54 of file blake2s.c.

+ Here is the caller graph for this function:

◆ blake2s_set_lastblock()

static void blake2s_set_lastblock ( blake2s_state_t S)
static

Definition at line 60 of file blake2s.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ blake2s_set_lastnode()

static void blake2s_set_lastnode ( blake2s_state_t S)
static

Definition at line 47 of file blake2s.c.

+ Here is the caller graph for this function:

◆ blake2s_update()

int blake2s_update ( blake2s_state_t S,
const void *  pin,
size_t  inlen 
)

Definition at line 237 of file blake2s.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ blake2s_IV

const uint32_t blake2s_IV[8]
static
Initial value:
= {
0x6A09E667UL, 0xBB67AE85UL, 0x3C6EF372UL, 0xA54FF53AUL,
0x510E527FUL, 0x9B05688CUL, 0x1F83D9ABUL, 0x5BE0CD19UL
}

Definition at line 28 of file blake2s.c.

◆ blake2s_sigma

const uint8_t blake2s_sigma[10][16]
static
Initial value:
= {
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15},
{14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3},
{11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4},
{7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8},
{9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13},
{2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9},
{12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11},
{13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10},
{6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5},
{10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0},
}

Definition at line 33 of file blake2s.c.

blake2s_sigma
static const uint8_t blake2s_sigma[10][16]
Definition: blake2s.c:33
r
vnet_hw_if_output_node_runtime_t * r
Definition: interface_output.c:1071
c
svmdb_client_t * c
Definition: vpp_get_metrics.c:48
i
sll srl srl sll sra u16x4 i
Definition: vector_sse42.h:261
rotr32
static BLAKE2_INLINE uint32_t rotr32(const uint32_t w, const unsigned c)
Definition: blake2-impl.h:160
b
vlib_buffer_t ** b
Definition: nat44_ei_out2in.c:717
a
a
Definition: bitmap.h:544