Lines Matching refs:ctx
50 void sha1_starts (sha1_context * ctx) in sha1_starts() argument
52 ctx->total[0] = 0; in sha1_starts()
53 ctx->total[1] = 0; in sha1_starts()
55 ctx->state[0] = 0x67452301; in sha1_starts()
56 ctx->state[1] = 0xEFCDAB89; in sha1_starts()
57 ctx->state[2] = 0x98BADCFE; in sha1_starts()
58 ctx->state[3] = 0x10325476; in sha1_starts()
59 ctx->state[4] = 0xC3D2E1F0; in sha1_starts()
62 static void sha1_process(sha1_context *ctx, const unsigned char data[64]) in sha1_process() argument
95 A = ctx->state[0]; in sha1_process()
96 B = ctx->state[1]; in sha1_process()
97 C = ctx->state[2]; in sha1_process()
98 D = ctx->state[3]; in sha1_process()
99 E = ctx->state[4]; in sha1_process()
209 ctx->state[0] += A; in sha1_process()
210 ctx->state[1] += B; in sha1_process()
211 ctx->state[2] += C; in sha1_process()
212 ctx->state[3] += D; in sha1_process()
213 ctx->state[4] += E; in sha1_process()
224 void sha1_update(sha1_context *ctx, const unsigned char *input, in sha1_update() argument
233 left = ctx->total[0] & 0x3F; in sha1_update()
236 ctx->total[0] += ilen; in sha1_update()
237 ctx->total[0] &= 0xFFFFFFFF; in sha1_update()
239 if (ctx->total[0] < (unsigned long) ilen) in sha1_update()
240 ctx->total[1]++; in sha1_update()
243 memcpy ((void *) (ctx->buffer + left), (void *) input, fill); in sha1_update()
244 sha1_process (ctx, ctx->buffer); in sha1_update()
251 sha1_process (ctx, input); in sha1_update()
257 memcpy ((void *) (ctx->buffer + left), (void *) input, ilen); in sha1_update()
272 void sha1_finish (sha1_context * ctx, unsigned char output[20]) in sha1_finish() argument
278 high = (ctx->total[0] >> 29) in sha1_finish()
279 | (ctx->total[1] << 3); in sha1_finish()
280 low = (ctx->total[0] << 3); in sha1_finish()
285 last = ctx->total[0] & 0x3F; in sha1_finish()
288 sha1_update (ctx, (unsigned char *) sha1_padding, padn); in sha1_finish()
289 sha1_update (ctx, msglen, 8); in sha1_finish()
291 PUT_UINT32_BE (ctx->state[0], output, 0); in sha1_finish()
292 PUT_UINT32_BE (ctx->state[1], output, 4); in sha1_finish()
293 PUT_UINT32_BE (ctx->state[2], output, 8); in sha1_finish()
294 PUT_UINT32_BE (ctx->state[3], output, 12); in sha1_finish()
295 PUT_UINT32_BE (ctx->state[4], output, 16); in sha1_finish()
305 sha1_context ctx; in sha1_csum() local
307 sha1_starts (&ctx); in sha1_csum()
308 sha1_update (&ctx, input, ilen); in sha1_csum()
309 sha1_finish (&ctx, output); in sha1_csum()
319 void sha256_starts(sha256_context * ctx) in sha256_starts() argument
321 ctx->total[0] = 0; in sha256_starts()
322 ctx->total[1] = 0; in sha256_starts()
324 ctx->state[0] = 0x6A09E667; in sha256_starts()
325 ctx->state[1] = 0xBB67AE85; in sha256_starts()
326 ctx->state[2] = 0x3C6EF372; in sha256_starts()
327 ctx->state[3] = 0xA54FF53A; in sha256_starts()
328 ctx->state[4] = 0x510E527F; in sha256_starts()
329 ctx->state[5] = 0x9B05688C; in sha256_starts()
330 ctx->state[6] = 0x1F83D9AB; in sha256_starts()
331 ctx->state[7] = 0x5BE0CD19; in sha256_starts()
334 static void sha256_process(sha256_context *ctx, const uint8_t data[64]) in sha256_process() argument
381 A = ctx->state[0]; in sha256_process()
382 B = ctx->state[1]; in sha256_process()
383 C = ctx->state[2]; in sha256_process()
384 D = ctx->state[3]; in sha256_process()
385 E = ctx->state[4]; in sha256_process()
386 F = ctx->state[5]; in sha256_process()
387 G = ctx->state[6]; in sha256_process()
388 H = ctx->state[7]; in sha256_process()
455 ctx->state[0] += A; in sha256_process()
456 ctx->state[1] += B; in sha256_process()
457 ctx->state[2] += C; in sha256_process()
458 ctx->state[3] += D; in sha256_process()
459 ctx->state[4] += E; in sha256_process()
460 ctx->state[5] += F; in sha256_process()
461 ctx->state[6] += G; in sha256_process()
462 ctx->state[7] += H; in sha256_process()
477 void sha256_update(sha256_context *ctx, const uint8_t *input, uint32_t length) in sha256_update() argument
484 left = ctx->total[0] & 0x3F; in sha256_update()
487 ctx->total[0] += length; in sha256_update()
488 ctx->total[0] &= 0xFFFFFFFF; in sha256_update()
490 if (ctx->total[0] < length) in sha256_update()
491 ctx->total[1]++; in sha256_update()
494 memcpy((void *) (ctx->buffer + left), (void *) input, fill); in sha256_update()
495 sha256_process(ctx, ctx->buffer); in sha256_update()
502 sha256_process(ctx, input); in sha256_update()
508 memcpy((void *) (ctx->buffer + left), (void *) input, length); in sha256_update()
519 void sha256_finish(sha256_context * ctx, uint8_t digest[32]) in sha256_finish() argument
525 high = ((ctx->total[0] >> 29) in sha256_finish()
526 | (ctx->total[1] << 3)); in sha256_finish()
527 low = (ctx->total[0] << 3); in sha256_finish()
532 last = ctx->total[0] & 0x3F; in sha256_finish()
535 sha256_update(ctx, sha256_padding, padn); in sha256_finish()
536 sha256_update(ctx, msglen, 8); in sha256_finish()
538 PUT_UINT32_BE(ctx->state[0], digest, 0); in sha256_finish()
539 PUT_UINT32_BE(ctx->state[1], digest, 4); in sha256_finish()
540 PUT_UINT32_BE(ctx->state[2], digest, 8); in sha256_finish()
541 PUT_UINT32_BE(ctx->state[3], digest, 12); in sha256_finish()
542 PUT_UINT32_BE(ctx->state[4], digest, 16); in sha256_finish()
543 PUT_UINT32_BE(ctx->state[5], digest, 20); in sha256_finish()
544 PUT_UINT32_BE(ctx->state[6], digest, 24); in sha256_finish()
545 PUT_UINT32_BE(ctx->state[7], digest, 28); in sha256_finish()
555 sha256_context ctx; in sha256_csum() local
557 sha256_starts(&ctx); in sha256_csum()
558 sha256_update(&ctx, input, ilen); in sha256_csum()
559 sha256_finish(&ctx, output); in sha256_csum()