Lines Matching refs:context

282 SHA256_Init(SHA256_CTX *context)
284 if (context == NULL)
286 memcpy(context->state, sha256_initial_hash_value,
288 memset(context->buffer, 0, sizeof(context->buffer));
289 context->bitcount = 0;
451 SHA256_Update(SHA256_CTX *context, const u_int8_t *data, size_t len)
459 usedspace = (context->bitcount >> 3) % SHA256_BLOCK_LENGTH;
466 memcpy(&context->buffer[usedspace], data, freespace);
467 context->bitcount += freespace << 3;
470 SHA256_Transform(context->state, context->buffer);
473 memcpy(&context->buffer[usedspace], data, len);
474 context->bitcount += len << 3;
482 SHA256_Transform(context->state, data);
483 context->bitcount += SHA256_BLOCK_LENGTH << 3;
489 memcpy(context->buffer, data, len);
490 context->bitcount += len << 3;
497 SHA256_Pad(SHA256_CTX *context)
501 usedspace = (context->bitcount >> 3) % SHA256_BLOCK_LENGTH;
504 context->buffer[usedspace++] = 0x80;
508 memset(&context->buffer[usedspace], 0,
512 memset(&context->buffer[usedspace], 0,
516 SHA256_Transform(context->state, context->buffer);
519 memset(context->buffer, 0, SHA256_SHORT_BLOCK_LENGTH);
523 memset(context->buffer, 0, SHA256_SHORT_BLOCK_LENGTH);
526 *context->buffer = 0x80;
529 BE_64_TO_8(&context->buffer[SHA256_SHORT_BLOCK_LENGTH],
530 context->bitcount);
533 SHA256_Transform(context->state, context->buffer);
540 SHA256_Final(u_int8_t digest[SHA256_DIGEST_LENGTH], SHA256_CTX *context)
542 SHA256_Pad(context);
551 BE_32_TO_8(digest + i * 4, context->state[i]);
553 memcpy(digest, context->state, SHA256_DIGEST_LENGTH);
555 memset(context, 0, sizeof(*context));
562 SHA512_Init(SHA512_CTX *context)
564 if (context == NULL)
566 memcpy(context->state, sha512_initial_hash_value,
568 memset(context->buffer, 0, sizeof(context->buffer));
569 context->bitcount[0] = context->bitcount[1] = 0;
732 SHA512_Update(SHA512_CTX *context, const u_int8_t *data, size_t len)
740 usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH;
747 memcpy(&context->buffer[usedspace], data, freespace);
748 ADDINC128(context->bitcount, freespace << 3);
751 SHA512_Transform(context->state, context->buffer);
754 memcpy(&context->buffer[usedspace], data, len);
755 ADDINC128(context->bitcount, len << 3);
763 SHA512_Transform(context->state, data);
764 ADDINC128(context->bitcount, SHA512_BLOCK_LENGTH << 3);
770 memcpy(context->buffer, data, len);
771 ADDINC128(context->bitcount, len << 3);
778 SHA512_Pad(SHA512_CTX *context)
782 usedspace = (context->bitcount[0] >> 3) % SHA512_BLOCK_LENGTH;
785 context->buffer[usedspace++] = 0x80;
789 memset(&context->buffer[usedspace], 0, SHA512_SHORT_BLOCK_LENGTH - usedspace);
792 memset(&context->buffer[usedspace], 0, SHA512_BLOCK_LENGTH - usedspace);
795 SHA512_Transform(context->state, context->buffer);
798 memset(context->buffer, 0, SHA512_BLOCK_LENGTH - 2);
802 memset(context->buffer, 0, SHA512_SHORT_BLOCK_LENGTH);
805 *context->buffer = 0x80;
808 BE_64_TO_8(&context->buffer[SHA512_SHORT_BLOCK_LENGTH],
809 context->bitcount[1]);
810 BE_64_TO_8(&context->buffer[SHA512_SHORT_BLOCK_LENGTH + 8],
811 context->bitcount[0]);
814 SHA512_Transform(context->state, context->buffer);
821 SHA512_Final(u_int8_t digest[SHA512_DIGEST_LENGTH], SHA512_CTX *context)
823 SHA512_Pad(context);
832 BE_64_TO_8(digest + i * 8, context->state[i]);
834 memcpy(digest, context->state, SHA512_DIGEST_LENGTH);
836 memset(context, 0, sizeof(*context));
844 SHA384_Init(SHA384_CTX *context)
846 if (context == NULL)
848 memcpy(context->state, sha384_initial_hash_value,
850 memset(context->buffer, 0, sizeof(context->buffer));
851 context->bitcount[0] = context->bitcount[1] = 0;
859 SHA384_Final(u_int8_t digest[SHA384_DIGEST_LENGTH], SHA384_CTX *context)
861 SHA384_Pad(context);
870 BE_64_TO_8(digest + i * 8, context->state[i]);
872 memcpy(digest, context->state, SHA384_DIGEST_LENGTH);
877 memset(context, 0, sizeof(*context));