Lines Matching refs:S
28 static int blake2bp_init_leaf( blake2b_state *S, uint8_t outlen, uint8_t keylen, uint64_t offset ) in blake2bp_init_leaf() argument
42 blake2b_init_param( S, P ); in blake2bp_init_leaf()
43 S->outlen = P->inner_length; in blake2bp_init_leaf()
47 static int blake2bp_init_root( blake2b_state *S, uint8_t outlen, uint8_t keylen ) in blake2bp_init_root() argument
61 blake2b_init_param( S, P ); in blake2bp_init_root()
62 S->outlen = P->digest_length; in blake2bp_init_root()
67 int blake2bp_init( blake2bp_state *S, size_t outlen ) in blake2bp_init() argument
71 memset( S->buf, 0, sizeof( S->buf ) ); in blake2bp_init()
72 S->buflen = 0; in blake2bp_init()
74 if( blake2bp_init_root( S->R, ( uint8_t ) outlen, 0 ) < 0 ) in blake2bp_init()
78 if( blake2bp_init_leaf( S->S[i], ( uint8_t ) outlen, 0, i ) < 0 ) return -1; in blake2bp_init()
80 S->R->last_node = 1; in blake2bp_init()
81 S->S[PARALLELISM_DEGREE - 1]->last_node = 1; in blake2bp_init()
82 S->outlen = ( uint8_t ) outlen; in blake2bp_init()
86 int blake2bp_init_key( blake2bp_state *S, size_t outlen, const void *key, size_t keylen ) in blake2bp_init_key() argument
92 memset( S->buf, 0, sizeof( S->buf ) ); in blake2bp_init_key()
93 S->buflen = 0; in blake2bp_init_key()
95 if( blake2bp_init_root( S->R, ( uint8_t ) outlen, ( uint8_t ) keylen ) < 0 ) in blake2bp_init_key()
99 if( blake2bp_init_leaf( S->S[i], ( uint8_t ) outlen, ( uint8_t ) keylen, i ) < 0 ) in blake2bp_init_key()
102 S->R->last_node = 1; in blake2bp_init_key()
103 S->S[PARALLELISM_DEGREE - 1]->last_node = 1; in blake2bp_init_key()
104 S->outlen = ( uint8_t ) outlen; in blake2bp_init_key()
111 blake2b_update( S->S[i], block, BLAKE2B_BLOCKBYTES ); in blake2bp_init_key()
119 int blake2bp_update( blake2bp_state *S, const uint8_t *in, size_t inlen ) in blake2bp_update() argument
121 size_t left = S->buflen; in blake2bp_update()
122 size_t fill = sizeof( S->buf ) - left; in blake2bp_update()
126 memcpy( S->buf + left, in, fill ); in blake2bp_update()
129 blake2b_update( S->S[i], S->buf + i * BLAKE2B_BLOCKBYTES, BLAKE2B_BLOCKBYTES ); in blake2bp_update()
138 #pragma omp parallel shared(S) in blake2bp_update()
152 blake2b_update( S->S[id__], in__, BLAKE2B_BLOCKBYTES ); in blake2bp_update()
162 memcpy( S->buf + left, in, inlen ); in blake2bp_update()
164 S->buflen = ( uint32_t ) left + ( uint32_t ) inlen; in blake2bp_update()
170 int blake2bp_final( blake2bp_state *S, uint8_t *out, size_t outlen ) in blake2bp_final() argument
174 if(S->outlen != outlen) return -1; in blake2bp_final()
178 if( S->buflen > i * BLAKE2B_BLOCKBYTES ) in blake2bp_final()
180 size_t left = S->buflen - i * BLAKE2B_BLOCKBYTES; in blake2bp_final()
184 blake2b_update( S->S[i], S->buf + i * BLAKE2B_BLOCKBYTES, left ); in blake2bp_final()
187 blake2b_final( S->S[i], hash[i], BLAKE2B_OUTBYTES ); in blake2bp_final()
191 blake2b_update( S->R, hash[i], BLAKE2B_OUTBYTES ); in blake2bp_final()
193 return blake2b_final( S->R, out, outlen ); in blake2bp_final()
199 blake2b_state S[PARALLELISM_DEGREE][1]; in blake2bp() local
214 if( blake2bp_init_leaf( S[i], ( uint8_t ) outlen, ( uint8_t ) keylen, i ) < 0 ) in blake2bp()
217 S[PARALLELISM_DEGREE - 1]->last_node = 1; // mark last node in blake2bp()
226 blake2b_update( S[i], block, BLAKE2B_BLOCKBYTES ); in blake2bp()
233 #pragma omp parallel shared(S,hash) in blake2bp()
247 blake2b_update( S[id__], in__, BLAKE2B_BLOCKBYTES ); in blake2bp()
256 blake2b_update( S[id__], in__, len ); in blake2bp()
259 blake2b_final( S[id__], hash[id__], BLAKE2B_OUTBYTES ); in blake2bp()