Lines Matching refs:context
270 SHA256_Init(SHA256_CTX *context)
272 if (context == NULL)
275 memcpy(context->state, sha256_initial_hash_value,
277 memset(context->buffer, 0, (size_t)(SHA256_BLOCK_LENGTH));
278 context->bitcount = 0;
308 SHA256_Transform(SHA256_CTX *context, const uint32_t *data)
314 W256 = (uint32_t *)context->buffer;
317 a = context->state[0];
318 b = context->state[1];
319 c = context->state[2];
320 d = context->state[3];
321 e = context->state[4];
322 f = context->state[5];
323 g = context->state[6];
324 h = context->state[7];
352 context->state[0] += a;
353 context->state[1] += b;
354 context->state[2] += c;
355 context->state[3] += d;
356 context->state[4] += e;
357 context->state[5] += f;
358 context->state[6] += g;
359 context->state[7] += h;
368 SHA256_Transform(SHA256_CTX *context, const uint32_t *data)
374 W256 = (uint32_t *)(void *)context->buffer;
377 a = context->state[0];
378 b = context->state[1];
379 c = context->state[2];
380 d = context->state[3];
381 e = context->state[4];
382 f = context->state[5];
383 g = context->state[6];
384 h = context->state[7];
429 context->state[0] += a;
430 context->state[1] += b;
431 context->state[2] += c;
432 context->state[3] += d;
433 context->state[4] += e;
434 context->state[5] += f;
435 context->state[6] += g;
436 context->state[7] += h;
445 SHA256_Update(SHA256_CTX *context, const uint8_t *data, size_t len)
454 usedspace = (unsigned int)((context->bitcount >> 3) %
462 memcpy(&context->buffer[usedspace], data,
464 context->bitcount += freespace << 3;
467 SHA256_Transform(context,
468 (uint32_t *)(void *)context->buffer);
471 memcpy(&context->buffer[usedspace], data, len);
472 context->bitcount += len << 3;
487 SHA256_Transform(context,
489 context->bitcount += SHA256_BLOCK_LENGTH << 3;
495 memcpy(context->buffer, data, SHA256_BLOCK_LENGTH);
496 SHA256_Transform(context,
497 (const uint32_t *)(const void *)context->buffer);
498 context->bitcount += SHA256_BLOCK_LENGTH << 3;
505 memcpy(context->buffer, data, len);
506 context->bitcount += len << 3;
515 SHA224_256_Final(uint8_t digest[], SHA256_CTX *context, size_t len)
522 usedspace = (unsigned int)((context->bitcount >> 3) %
524 context->bitcount = htobe64(context->bitcount);
527 context->buffer[usedspace++] = 0x80;
531 memset(&context->buffer[usedspace], 0,
536 memset(&context->buffer[usedspace], 0,
541 SHA256_Transform(context,
542 (uint32_t *)(void *)context->buffer);
545 memset(context->buffer, 0,
550 memset(context->buffer, 0,
554 *context->buffer = 0x80;
557 memcpy(&context->buffer[SHA256_SHORT_BLOCK_LENGTH],
558 &context->bitcount, sizeof(context->bitcount));
561 SHA256_Transform(context, (uint32_t *)(void *)context->buffer);
564 be32enc(digest + 4 * i, context->state[i]);
568 memset(context, 0, sizeof(*context));
575 SHA256_Final(uint8_t digest[SHA256_DIGEST_LENGTH], SHA256_CTX *context)
577 return SHA224_256_Final(digest, context, SHA256_DIGEST_LENGTH);
582 SHA224_Init(SHA224_CTX *context)
584 if (context == NULL)
588 memcpy(context->state, sha224_initial_hash_value,
590 memset(context->buffer, 0, (size_t)(SHA256_BLOCK_LENGTH));
591 context->bitcount = 0;
597 SHA224_Update(SHA224_CTX *context, const uint8_t *data, size_t len)
599 return SHA256_Update((SHA256_CTX *)context, data, len);
603 SHA224_Transform(SHA224_CTX *context, const uint32_t *data)
605 SHA256_Transform((SHA256_CTX *)context, data);
609 SHA224_Final(uint8_t digest[SHA224_DIGEST_LENGTH], SHA224_CTX *context)
611 return SHA224_256_Final(digest, (SHA256_CTX *)context,
617 SHA512_Init(SHA512_CTX *context)
619 if (context == NULL)
622 memcpy(context->state, sha512_initial_hash_value,
624 memset(context->buffer, 0, (size_t)(SHA512_BLOCK_LENGTH));
625 context->bitcount[0] = context->bitcount[1] = 0;
654 SHA512_Transform(SHA512_CTX *context, const uint64_t *data)
657 uint64_t T1, *W512 = (uint64_t *)context->buffer;
661 a = context->state[0];
662 b = context->state[1];
663 c = context->state[2];
664 d = context->state[3];
665 e = context->state[4];
666 f = context->state[5];
667 g = context->state[6];
668 h = context->state[7];
695 context->state[0] += a;
696 context->state[1] += b;
697 context->state[2] += c;
698 context->state[3] += d;
699 context->state[4] += e;
700 context->state[5] += f;
701 context->state[6] += g;
702 context->state[7] += h;
711 SHA512_Transform(SHA512_CTX *context, const uint64_t *data)
714 uint64_t T1, T2, *W512 = (void *)context->buffer;
718 a = context->state[0];
719 b = context->state[1];
720 c = context->state[2];
721 d = context->state[3];
722 e = context->state[4];
723 f = context->state[5];
724 g = context->state[6];
725 h = context->state[7];
770 context->state[0] += a;
771 context->state[1] += b;
772 context->state[2] += c;
773 context->state[3] += d;
774 context->state[4] += e;
775 context->state[5] += f;
776 context->state[6] += g;
777 context->state[7] += h;
786 SHA512_Update(SHA512_CTX *context, const uint8_t *data, size_t len)
795 usedspace = (unsigned int)((context->bitcount[0] >> 3) %
803 memcpy(&context->buffer[usedspace], data,
805 ADDINC128(context->bitcount, freespace << 3);
808 SHA512_Transform(context,
809 (uint64_t *)(void *)context->buffer);
812 memcpy(&context->buffer[usedspace], data, len);
813 ADDINC128(context->bitcount, len << 3);
828 SHA512_Transform(context,
830 ADDINC128(context->bitcount, SHA512_BLOCK_LENGTH << 3);
836 memcpy(context->buffer, data, SHA512_BLOCK_LENGTH);
837 SHA512_Transform(context,
838 (const void *)context->buffer);
839 ADDINC128(context->bitcount, SHA512_BLOCK_LENGTH << 3);
846 memcpy(context->buffer, data, len);
847 ADDINC128(context->bitcount, len << 3);
856 SHA512_Last(SHA512_CTX *context)
860 usedspace = (unsigned int)((context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH);
861 context->bitcount[0] = htobe64(context->bitcount[0]);
862 context->bitcount[1] = htobe64(context->bitcount[1]);
865 context->buffer[usedspace++] = 0x80;
869 memset(&context->buffer[usedspace], 0,
873 memset(&context->buffer[usedspace], 0,
877 SHA512_Transform(context,
878 (uint64_t *)(void *)context->buffer);
881 memset(context->buffer, 0,
886 memset(context->buffer, 0, (size_t)(SHA512_SHORT_BLOCK_LENGTH));
889 *context->buffer = 0x80;
892 memcpy(&context->buffer[SHA512_SHORT_BLOCK_LENGTH],
893 &context->bitcount[1], sizeof(context->bitcount[1]));
894 memcpy(&context->buffer[SHA512_SHORT_BLOCK_LENGTH + 8],
895 &context->bitcount[0], sizeof(context->bitcount[0]));
898 SHA512_Transform(context, (uint64_t *)(void *)context->buffer);
902 SHA512_Final(uint8_t digest[SHA512_DIGEST_LENGTH], SHA512_CTX *context)
908 SHA512_Last(context);
912 be64enc(digest + 8 * i, context->state[i]);
916 memset(context, 0, sizeof(*context));
923 SHA384_Init(SHA384_CTX *context)
925 if (context == NULL)
928 memcpy(context->state, sha384_initial_hash_value,
930 memset(context->buffer, 0, (size_t)(SHA384_BLOCK_LENGTH));
931 context->bitcount[0] = context->bitcount[1] = 0;
937 SHA384_Update(SHA384_CTX *context, const uint8_t *data, size_t len)
939 return SHA512_Update((SHA512_CTX *)context, data, len);
943 SHA384_Transform(SHA512_CTX *context, const uint64_t *data)
945 SHA512_Transform((SHA512_CTX *)context, data);
949 SHA384_Final(uint8_t digest[SHA384_DIGEST_LENGTH], SHA384_CTX *context)
955 SHA512_Last((SHA512_CTX *)context);
959 be64enc(digest + 8 * i, context->state[i]);
963 memset(context, 0, sizeof(*context));