MCPcopy Create free account
hub / github.com/F-Stack/f-stack / blake2s_update

Function blake2s_update

freebsd/contrib/libb2/blake2s.c:331–359  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

329
330
331int blake2s_update( blake2s_state *S, const uint8_t *in, size_t inlen )
332{
333 while( inlen > 0 )
334 {
335 size_t left = S->buflen;
336 size_t fill = 2 * BLAKE2S_BLOCKBYTES - left;
337
338 if( inlen > fill )
339 {
340 memcpy( S->buf + left, in, fill ); // Fill buffer
341 S->buflen += fill;
342 blake2s_increment_counter( S, BLAKE2S_BLOCKBYTES );
343 blake2s_compress( S, S->buf ); // Compress
344 memcpy( S->buf, S->buf + BLAKE2S_BLOCKBYTES, BLAKE2S_BLOCKBYTES ); // Shift buffer left
345 S->buflen -= BLAKE2S_BLOCKBYTES;
346 in += fill;
347 inlen -= fill;
348 }
349 else /* inlen <= fill */
350 {
351 memcpy( S->buf + left, in, inlen );
352 S->buflen += inlen; // Be lazy, do not compress
353 in += inlen;
354 inlen -= inlen;
355 }
356 }
357
358 return 0;
359}
360
361
362int blake2s_final( blake2s_state *S, uint8_t *out, size_t outlen )

Callers 7

blake2sp_init_keyFunction · 0.70
blake2sp_updateFunction · 0.70
blake2sp_finalFunction · 0.70
blake2spFunction · 0.70
blake2s_init_keyFunction · 0.70
blake2sFunction · 0.70
blake2s_applicatorFunction · 0.50

Calls 3

blake2s_compressFunction · 0.70
memcpyFunction · 0.50

Tested by

no test coverage detected