Lines Matching +full:multi +full:- +full:block
2 * Shared glue code for 128bit block ciphers
4 * Copyright © 2012-2013 Jussi Kivilinna <jussi.kivilinna@iki.fi>
9 * (C) Copyright IBM Corp. 2007 - Joy Latten <latten@us.ibm.com>
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
53 fpu_enabled = glue_fpu_begin(bsize, gctx->fpu_blocks_limit, in glue_ecb_req_128bit()
55 for (i = 0; i < gctx->num_funcs; i++) { in glue_ecb_req_128bit()
56 func_bytes = bsize * gctx->funcs[i].num_blocks; in glue_ecb_req_128bit()
61 /* Process multi-block batch */ in glue_ecb_req_128bit()
63 gctx->funcs[i].fn_u.ecb(ctx, dst, src); in glue_ecb_req_128bit()
66 nbytes -= func_bytes; in glue_ecb_req_128bit()
102 nbytes -= bsize; in glue_cbc_encrypt_req_128bit()
131 fpu_enabled = glue_fpu_begin(bsize, gctx->fpu_blocks_limit, in glue_cbc_decrypt_req_128bit()
133 /* Start of the last block. */ in glue_cbc_decrypt_req_128bit()
134 src += nbytes / bsize - 1; in glue_cbc_decrypt_req_128bit()
135 dst += nbytes / bsize - 1; in glue_cbc_decrypt_req_128bit()
139 for (i = 0; i < gctx->num_funcs; i++) { in glue_cbc_decrypt_req_128bit()
140 num_blocks = gctx->funcs[i].num_blocks; in glue_cbc_decrypt_req_128bit()
146 /* Process multi-block batch */ in glue_cbc_decrypt_req_128bit()
148 src -= num_blocks - 1; in glue_cbc_decrypt_req_128bit()
149 dst -= num_blocks - 1; in glue_cbc_decrypt_req_128bit()
151 gctx->funcs[i].fn_u.cbc(ctx, dst, src); in glue_cbc_decrypt_req_128bit()
153 nbytes -= func_bytes; in glue_cbc_decrypt_req_128bit()
157 u128_xor(dst, dst, --src); in glue_cbc_decrypt_req_128bit()
158 dst--; in glue_cbc_decrypt_req_128bit()
191 fpu_enabled = glue_fpu_begin(bsize, gctx->fpu_blocks_limit, in glue_ctr_req_128bit()
196 for (i = 0; i < gctx->num_funcs; i++) { in glue_ctr_req_128bit()
197 num_blocks = gctx->funcs[i].num_blocks; in glue_ctr_req_128bit()
203 /* Process multi-block batch */ in glue_ctr_req_128bit()
205 gctx->funcs[i].fn_u.ctr(ctx, dst, src, &ctrblk); in glue_ctr_req_128bit()
208 nbytes -= func_bytes; in glue_ctr_req_128bit()
227 gctx->funcs[gctx->num_funcs - 1].fn_u.ctr(ctx, &tmp, &tmp, in glue_ctr_req_128bit()
244 unsigned int nbytes = walk->nbytes; in __glue_xts_req_128bit()
245 u128 *src = walk->src.virt.addr; in __glue_xts_req_128bit()
246 u128 *dst = walk->dst.virt.addr; in __glue_xts_req_128bit()
250 /* Process multi-block batch */ in __glue_xts_req_128bit()
251 for (i = 0; i < gctx->num_funcs; i++) { in __glue_xts_req_128bit()
252 num_blocks = gctx->funcs[i].num_blocks; in __glue_xts_req_128bit()
257 gctx->funcs[i].fn_u.xts(ctx, dst, src, in __glue_xts_req_128bit()
258 walk->iv); in __glue_xts_req_128bit()
262 nbytes -= func_bytes; in __glue_xts_req_128bit()
291 fpu_enabled = glue_fpu_begin(bsize, gctx->fpu_blocks_limit, in glue_xts_req_128bit()
319 /* CC <- T xor C */ in glue_xts_crypt_128bit_one()
322 /* PP <- D(Key2,CC) */ in glue_xts_crypt_128bit_one()
325 /* P <- T xor PP */ in glue_xts_crypt_128bit_one()