Lines Matching defs:state
62 void crypto_aegis128_update_simd(struct aegis_state *state, const void *msg);
63 void crypto_aegis128_init_simd(struct aegis_state *state,
66 void crypto_aegis128_encrypt_chunk_simd(struct aegis_state *state, u8 *dst,
68 void crypto_aegis128_decrypt_chunk_simd(struct aegis_state *state, u8 *dst,
70 void crypto_aegis128_final_simd(struct aegis_state *state,
74 static void crypto_aegis128_update(struct aegis_state *state)
79 tmp = state->blocks[AEGIS128_STATE_BLOCKS - 1];
81 crypto_aegis_aesenc(&state->blocks[i], &state->blocks[i - 1],
82 &state->blocks[i]);
83 crypto_aegis_aesenc(&state->blocks[0], &tmp, &state->blocks[0]);
86 static void crypto_aegis128_update_a(struct aegis_state *state,
90 crypto_aegis128_update_simd(state, msg);
94 crypto_aegis128_update(state);
95 crypto_aegis_block_xor(&state->blocks[0], msg);
98 static void crypto_aegis128_update_u(struct aegis_state *state, const void *msg)
101 crypto_aegis128_update_simd(state, msg);
105 crypto_aegis128_update(state);
106 crypto_xor(state->blocks[0].bytes, msg, AEGIS_BLOCK_SIZE);
109 static void crypto_aegis128_init(struct aegis_state *state,
119 state->blocks[0] = key_iv;
120 state->blocks[1] = crypto_aegis_const[1];
121 state->blocks[2] = crypto_aegis_const[0];
122 state->blocks[3] = *key;
123 state->blocks[4] = *key;
125 crypto_aegis_block_xor(&state->blocks[3], &crypto_aegis_const[0]);
126 crypto_aegis_block_xor(&state->blocks[4], &crypto_aegis_const[1]);
129 crypto_aegis128_update_a(state, key);
130 crypto_aegis128_update_a(state, &key_iv);
134 static void crypto_aegis128_ad(struct aegis_state *state,
142 crypto_aegis128_update_a(state, src_blk);
149 crypto_aegis128_update_u(state, src);
157 static void crypto_aegis128_encrypt_chunk(struct aegis_state *state, u8 *dst,
169 tmp = state->blocks[2];
170 crypto_aegis_block_and(&tmp, &state->blocks[3]);
171 crypto_aegis_block_xor(&tmp, &state->blocks[4]);
172 crypto_aegis_block_xor(&tmp, &state->blocks[1]);
175 crypto_aegis128_update_a(state, src_blk);
185 tmp = state->blocks[2];
186 crypto_aegis_block_and(&tmp, &state->blocks[3]);
187 crypto_aegis_block_xor(&tmp, &state->blocks[4]);
188 crypto_aegis_block_xor(&tmp, &state->blocks[1]);
191 crypto_aegis128_update_u(state, src);
205 tmp = state->blocks[2];
206 crypto_aegis_block_and(&tmp, &state->blocks[3]);
207 crypto_aegis_block_xor(&tmp, &state->blocks[4]);
208 crypto_aegis_block_xor(&tmp, &state->blocks[1]);
210 crypto_aegis128_update_a(state, &msg);
218 static void crypto_aegis128_decrypt_chunk(struct aegis_state *state, u8 *dst,
230 tmp = state->blocks[2];
231 crypto_aegis_block_and(&tmp, &state->blocks[3]);
232 crypto_aegis_block_xor(&tmp, &state->blocks[4]);
233 crypto_aegis_block_xor(&tmp, &state->blocks[1]);
236 crypto_aegis128_update_a(state, &tmp);
246 tmp = state->blocks[2];
247 crypto_aegis_block_and(&tmp, &state->blocks[3]);
248 crypto_aegis_block_xor(&tmp, &state->blocks[4]);
249 crypto_aegis_block_xor(&tmp, &state->blocks[1]);
252 crypto_aegis128_update_a(state, &tmp);
266 tmp = state->blocks[2];
267 crypto_aegis_block_and(&tmp, &state->blocks[3]);
268 crypto_aegis_block_xor(&tmp, &state->blocks[4]);
269 crypto_aegis_block_xor(&tmp, &state->blocks[1]);
274 crypto_aegis128_update_a(state, &msg);
280 static void crypto_aegis128_process_ad(struct aegis_state *state,
299 crypto_aegis128_update_a(state, &buf);
305 crypto_aegis128_ad(state, src, left);
321 crypto_aegis128_update_a(state, &buf);
326 int crypto_aegis128_process_crypt(struct aegis_state *state,
329 void (*crypt)(struct aegis_state *state,
341 crypt(state, walk->dst.virt.addr, walk->src.virt.addr, nbytes);
348 static void crypto_aegis128_final(struct aegis_state *state,
361 crypto_aegis_block_xor(&tmp, &state->blocks[3]);
364 crypto_aegis128_update_a(state, &tmp);
367 crypto_aegis_block_xor(tag_xor, &state->blocks[i]);
400 struct aegis_state state;
404 crypto_aegis128_init_simd(&state, &ctx->key, req->iv);
405 crypto_aegis128_process_ad(&state, req->src, req->assoclen);
406 crypto_aegis128_process_crypt(&state, req, &walk,
408 crypto_aegis128_final_simd(&state, &tag, req->assoclen,
411 crypto_aegis128_init(&state, &ctx->key, req->iv);
412 crypto_aegis128_process_ad(&state, req->src, req->assoclen);
413 crypto_aegis128_process_crypt(&state, req, &walk,
415 crypto_aegis128_final(&state, &tag, req->assoclen, cryptlen);
432 struct aegis_state state;
439 crypto_aegis128_init_simd(&state, &ctx->key, req->iv);
440 crypto_aegis128_process_ad(&state, req->src, req->assoclen);
441 crypto_aegis128_process_crypt(&state, req, &walk,
443 crypto_aegis128_final_simd(&state, &tag, req->assoclen,
446 crypto_aegis128_init(&state, &ctx->key, req->iv);
447 crypto_aegis128_process_ad(&state, req->src, req->assoclen);
448 crypto_aegis128_process_crypt(&state, req, &walk,
450 crypto_aegis128_final(&state, &tag, req->assoclen, cryptlen);