Lines Matching refs:ctx
162 void sha1_init(struct sha1_ctx *ctx) in sha1_init() argument
164 ctx->state = sha1_iv; in sha1_init()
165 ctx->bytecount = 0; in sha1_init()
169 void sha1_update(struct sha1_ctx *ctx, const u8 *data, size_t len) in sha1_update() argument
171 size_t partial = ctx->bytecount % SHA1_BLOCK_SIZE; in sha1_update()
173 ctx->bytecount += len; in sha1_update()
181 memcpy(&ctx->buf[partial], data, l); in sha1_update()
185 sha1_blocks(&ctx->state, ctx->buf, 1); in sha1_update()
192 sha1_blocks(&ctx->state, data, nblocks); in sha1_update()
198 memcpy(&ctx->buf[partial], data, len); in sha1_update()
202 static void __sha1_final(struct sha1_ctx *ctx, u8 out[SHA1_DIGEST_SIZE]) in __sha1_final() argument
204 u64 bitcount = ctx->bytecount << 3; in __sha1_final()
205 size_t partial = ctx->bytecount % SHA1_BLOCK_SIZE; in __sha1_final()
207 ctx->buf[partial++] = 0x80; in __sha1_final()
209 memset(&ctx->buf[partial], 0, SHA1_BLOCK_SIZE - partial); in __sha1_final()
210 sha1_blocks(&ctx->state, ctx->buf, 1); in __sha1_final()
213 memset(&ctx->buf[partial], 0, SHA1_BLOCK_SIZE - 8 - partial); in __sha1_final()
214 *(__be64 *)&ctx->buf[SHA1_BLOCK_SIZE - 8] = cpu_to_be64(bitcount); in __sha1_final()
215 sha1_blocks(&ctx->state, ctx->buf, 1); in __sha1_final()
218 put_unaligned_be32(ctx->state.h[i / 4], out + i); in __sha1_final()
221 void sha1_final(struct sha1_ctx *ctx, u8 out[SHA1_DIGEST_SIZE]) in sha1_final() argument
223 __sha1_final(ctx, out); in sha1_final()
224 memzero_explicit(ctx, sizeof(*ctx)); in sha1_final()
230 struct sha1_ctx ctx; in sha1() local
232 sha1_init(&ctx); in sha1()
233 sha1_update(&ctx, data, len); in sha1()
234 sha1_final(&ctx, out); in sha1()
274 void hmac_sha1_init(struct hmac_sha1_ctx *ctx, const struct hmac_sha1_key *key) in hmac_sha1_init() argument
276 ctx->sha_ctx.state = key->istate; in hmac_sha1_init()
277 ctx->sha_ctx.bytecount = SHA1_BLOCK_SIZE; in hmac_sha1_init()
278 ctx->ostate = key->ostate; in hmac_sha1_init()
282 void hmac_sha1_init_usingrawkey(struct hmac_sha1_ctx *ctx, in hmac_sha1_init_usingrawkey() argument
285 __hmac_sha1_preparekey(&ctx->sha_ctx.state, &ctx->ostate, in hmac_sha1_init_usingrawkey()
287 ctx->sha_ctx.bytecount = SHA1_BLOCK_SIZE; in hmac_sha1_init_usingrawkey()
291 void hmac_sha1_final(struct hmac_sha1_ctx *ctx, u8 out[SHA1_DIGEST_SIZE]) in hmac_sha1_final() argument
294 __sha1_final(&ctx->sha_ctx, ctx->sha_ctx.buf); in hmac_sha1_final()
295 memset(&ctx->sha_ctx.buf[SHA1_DIGEST_SIZE], 0, in hmac_sha1_final()
297 ctx->sha_ctx.buf[SHA1_DIGEST_SIZE] = 0x80; in hmac_sha1_final()
298 *(__be32 *)&ctx->sha_ctx.buf[SHA1_BLOCK_SIZE - 4] = in hmac_sha1_final()
302 sha1_blocks(&ctx->ostate, ctx->sha_ctx.buf, 1); in hmac_sha1_final()
304 put_unaligned_be32(ctx->ostate.h[i / 4], out + i); in hmac_sha1_final()
306 memzero_explicit(ctx, sizeof(*ctx)); in hmac_sha1_final()
313 struct hmac_sha1_ctx ctx; in hmac_sha1() local
315 hmac_sha1_init(&ctx, key); in hmac_sha1()
316 hmac_sha1_update(&ctx, data, data_len); in hmac_sha1()
317 hmac_sha1_final(&ctx, out); in hmac_sha1()
325 struct hmac_sha1_ctx ctx; in hmac_sha1_usingrawkey() local
327 hmac_sha1_init_usingrawkey(&ctx, raw_key, raw_key_len); in hmac_sha1_usingrawkey()
328 hmac_sha1_update(&ctx, data, data_len); in hmac_sha1_usingrawkey()
329 hmac_sha1_final(&ctx, out); in hmac_sha1_usingrawkey()