Lines Matching refs:context

370 void SHA256_Init(SHA256_CTX* context) {  in SHA256_Init()  argument
371 if (context == (SHA256_CTX*)0) { in SHA256_Init()
374 MEMCPY_BCOPY(context->state, sha256_initial_hash_value, SHA256_DIGEST_LENGTH); in SHA256_Init()
375 MEMSET_BZERO(context->buffer, SHA256_BLOCK_LENGTH); in SHA256_Init()
376 context->bitcount = 0; in SHA256_Init()
416 void SHA256_Transform(SHA256_CTX* context, const sha2_word32* data) { in SHA256_Transform() argument
421 W256 = (sha2_word32*)context->buffer; in SHA256_Transform()
424 a = context->state[0]; in SHA256_Transform()
425 b = context->state[1]; in SHA256_Transform()
426 c = context->state[2]; in SHA256_Transform()
427 d = context->state[3]; in SHA256_Transform()
428 e = context->state[4]; in SHA256_Transform()
429 f = context->state[5]; in SHA256_Transform()
430 g = context->state[6]; in SHA256_Transform()
431 h = context->state[7]; in SHA256_Transform()
459 context->state[0] += a; in SHA256_Transform()
460 context->state[1] += b; in SHA256_Transform()
461 context->state[2] += c; in SHA256_Transform()
462 context->state[3] += d; in SHA256_Transform()
463 context->state[4] += e; in SHA256_Transform()
464 context->state[5] += f; in SHA256_Transform()
465 context->state[6] += g; in SHA256_Transform()
466 context->state[7] += h; in SHA256_Transform()
474 void SHA256_Transform(SHA256_CTX* context, const sha2_word32* data) { in SHA256_Transform() argument
479 W256 = (sha2_word32*)context->buffer; in SHA256_Transform()
482 a = context->state[0]; in SHA256_Transform()
483 b = context->state[1]; in SHA256_Transform()
484 c = context->state[2]; in SHA256_Transform()
485 d = context->state[3]; in SHA256_Transform()
486 e = context->state[4]; in SHA256_Transform()
487 f = context->state[5]; in SHA256_Transform()
488 g = context->state[6]; in SHA256_Transform()
489 h = context->state[7]; in SHA256_Transform()
539 context->state[0] += a; in SHA256_Transform()
540 context->state[1] += b; in SHA256_Transform()
541 context->state[2] += c; in SHA256_Transform()
542 context->state[3] += d; in SHA256_Transform()
543 context->state[4] += e; in SHA256_Transform()
544 context->state[5] += f; in SHA256_Transform()
545 context->state[6] += g; in SHA256_Transform()
546 context->state[7] += h; in SHA256_Transform()
554 void SHA256_Update(SHA256_CTX* context, const sha2_byte *data, size_t len) { in SHA256_Update() argument
563 assert(context != (SHA256_CTX*)0 && data != (sha2_byte*)0); in SHA256_Update()
565 usedspace = (context->bitcount >> 3) % SHA256_BLOCK_LENGTH; in SHA256_Update()
572 MEMCPY_BCOPY(&context->buffer[usedspace], data, freespace); in SHA256_Update()
573 context->bitcount += freespace << 3; in SHA256_Update()
576 SHA256_Transform(context, (sha2_word32*)context->buffer); in SHA256_Update()
579 MEMCPY_BCOPY(&context->buffer[usedspace], data, len); in SHA256_Update()
580 context->bitcount += len << 3; in SHA256_Update()
588 SHA256_Transform(context, (sha2_word32*)data); in SHA256_Update()
589 context->bitcount += SHA256_BLOCK_LENGTH << 3; in SHA256_Update()
595 MEMCPY_BCOPY(context->buffer, data, len); in SHA256_Update()
596 context->bitcount += len << 3; in SHA256_Update()
602 void SHA256_Final(sha2_byte digest[], SHA256_CTX* context) { in SHA256_Final() argument
607 assert(context != (SHA256_CTX*)0); in SHA256_Final()
611 usedspace = (context->bitcount >> 3) % SHA256_BLOCK_LENGTH; in SHA256_Final()
614 REVERSE64(context->bitcount,context->bitcount); in SHA256_Final()
618 context->buffer[usedspace++] = 0x80; in SHA256_Final()
622 MEMSET_BZERO(&context->buffer[usedspace], SHA256_SHORT_BLOCK_LENGTH - usedspace); in SHA256_Final()
625 MEMSET_BZERO(&context->buffer[usedspace], SHA256_BLOCK_LENGTH - usedspace); in SHA256_Final()
628 SHA256_Transform(context, (sha2_word32*)context->buffer); in SHA256_Final()
631 MEMSET_BZERO(context->buffer, SHA256_SHORT_BLOCK_LENGTH); in SHA256_Final()
635 MEMSET_BZERO(context->buffer, SHA256_SHORT_BLOCK_LENGTH); in SHA256_Final()
638 *context->buffer = 0x80; in SHA256_Final()
641 *(sha2_word64*)&context->buffer[SHA256_SHORT_BLOCK_LENGTH] = context->bitcount; in SHA256_Final()
644 SHA256_Transform(context, (sha2_word32*)context->buffer); in SHA256_Final()
651 REVERSE32(context->state[j],context->state[j]); in SHA256_Final()
652 *d++ = context->state[j]; in SHA256_Final()
656 MEMCPY_BCOPY(d, context->state, SHA256_DIGEST_LENGTH); in SHA256_Final()
661 MEMSET_BZERO(context, sizeof(*context)); in SHA256_Final()
665 char *SHA256_End(SHA256_CTX* context, char buffer[]) { in SHA256_End() argument
670 assert(context != (SHA256_CTX*)0); in SHA256_End()
673 SHA256_Final(digest, context); in SHA256_End()
682 MEMSET_BZERO(context, sizeof(*context)); in SHA256_End()
689 SHA256_CTX context; in SHA256_Data() local
691 SHA256_Init(&context); in SHA256_Data()
692 SHA256_Update(&context, data, len); in SHA256_Data()
693 return SHA256_End(&context, digest); in SHA256_Data()
699 void SHA512_Init(SHA512_CTX* context) { in SHA512_Init() argument
700 if (context == (SHA512_CTX*)0) { in SHA512_Init()
703 MEMCPY_BCOPY(context->state, sha512_initial_hash_value, SHA512_DIGEST_LENGTH); in SHA512_Init()
704 MEMSET_BZERO(context->buffer, SHA512_BLOCK_LENGTH); in SHA512_Init()
705 context->bitcount[0] = context->bitcount[1] = 0; in SHA512_Init()
744 void SHA512_Transform(SHA512_CTX* context, const sha2_word64* data) { in SHA512_Transform() argument
746 sha2_word64 T1, *W512 = (sha2_word64*)context->buffer; in SHA512_Transform()
750 a = context->state[0]; in SHA512_Transform()
751 b = context->state[1]; in SHA512_Transform()
752 c = context->state[2]; in SHA512_Transform()
753 d = context->state[3]; in SHA512_Transform()
754 e = context->state[4]; in SHA512_Transform()
755 f = context->state[5]; in SHA512_Transform()
756 g = context->state[6]; in SHA512_Transform()
757 h = context->state[7]; in SHA512_Transform()
784 context->state[0] += a; in SHA512_Transform()
785 context->state[1] += b; in SHA512_Transform()
786 context->state[2] += c; in SHA512_Transform()
787 context->state[3] += d; in SHA512_Transform()
788 context->state[4] += e; in SHA512_Transform()
789 context->state[5] += f; in SHA512_Transform()
790 context->state[6] += g; in SHA512_Transform()
791 context->state[7] += h; in SHA512_Transform()
799 void SHA512_Transform(SHA512_CTX* context, const sha2_word64* data) { in SHA512_Transform() argument
801 sha2_word64 T1, T2, *W512 = (sha2_word64*)context->buffer; in SHA512_Transform()
805 a = context->state[0]; in SHA512_Transform()
806 b = context->state[1]; in SHA512_Transform()
807 c = context->state[2]; in SHA512_Transform()
808 d = context->state[3]; in SHA512_Transform()
809 e = context->state[4]; in SHA512_Transform()
810 f = context->state[5]; in SHA512_Transform()
811 g = context->state[6]; in SHA512_Transform()
812 h = context->state[7]; in SHA512_Transform()
862 context->state[0] += a; in SHA512_Transform()
863 context->state[1] += b; in SHA512_Transform()
864 context->state[2] += c; in SHA512_Transform()
865 context->state[3] += d; in SHA512_Transform()
866 context->state[4] += e; in SHA512_Transform()
867 context->state[5] += f; in SHA512_Transform()
868 context->state[6] += g; in SHA512_Transform()
869 context->state[7] += h; in SHA512_Transform()
877 void SHA512_Update(SHA512_CTX* context, const sha2_byte *data, size_t len) { in SHA512_Update() argument
886 assert(context != (SHA512_CTX*)0 && data != (sha2_byte*)0); in SHA512_Update()
888 usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH; in SHA512_Update()
895 MEMCPY_BCOPY(&context->buffer[usedspace], data, freespace); in SHA512_Update()
896 ADDINC128(context->bitcount, freespace << 3); in SHA512_Update()
899 SHA512_Transform(context, (sha2_word64*)context->buffer); in SHA512_Update()
902 MEMCPY_BCOPY(&context->buffer[usedspace], data, len); in SHA512_Update()
903 ADDINC128(context->bitcount, len << 3); in SHA512_Update()
911 SHA512_Transform(context, (sha2_word64*)data); in SHA512_Update()
912 ADDINC128(context->bitcount, SHA512_BLOCK_LENGTH << 3); in SHA512_Update()
918 MEMCPY_BCOPY(context->buffer, data, len); in SHA512_Update()
919 ADDINC128(context->bitcount, len << 3); in SHA512_Update()
925 void SHA512_Last(SHA512_CTX* context) { in SHA512_Last() argument
928 usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH; in SHA512_Last()
931 REVERSE64(context->bitcount[0],context->bitcount[0]); in SHA512_Last()
932 REVERSE64(context->bitcount[1],context->bitcount[1]); in SHA512_Last()
936 context->buffer[usedspace++] = 0x80; in SHA512_Last()
940 MEMSET_BZERO(&context->buffer[usedspace], SHA512_SHORT_BLOCK_LENGTH - usedspace); in SHA512_Last()
943 MEMSET_BZERO(&context->buffer[usedspace], SHA512_BLOCK_LENGTH - usedspace); in SHA512_Last()
946 SHA512_Transform(context, (sha2_word64*)context->buffer); in SHA512_Last()
949 MEMSET_BZERO(context->buffer, SHA512_BLOCK_LENGTH - 2); in SHA512_Last()
953 MEMSET_BZERO(context->buffer, SHA512_SHORT_BLOCK_LENGTH); in SHA512_Last()
956 *context->buffer = 0x80; in SHA512_Last()
959 *(sha2_word64*)&context->buffer[SHA512_SHORT_BLOCK_LENGTH] = context->bitcount[1]; in SHA512_Last()
960 *(sha2_word64*)&context->buffer[SHA512_SHORT_BLOCK_LENGTH+8] = context->bitcount[0]; in SHA512_Last()
963 SHA512_Transform(context, (sha2_word64*)context->buffer); in SHA512_Last()
966 void SHA512_Final(sha2_byte digest[], SHA512_CTX* context) { in SHA512_Final() argument
970 assert(context != (SHA512_CTX*)0); in SHA512_Final()
974 SHA512_Last(context); in SHA512_Final()
982 REVERSE64(context->state[j],context->state[j]); in SHA512_Final()
983 *d++ = context->state[j]; in SHA512_Final()
987 MEMCPY_BCOPY(d, context->state, SHA512_DIGEST_LENGTH); in SHA512_Final()
992 MEMSET_BZERO(context, sizeof(context)); in SHA512_Final()
995 char *SHA512_End(SHA512_CTX* context, char buffer[]) { in SHA512_End() argument
1000 assert(context != (SHA512_CTX*)0); in SHA512_End()
1003 SHA512_Final(digest, context); in SHA512_End()
1012 MEMSET_BZERO(context, sizeof(context)); in SHA512_End()
1019 SHA512_CTX context; in SHA512_Data() local
1021 SHA512_Init(&context); in SHA512_Data()
1022 SHA512_Update(&context, data, len); in SHA512_Data()
1023 return SHA512_End(&context, digest); in SHA512_Data()
1029 void SHA384_Init(SHA384_CTX* context) { in SHA384_Init() argument
1030 if (context == (SHA384_CTX*)0) { in SHA384_Init()
1033 MEMCPY_BCOPY(context->state, sha384_initial_hash_value, SHA512_DIGEST_LENGTH); in SHA384_Init()
1034 MEMSET_BZERO(context->buffer, SHA384_BLOCK_LENGTH); in SHA384_Init()
1035 context->bitcount[0] = context->bitcount[1] = 0; in SHA384_Init()
1038 void SHA384_Update(SHA384_CTX* context, const sha2_byte* data, size_t len) { in SHA384_Update() argument
1039 SHA512_Update((SHA512_CTX*)context, data, len); in SHA384_Update()
1042 void SHA384_Final(sha2_byte digest[], SHA384_CTX* context) { in SHA384_Final() argument
1046 assert(context != (SHA384_CTX*)0); in SHA384_Final()
1050 SHA512_Last((SHA512_CTX*)context); in SHA384_Final()
1058 REVERSE64(context->state[j],context->state[j]); in SHA384_Final()
1059 *d++ = context->state[j]; in SHA384_Final()
1063 MEMCPY_BCOPY(d, context->state, SHA384_DIGEST_LENGTH); in SHA384_Final()
1068 MEMSET_BZERO(context, sizeof(context)); in SHA384_Final()
1071 char *SHA384_End(SHA384_CTX* context, char buffer[]) { in SHA384_End() argument
1076 assert(context != (SHA384_CTX*)0); in SHA384_End()
1079 SHA384_Final(digest, context); in SHA384_End()
1088 MEMSET_BZERO(context, sizeof(context)); in SHA384_End()
1095 SHA384_CTX context; in SHA384_Data() local
1097 SHA384_Init(&context); in SHA384_Data()
1098 SHA384_Update(&context, data, len); in SHA384_Data()
1099 return SHA384_End(&context, digest); in SHA384_Data()