OpenCoverage

blake2s.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/blake2/blake2s.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3static const uint32_t blake2s_IV[8] =-
4{-
5 0x6A09E667U, 0xBB67AE85U, 0x3C6EF372U, 0xA54FF53AU,-
6 0x510E527FU, 0x9B05688CU, 0x1F83D9ABU, 0x5BE0CD19U-
7};-
8-
9static const uint8_t blake2s_sigma[10][16] =-
10{-
11 { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 } ,-
12 { 14, 10, 4, 8, 9, 15, 13, 6, 1, 12, 0, 2, 11, 7, 5, 3 } ,-
13 { 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1, 9, 4 } ,-
14 { 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8 } ,-
15 { 9, 0, 5, 7, 2, 4, 10, 15, 14, 1, 11, 12, 6, 8, 3, 13 } ,-
16 { 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5, 15, 14, 1, 9 } ,-
17 { 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11 } ,-
18 { 13, 11, 7, 14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10 } ,-
19 { 6, 15, 14, 9, 11, 3, 0, 8, 12, 2, 13, 7, 1, 4, 10, 5 } ,-
20 { 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13 , 0 } ,-
21};-
22-
23-
24static inline void blake2s_set_lastblock(BLAKE2S_CTX *S)-
25{-
26 S->f[0] = -1;-
27}
executed 9 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
9
28-
29-
30static inline void blake2s_init0(BLAKE2S_CTX *S)-
31{-
32 int i;-
33-
34 memset(S, 0, sizeof(BLAKE2S_CTX));-
35 for (i = 0; i < 8
i < 8Description
TRUEevaluated 72 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; ++i) {
9-72
36 S->h[i] = blake2s_IV[i];-
37 }
executed 72 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
72
38}
executed 9 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
9
39-
40-
41static void blake2s_init_param(BLAKE2S_CTX *S, const BLAKE2S_PARAM *P)-
42{-
43 const uint8_t *p = (const uint8_t *)(P);-
44 size_t i;-
45-
46-
47-
48 -
49 ((void) (0))-
50 ;-
51 blake2s_init0(S);-
52-
53 for (i = 0; i < 8
i < 8Description
TRUEevaluated 72 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; ++i) {
9-72
54 S->h[i] ^= load32(&p[i*4]);-
55 }
executed 72 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
72
56}
executed 9 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
9
57-
58-
59int BLAKE2s_Init(BLAKE2S_CTX *c)-
60{-
61 BLAKE2S_PARAM P[1];-
62-
63 P->digest_length = 32;-
64 P->key_length = 0;-
65 P->fanout = 1;-
66 P->depth = 1;-
67 store32(P->leaf_length, 0);-
68 store48(P->node_offset, 0);-
69 P->node_depth = 0;-
70 P->inner_length = 0;-
71 memset(P->salt, 0, sizeof(P->salt));-
72 memset(P->personal, 0, sizeof(P->personal));-
73 blake2s_init_param(c, P);-
74 return
executed 9 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
1;
executed 9 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
9
75}-
76-
77-
78static void blake2s_compress(BLAKE2S_CTX *S,-
79 const uint8_t *blocks,-
80 size_t len)-
81{-
82 uint32_t m[16];-
83 uint32_t v[16];-
84 size_t i;-
85 size_t increment;-
86 -
87 ((void) (0))-
88 ;-
89 increment = len < 64
len < 64Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
? len : 64;
4-8
90-
91 for (i = 0; i < 8
i < 8Description
TRUEevaluated 96 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; ++i) {
12-96
92 v[i] = S->h[i];-
93 }
executed 96 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
96
94-
95 do {-
96 for (i = 0; i < 16
i < 16Description
TRUEevaluated 208 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 13 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; ++i) {
13-208
97 m[i] = load32(blocks + i * sizeof(m[i]));-
98 }
executed 208 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
208
99-
100-
101 S->t[0] += increment;-
102 S->t[1] += (S->t[0] < increment);-
103-
104 v[ 8] = blake2s_IV[0];-
105 v[ 9] = blake2s_IV[1];-
106 v[10] = blake2s_IV[2];-
107 v[11] = blake2s_IV[3];-
108 v[12] = S->t[0] ^ blake2s_IV[4];-
109 v[13] = S->t[1] ^ blake2s_IV[5];-
110 v[14] = S->f[0] ^ blake2s_IV[6];-
111 v[15] = S->f[1] ^ blake2s_IV[7];-
112 do { do { v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[0][2*0 +0]]; v[12] = rotr32(v[12] ^ v[ 0], 16); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 12); v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[0][2*0 +1]]; v[12] = rotr32(v[12] ^ v[ 0], 8); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 7); } while (0); do { v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[0][2*1 +0]]; v[13] = rotr32(v[13] ^ v[ 1], 16); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 12); v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[0][2*1 +1]]; v[13] = rotr32(v[13] ^ v[ 1], 8); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 7); } while (0); do { v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[0][2*2 +0]]; v[14] = rotr32(v[14] ^ v[ 2], 16); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 12); v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[0][2*2 +1]]; v[14] = rotr32(v[14] ^ v[ 2], 8); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 7); } while (0); do { v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[0][2*3 +0]]; v[15] = rotr32(v[15] ^ v[ 3], 16); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 12); v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[0][2*3 +1]]; v[15] = rotr32(v[15] ^ v[ 3], 8); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 7); } while (0); do { v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[0][2*4 +0]]; v[15] = rotr32(v[15] ^ v[ 0], 16); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 12); v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[0][2*4 +1]]; v[15] = rotr32(v[15] ^ v[ 0], 8); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 7); } while (0); do { v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[0][2*5 +0]]; v[12] = rotr32(v[12] ^ v[ 1], 16); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 12); v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[0][2*5 +1]]; v[12] = rotr32(v[12] ^ v[ 1], 8); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 7); } while (0); do { v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[0][2*6 +0]]; v[13] = rotr32(v[13] ^ v[ 2], 16); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 12); v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[0][2*6 +1]]; v[13] = rotr32(v[13] ^ v[ 2], 8); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 7); } while (0); do { v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[0][2*7 +0]]; v[14] = rotr32(v[14] ^ v[ 3], 16); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 12); v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[0][2*7 +1]]; v[14] = rotr32(v[14] ^ v[ 3], 8); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 7); } while (0); } while (0);-
113 do { do { v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[1][2*0 +0]]; v[12] = rotr32(v[12] ^ v[ 0], 16); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 12); v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[1][2*0 +1]]; v[12] = rotr32(v[12] ^ v[ 0], 8); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 7); } while (0); do { v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[1][2*1 +0]]; v[13] = rotr32(v[13] ^ v[ 1], 16); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 12); v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[1][2*1 +1]]; v[13] = rotr32(v[13] ^ v[ 1], 8); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 7); } while (0); do { v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[1][2*2 +0]]; v[14] = rotr32(v[14] ^ v[ 2], 16); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 12); v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[1][2*2 +1]]; v[14] = rotr32(v[14] ^ v[ 2], 8); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 7); } while (0); do { v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[1][2*3 +0]]; v[15] = rotr32(v[15] ^ v[ 3], 16); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 12); v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[1][2*3 +1]]; v[15] = rotr32(v[15] ^ v[ 3], 8); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 7); } while (0); do { v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[1][2*4 +0]]; v[15] = rotr32(v[15] ^ v[ 0], 16); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 12); v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[1][2*4 +1]]; v[15] = rotr32(v[15] ^ v[ 0], 8); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 7); } while (0); do { v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[1][2*5 +0]]; v[12] = rotr32(v[12] ^ v[ 1], 16); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 12); v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[1][2*5 +1]]; v[12] = rotr32(v[12] ^ v[ 1], 8); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 7); } while (0); do { v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[1][2*6 +0]]; v[13] = rotr32(v[13] ^ v[ 2], 16); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 12); v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[1][2*6 +1]]; v[13] = rotr32(v[13] ^ v[ 2], 8); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 7); } while (0); do { v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[1][2*7 +0]]; v[14] = rotr32(v[14] ^ v[ 3], 16); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 12); v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[1][2*7 +1]]; v[14] = rotr32(v[14] ^ v[ 3], 8); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 7); } while (0); } while (0);-
114 do { do { v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[2][2*0 +0]]; v[12] = rotr32(v[12] ^ v[ 0], 16); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 12); v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[2][2*0 +1]]; v[12] = rotr32(v[12] ^ v[ 0], 8); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 7); } while (0); do { v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[2][2*1 +0]]; v[13] = rotr32(v[13] ^ v[ 1], 16); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 12); v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[2][2*1 +1]]; v[13] = rotr32(v[13] ^ v[ 1], 8); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 7); } while (0); do { v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[2][2*2 +0]]; v[14] = rotr32(v[14] ^ v[ 2], 16); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 12); v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[2][2*2 +1]]; v[14] = rotr32(v[14] ^ v[ 2], 8); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 7); } while (0); do { v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[2][2*3 +0]]; v[15] = rotr32(v[15] ^ v[ 3], 16); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 12); v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[2][2*3 +1]]; v[15] = rotr32(v[15] ^ v[ 3], 8); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 7); } while (0); do { v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[2][2*4 +0]]; v[15] = rotr32(v[15] ^ v[ 0], 16); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 12); v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[2][2*4 +1]]; v[15] = rotr32(v[15] ^ v[ 0], 8); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 7); } while (0); do { v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[2][2*5 +0]]; v[12] = rotr32(v[12] ^ v[ 1], 16); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 12); v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[2][2*5 +1]]; v[12] = rotr32(v[12] ^ v[ 1], 8); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 7); } while (0); do { v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[2][2*6 +0]]; v[13] = rotr32(v[13] ^ v[ 2], 16); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 12); v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[2][2*6 +1]]; v[13] = rotr32(v[13] ^ v[ 2], 8); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 7); } while (0); do { v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[2][2*7 +0]]; v[14] = rotr32(v[14] ^ v[ 3], 16); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 12); v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[2][2*7 +1]]; v[14] = rotr32(v[14] ^ v[ 3], 8); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 7); } while (0); } while (0);-
115 do { do { v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[3][2*0 +0]]; v[12] = rotr32(v[12] ^ v[ 0], 16); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 12); v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[3][2*0 +1]]; v[12] = rotr32(v[12] ^ v[ 0], 8); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 7); } while (0); do { v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[3][2*1 +0]]; v[13] = rotr32(v[13] ^ v[ 1], 16); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 12); v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[3][2*1 +1]]; v[13] = rotr32(v[13] ^ v[ 1], 8); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 7); } while (0); do { v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[3][2*2 +0]]; v[14] = rotr32(v[14] ^ v[ 2], 16); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 12); v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[3][2*2 +1]]; v[14] = rotr32(v[14] ^ v[ 2], 8); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 7); } while (0); do { v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[3][2*3 +0]]; v[15] = rotr32(v[15] ^ v[ 3], 16); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 12); v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[3][2*3 +1]]; v[15] = rotr32(v[15] ^ v[ 3], 8); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 7); } while (0); do { v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[3][2*4 +0]]; v[15] = rotr32(v[15] ^ v[ 0], 16); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 12); v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[3][2*4 +1]]; v[15] = rotr32(v[15] ^ v[ 0], 8); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 7); } while (0); do { v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[3][2*5 +0]]; v[12] = rotr32(v[12] ^ v[ 1], 16); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 12); v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[3][2*5 +1]]; v[12] = rotr32(v[12] ^ v[ 1], 8); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 7); } while (0); do { v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[3][2*6 +0]]; v[13] = rotr32(v[13] ^ v[ 2], 16); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 12); v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[3][2*6 +1]]; v[13] = rotr32(v[13] ^ v[ 2], 8); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 7); } while (0); do { v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[3][2*7 +0]]; v[14] = rotr32(v[14] ^ v[ 3], 16); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 12); v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[3][2*7 +1]]; v[14] = rotr32(v[14] ^ v[ 3], 8); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 7); } while (0); } while (0);-
116 do { do { v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[4][2*0 +0]]; v[12] = rotr32(v[12] ^ v[ 0], 16); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 12); v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[4][2*0 +1]]; v[12] = rotr32(v[12] ^ v[ 0], 8); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 7); } while (0); do { v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[4][2*1 +0]]; v[13] = rotr32(v[13] ^ v[ 1], 16); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 12); v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[4][2*1 +1]]; v[13] = rotr32(v[13] ^ v[ 1], 8); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 7); } while (0); do { v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[4][2*2 +0]]; v[14] = rotr32(v[14] ^ v[ 2], 16); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 12); v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[4][2*2 +1]]; v[14] = rotr32(v[14] ^ v[ 2], 8); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 7); } while (0); do { v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[4][2*3 +0]]; v[15] = rotr32(v[15] ^ v[ 3], 16); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 12); v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[4][2*3 +1]]; v[15] = rotr32(v[15] ^ v[ 3], 8); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 7); } while (0); do { v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[4][2*4 +0]]; v[15] = rotr32(v[15] ^ v[ 0], 16); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 12); v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[4][2*4 +1]]; v[15] = rotr32(v[15] ^ v[ 0], 8); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 7); } while (0); do { v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[4][2*5 +0]]; v[12] = rotr32(v[12] ^ v[ 1], 16); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 12); v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[4][2*5 +1]]; v[12] = rotr32(v[12] ^ v[ 1], 8); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 7); } while (0); do { v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[4][2*6 +0]]; v[13] = rotr32(v[13] ^ v[ 2], 16); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 12); v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[4][2*6 +1]]; v[13] = rotr32(v[13] ^ v[ 2], 8); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 7); } while (0); do { v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[4][2*7 +0]]; v[14] = rotr32(v[14] ^ v[ 3], 16); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 12); v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[4][2*7 +1]]; v[14] = rotr32(v[14] ^ v[ 3], 8); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 7); } while (0); } while (0);-
117 do { do { v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[5][2*0 +0]]; v[12] = rotr32(v[12] ^ v[ 0], 16); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 12); v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[5][2*0 +1]]; v[12] = rotr32(v[12] ^ v[ 0], 8); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 7); } while (0); do { v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[5][2*1 +0]]; v[13] = rotr32(v[13] ^ v[ 1], 16); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 12); v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[5][2*1 +1]]; v[13] = rotr32(v[13] ^ v[ 1], 8); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 7); } while (0); do { v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[5][2*2 +0]]; v[14] = rotr32(v[14] ^ v[ 2], 16); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 12); v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[5][2*2 +1]]; v[14] = rotr32(v[14] ^ v[ 2], 8); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 7); } while (0); do { v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[5][2*3 +0]]; v[15] = rotr32(v[15] ^ v[ 3], 16); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 12); v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[5][2*3 +1]]; v[15] = rotr32(v[15] ^ v[ 3], 8); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 7); } while (0); do { v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[5][2*4 +0]]; v[15] = rotr32(v[15] ^ v[ 0], 16); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 12); v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[5][2*4 +1]]; v[15] = rotr32(v[15] ^ v[ 0], 8); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 7); } while (0); do { v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[5][2*5 +0]]; v[12] = rotr32(v[12] ^ v[ 1], 16); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 12); v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[5][2*5 +1]]; v[12] = rotr32(v[12] ^ v[ 1], 8); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 7); } while (0); do { v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[5][2*6 +0]]; v[13] = rotr32(v[13] ^ v[ 2], 16); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 12); v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[5][2*6 +1]]; v[13] = rotr32(v[13] ^ v[ 2], 8); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 7); } while (0); do { v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[5][2*7 +0]]; v[14] = rotr32(v[14] ^ v[ 3], 16); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 12); v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[5][2*7 +1]]; v[14] = rotr32(v[14] ^ v[ 3], 8); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 7); } while (0); } while (0);-
118 do { do { v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[6][2*0 +0]]; v[12] = rotr32(v[12] ^ v[ 0], 16); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 12); v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[6][2*0 +1]]; v[12] = rotr32(v[12] ^ v[ 0], 8); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 7); } while (0); do { v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[6][2*1 +0]]; v[13] = rotr32(v[13] ^ v[ 1], 16); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 12); v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[6][2*1 +1]]; v[13] = rotr32(v[13] ^ v[ 1], 8); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 7); } while (0); do { v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[6][2*2 +0]]; v[14] = rotr32(v[14] ^ v[ 2], 16); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 12); v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[6][2*2 +1]]; v[14] = rotr32(v[14] ^ v[ 2], 8); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 7); } while (0); do { v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[6][2*3 +0]]; v[15] = rotr32(v[15] ^ v[ 3], 16); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 12); v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[6][2*3 +1]]; v[15] = rotr32(v[15] ^ v[ 3], 8); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 7); } while (0); do { v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[6][2*4 +0]]; v[15] = rotr32(v[15] ^ v[ 0], 16); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 12); v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[6][2*4 +1]]; v[15] = rotr32(v[15] ^ v[ 0], 8); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 7); } while (0); do { v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[6][2*5 +0]]; v[12] = rotr32(v[12] ^ v[ 1], 16); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 12); v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[6][2*5 +1]]; v[12] = rotr32(v[12] ^ v[ 1], 8); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 7); } while (0); do { v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[6][2*6 +0]]; v[13] = rotr32(v[13] ^ v[ 2], 16); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 12); v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[6][2*6 +1]]; v[13] = rotr32(v[13] ^ v[ 2], 8); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 7); } while (0); do { v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[6][2*7 +0]]; v[14] = rotr32(v[14] ^ v[ 3], 16); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 12); v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[6][2*7 +1]]; v[14] = rotr32(v[14] ^ v[ 3], 8); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 7); } while (0); } while (0);-
119 do { do { v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[7][2*0 +0]]; v[12] = rotr32(v[12] ^ v[ 0], 16); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 12); v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[7][2*0 +1]]; v[12] = rotr32(v[12] ^ v[ 0], 8); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 7); } while (0); do { v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[7][2*1 +0]]; v[13] = rotr32(v[13] ^ v[ 1], 16); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 12); v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[7][2*1 +1]]; v[13] = rotr32(v[13] ^ v[ 1], 8); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 7); } while (0); do { v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[7][2*2 +0]]; v[14] = rotr32(v[14] ^ v[ 2], 16); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 12); v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[7][2*2 +1]]; v[14] = rotr32(v[14] ^ v[ 2], 8); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 7); } while (0); do { v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[7][2*3 +0]]; v[15] = rotr32(v[15] ^ v[ 3], 16); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 12); v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[7][2*3 +1]]; v[15] = rotr32(v[15] ^ v[ 3], 8); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 7); } while (0); do { v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[7][2*4 +0]]; v[15] = rotr32(v[15] ^ v[ 0], 16); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 12); v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[7][2*4 +1]]; v[15] = rotr32(v[15] ^ v[ 0], 8); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 7); } while (0); do { v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[7][2*5 +0]]; v[12] = rotr32(v[12] ^ v[ 1], 16); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 12); v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[7][2*5 +1]]; v[12] = rotr32(v[12] ^ v[ 1], 8); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 7); } while (0); do { v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[7][2*6 +0]]; v[13] = rotr32(v[13] ^ v[ 2], 16); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 12); v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[7][2*6 +1]]; v[13] = rotr32(v[13] ^ v[ 2], 8); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 7); } while (0); do { v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[7][2*7 +0]]; v[14] = rotr32(v[14] ^ v[ 3], 16); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 12); v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[7][2*7 +1]]; v[14] = rotr32(v[14] ^ v[ 3], 8); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 7); } while (0); } while (0);-
120 do { do { v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[8][2*0 +0]]; v[12] = rotr32(v[12] ^ v[ 0], 16); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 12); v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[8][2*0 +1]]; v[12] = rotr32(v[12] ^ v[ 0], 8); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 7); } while (0); do { v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[8][2*1 +0]]; v[13] = rotr32(v[13] ^ v[ 1], 16); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 12); v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[8][2*1 +1]]; v[13] = rotr32(v[13] ^ v[ 1], 8); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 7); } while (0); do { v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[8][2*2 +0]]; v[14] = rotr32(v[14] ^ v[ 2], 16); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 12); v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[8][2*2 +1]]; v[14] = rotr32(v[14] ^ v[ 2], 8); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 7); } while (0); do { v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[8][2*3 +0]]; v[15] = rotr32(v[15] ^ v[ 3], 16); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 12); v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[8][2*3 +1]]; v[15] = rotr32(v[15] ^ v[ 3], 8); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 7); } while (0); do { v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[8][2*4 +0]]; v[15] = rotr32(v[15] ^ v[ 0], 16); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 12); v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[8][2*4 +1]]; v[15] = rotr32(v[15] ^ v[ 0], 8); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 7); } while (0); do { v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[8][2*5 +0]]; v[12] = rotr32(v[12] ^ v[ 1], 16); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 12); v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[8][2*5 +1]]; v[12] = rotr32(v[12] ^ v[ 1], 8); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 7); } while (0); do { v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[8][2*6 +0]]; v[13] = rotr32(v[13] ^ v[ 2], 16); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 12); v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[8][2*6 +1]]; v[13] = rotr32(v[13] ^ v[ 2], 8); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 7); } while (0); do { v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[8][2*7 +0]]; v[14] = rotr32(v[14] ^ v[ 3], 16); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 12); v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[8][2*7 +1]]; v[14] = rotr32(v[14] ^ v[ 3], 8); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 7); } while (0); } while (0);-
121 do { do { v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[9][2*0 +0]]; v[12] = rotr32(v[12] ^ v[ 0], 16); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 12); v[ 0] = v[ 0] + v[ 4] + m[blake2s_sigma[9][2*0 +1]]; v[12] = rotr32(v[12] ^ v[ 0], 8); v[ 8] = v[ 8] + v[12]; v[ 4] = rotr32(v[ 4] ^ v[ 8], 7); } while (0); do { v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[9][2*1 +0]]; v[13] = rotr32(v[13] ^ v[ 1], 16); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 12); v[ 1] = v[ 1] + v[ 5] + m[blake2s_sigma[9][2*1 +1]]; v[13] = rotr32(v[13] ^ v[ 1], 8); v[ 9] = v[ 9] + v[13]; v[ 5] = rotr32(v[ 5] ^ v[ 9], 7); } while (0); do { v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[9][2*2 +0]]; v[14] = rotr32(v[14] ^ v[ 2], 16); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 12); v[ 2] = v[ 2] + v[ 6] + m[blake2s_sigma[9][2*2 +1]]; v[14] = rotr32(v[14] ^ v[ 2], 8); v[10] = v[10] + v[14]; v[ 6] = rotr32(v[ 6] ^ v[10], 7); } while (0); do { v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[9][2*3 +0]]; v[15] = rotr32(v[15] ^ v[ 3], 16); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 12); v[ 3] = v[ 3] + v[ 7] + m[blake2s_sigma[9][2*3 +1]]; v[15] = rotr32(v[15] ^ v[ 3], 8); v[11] = v[11] + v[15]; v[ 7] = rotr32(v[ 7] ^ v[11], 7); } while (0); do { v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[9][2*4 +0]]; v[15] = rotr32(v[15] ^ v[ 0], 16); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 12); v[ 0] = v[ 0] + v[ 5] + m[blake2s_sigma[9][2*4 +1]]; v[15] = rotr32(v[15] ^ v[ 0], 8); v[10] = v[10] + v[15]; v[ 5] = rotr32(v[ 5] ^ v[10], 7); } while (0); do { v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[9][2*5 +0]]; v[12] = rotr32(v[12] ^ v[ 1], 16); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 12); v[ 1] = v[ 1] + v[ 6] + m[blake2s_sigma[9][2*5 +1]]; v[12] = rotr32(v[12] ^ v[ 1], 8); v[11] = v[11] + v[12]; v[ 6] = rotr32(v[ 6] ^ v[11], 7); } while (0); do { v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[9][2*6 +0]]; v[13] = rotr32(v[13] ^ v[ 2], 16); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 12); v[ 2] = v[ 2] + v[ 7] + m[blake2s_sigma[9][2*6 +1]]; v[13] = rotr32(v[13] ^ v[ 2], 8); v[ 8] = v[ 8] + v[13]; v[ 7] = rotr32(v[ 7] ^ v[ 8], 7); } while (0); do { v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[9][2*7 +0]]; v[14] = rotr32(v[14] ^ v[ 3], 16); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 12); v[ 3] = v[ 3] + v[ 4] + m[blake2s_sigma[9][2*7 +1]]; v[14] = rotr32(v[14] ^ v[ 3], 8); v[ 9] = v[ 9] + v[14]; v[ 4] = rotr32(v[ 4] ^ v[ 9], 7); } while (0); } while (0);-
122-
123-
124 for (i = 0; i < 8
i < 8Description
TRUEevaluated 104 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 13 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; ++i) {
13-104
125 S->h[i] = v[i] ^= v[i + 8] ^ S->h[i];-
126 }
executed 104 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
104
127-
128-
129 blocks += increment;-
130 len -= increment;-
131 }
executed 13 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
while (len
lenDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
);
1-13
132}
executed 12 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
12
133-
134-
135int BLAKE2s_Update(BLAKE2S_CTX *c, const void *data, size_t datalen)-
136{-
137 const uint8_t *in = data;-
138 size_t fill;-
139 fill = sizeof(c->buf) - c->buflen;-
140 if (datalen > fill
datalen > fillDescription
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 6 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
3-6
141 if (c->buflen
c->buflenDescription
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-3
142 memcpy(c->buf + c->buflen, in, fill);-
143 blake2s_compress(c, c->buf, 64);-
144 c->buflen = 0;-
145 in += fill;-
146 datalen -= fill;-
147 }
never executed: end of block
0
148 if (datalen > 64
datalen > 64Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
) {
0-3
149 size_t stashlen = datalen % 64;-
150-
151-
152-
153-
154 stashlen = stashlen
stashlenDescription
TRUEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
? stashlen : 64;
1-2
155 datalen -= stashlen;-
156 blake2s_compress(c, in, datalen);-
157 in += datalen;-
158 datalen = stashlen;-
159 }
executed 3 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
3
160 }
executed 3 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
3
161-
162 -
163 ((void) (0))-
164 ;-
165-
166 memcpy(c->buf + c->buflen, in, datalen);-
167 c->buflen += datalen;-
168-
169 return
executed 9 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
1;
executed 9 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
9
170}-
171-
172-
173-
174-
175-
176int BLAKE2s_Final(unsigned char *md, BLAKE2S_CTX *c)-
177{-
178 int i;-
179-
180 blake2s_set_lastblock(c);-
181-
182 memset(c->buf + c->buflen, 0, sizeof(c->buf) - c->buflen);-
183 blake2s_compress(c, c->buf, c->buflen);-
184-
185-
186 for (i = 0; i < 8
i < 8Description
TRUEevaluated 72 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; ++i) {
9-72
187 store32(md + sizeof(c->h[i]) * i, c->h[i]);-
188 }
executed 72 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
72
189-
190 OPENSSL_cleanse(c, sizeof(BLAKE2S_CTX));-
191 return
executed 9 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
1;
executed 9 times by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
9
192}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2