Lines Matching refs:ctx
223 void mbedtls_sha256_init(mbedtls_sha256_context *ctx)
225 memset(ctx, 0, sizeof(mbedtls_sha256_context));
228 void mbedtls_sha256_free(mbedtls_sha256_context *ctx)
230 if (ctx == NULL) {
234 mbedtls_platform_zeroize(ctx, sizeof(mbedtls_sha256_context));
246 int mbedtls_sha256_starts(mbedtls_sha256_context *ctx, int is224)
262 ctx->total[0] = 0;
263 ctx->total[1] = 0;
267 ctx->state[0] = 0x6A09E667;
268 ctx->state[1] = 0xBB67AE85;
269 ctx->state[2] = 0x3C6EF372;
270 ctx->state[3] = 0xA54FF53A;
271 ctx->state[4] = 0x510E527F;
272 ctx->state[5] = 0x9B05688C;
273 ctx->state[6] = 0x1F83D9AB;
274 ctx->state[7] = 0x5BE0CD19;
278 ctx->state[0] = 0xC1059ED8;
279 ctx->state[1] = 0x367CD507;
280 ctx->state[2] = 0x3070DD17;
281 ctx->state[3] = 0xF70E5939;
282 ctx->state[4] = 0xFFC00B31;
283 ctx->state[5] = 0x68581511;
284 ctx->state[6] = 0x64F98FA7;
285 ctx->state[7] = 0xBEFA4FA4;
290 ctx->is224 = is224;
328 mbedtls_sha256_context *ctx, const uint8_t *msg, size_t len)
330 uint32x4_t abcd = vld1q_u32(&ctx->state[0]);
331 uint32x4_t efgh = vld1q_u32(&ctx->state[4]);
416 vst1q_u32(&ctx->state[0], abcd);
417 vst1q_u32(&ctx->state[4], efgh);
429 int mbedtls_internal_sha256_process_a64_crypto(mbedtls_sha256_context *ctx,
432 return (mbedtls_internal_sha256_process_many_a64_crypto(ctx, data,
490 int mbedtls_internal_sha256_process_c(mbedtls_sha256_context *ctx,
501 local.A[i] = ctx->state[i];
566 ctx->state[i] += local.A[i];
581 mbedtls_sha256_context *ctx, const uint8_t *data, size_t len)
586 if (mbedtls_internal_sha256_process_c(ctx, data) != 0) {
617 static size_t mbedtls_internal_sha256_process_many(mbedtls_sha256_context *ctx,
621 return mbedtls_internal_sha256_process_many_a64_crypto(ctx, msg, len);
623 return mbedtls_internal_sha256_process_many_c(ctx, msg, len);
627 int mbedtls_internal_sha256_process(mbedtls_sha256_context *ctx,
631 return mbedtls_internal_sha256_process_a64_crypto(ctx, data);
633 return mbedtls_internal_sha256_process_c(ctx, data);
643 int mbedtls_sha256_update(mbedtls_sha256_context *ctx,
655 left = ctx->total[0] & 0x3F;
658 ctx->total[0] += (uint32_t) ilen;
659 ctx->total[0] &= 0xFFFFFFFF;
661 if (ctx->total[0] < (uint32_t) ilen) {
662 ctx->total[1]++;
666 memcpy((void *) (ctx->buffer + left), input, fill);
668 if ((ret = mbedtls_internal_sha256_process(ctx, ctx->buffer)) != 0) {
679 mbedtls_internal_sha256_process_many(ctx, input, ilen);
689 memcpy((void *) (ctx->buffer + left), input, ilen);
698 int mbedtls_sha256_finish(mbedtls_sha256_context *ctx,
709 used = ctx->total[0] & 0x3F;
711 ctx->buffer[used++] = 0x80;
715 memset(ctx->buffer + used, 0, 56 - used);
718 memset(ctx->buffer + used, 0, SHA256_BLOCK_SIZE - used);
720 if ((ret = mbedtls_internal_sha256_process(ctx, ctx->buffer)) != 0) {
724 memset(ctx->buffer, 0, 56);
730 high = (ctx->total[0] >> 29)
731 | (ctx->total[1] << 3);
732 low = (ctx->total[0] << 3);
734 MBEDTLS_PUT_UINT32_BE(high, ctx->buffer, 56);
735 MBEDTLS_PUT_UINT32_BE(low, ctx->buffer, 60);
737 if ((ret = mbedtls_internal_sha256_process(ctx, ctx->buffer)) != 0) {
744 MBEDTLS_PUT_UINT32_BE(ctx->state[0], output, 0);
745 MBEDTLS_PUT_UINT32_BE(ctx->state[1], output, 4);
746 MBEDTLS_PUT_UINT32_BE(ctx->state[2], output, 8);
747 MBEDTLS_PUT_UINT32_BE(ctx->state[3], output, 12);
748 MBEDTLS_PUT_UINT32_BE(ctx->state[4], output, 16);
749 MBEDTLS_PUT_UINT32_BE(ctx->state[5], output, 20);
750 MBEDTLS_PUT_UINT32_BE(ctx->state[6], output, 24);
753 truncated = ctx->is224;
756 MBEDTLS_PUT_UINT32_BE(ctx->state[7], output, 28);
762 mbedtls_sha256_free(ctx);
777 mbedtls_sha256_context ctx;
793 mbedtls_sha256_init(&ctx);
795 if ((ret = mbedtls_sha256_starts(&ctx, is224)) != 0) {
799 if ((ret = mbedtls_sha256_update(&ctx, input, ilen)) != 0) {
803 if ((ret = mbedtls_sha256_finish(&ctx, output)) != 0) {
808 mbedtls_sha256_free(&ctx);
881 mbedtls_sha256_context ctx;
900 mbedtls_sha256_init(&ctx);
907 if ((ret = mbedtls_sha256_starts(&ctx, is224)) != 0) {
915 ret = mbedtls_sha256_update(&ctx, buf, buflen);
922 ret = mbedtls_sha256_update(&ctx, sha_test_buf[i],
929 if ((ret = mbedtls_sha256_finish(&ctx, sha256sum)) != 0) {
956 mbedtls_sha256_free(&ctx);