CTR_RFC3686_NONCE_SIZE
if (keylen < CTR_RFC3686_NONCE_SIZE)
memcpy(ctx->nonce, key + (keylen - CTR_RFC3686_NONCE_SIZE),
CTR_RFC3686_NONCE_SIZE);
keylen -= CTR_RFC3686_NONCE_SIZE;
u8 nonce[CTR_RFC3686_NONCE_SIZE];
memcpy(iv, ctx->nonce, CTR_RFC3686_NONCE_SIZE);
memcpy(iv + CTR_RFC3686_NONCE_SIZE, req->iv, CTR_RFC3686_IV_SIZE);
*(__be32 *)(iv + CTR_RFC3686_NONCE_SIZE + CTR_RFC3686_IV_SIZE) =
inst->alg.min_keysize = alg->min_keysize + CTR_RFC3686_NONCE_SIZE;
inst->alg.max_keysize = alg->max_keysize + CTR_RFC3686_NONCE_SIZE;
rc = crypto4xx_setkey_aes(cipher, key, keylen - CTR_RFC3686_NONCE_SIZE,
CTR_RFC3686_NONCE_SIZE]);
.min_keysize = AES_MIN_KEY_SIZE + CTR_RFC3686_NONCE_SIZE,
.max_keysize = AES_MAX_KEY_SIZE + CTR_RFC3686_NONCE_SIZE,
ivoffset = 16 + CTR_RFC3686_NONCE_SIZE;
CTR_RFC3686_NONCE_SIZE,
CTR_RFC3686_NONCE_SIZE,
ctx1_iv_off = 16 + CTR_RFC3686_NONCE_SIZE;
ctx->cdata.keylen - CTR_RFC3686_NONCE_SIZE);
CTR_RFC3686_NONCE_SIZE + \
ctx1_iv_off = 16 + CTR_RFC3686_NONCE_SIZE;
keylen -= CTR_RFC3686_NONCE_SIZE;
append_load_as_imm(desc, nonce, CTR_RFC3686_NONCE_SIZE,
(CTR_RFC3686_NONCE_SIZE << MOVE_LEN_SHIFT));
append_load_as_imm(desc, nonce, CTR_RFC3686_NONCE_SIZE,
(CTR_RFC3686_NONCE_SIZE << MOVE_LEN_SHIFT));
enckeylen -= CTR_RFC3686_NONCE_SIZE;
append_load_as_imm(desc, nonce, CTR_RFC3686_NONCE_SIZE,
(CTR_RFC3686_NONCE_SIZE << MOVE_LEN_SHIFT));
ctx1_iv_off = 16 + CTR_RFC3686_NONCE_SIZE;
ctx->cdata.keylen - CTR_RFC3686_NONCE_SIZE);
CTR_RFC3686_NONCE_SIZE,
CTR_RFC3686_NONCE_SIZE,
ctx1_iv_off = 16 + CTR_RFC3686_NONCE_SIZE;
keylen -= CTR_RFC3686_NONCE_SIZE;
ctx1_iv_off = 16 + CTR_RFC3686_NONCE_SIZE;
keylen -= CTR_RFC3686_NONCE_SIZE;
CTR_RFC3686_NONCE_SIZE,
CTR_RFC3686_NONCE_SIZE,
ctx1_iv_off = 16 + CTR_RFC3686_NONCE_SIZE;
ctx->cdata.keylen - CTR_RFC3686_NONCE_SIZE);
#define CAAM_MAX_KEY_SIZE (AES_MAX_KEY_SIZE + CTR_RFC3686_NONCE_SIZE + \
if (keylen < CTR_RFC3686_NONCE_SIZE)
memcpy(fctx->crypto.iv, key + (keylen - CTR_RFC3686_NONCE_SIZE),
CTR_RFC3686_NONCE_SIZE);
keylen -= CTR_RFC3686_NONCE_SIZE;
.min_keysize = AES_MIN_KEY_SIZE + CTR_RFC3686_NONCE_SIZE,
.max_keysize = AES_MAX_KEY_SIZE + CTR_RFC3686_NONCE_SIZE,
if (key_len < CTR_RFC3686_NONCE_SIZE)
key_len -= CTR_RFC3686_NONCE_SIZE;
memcpy(ctx->u.aes.nonce, key + key_len, CTR_RFC3686_NONCE_SIZE);
memcpy(iv, ctx->u.aes.nonce, CTR_RFC3686_NONCE_SIZE);
iv += CTR_RFC3686_NONCE_SIZE;
.min_keysize = AES_MIN_KEY_SIZE + CTR_RFC3686_NONCE_SIZE,
.max_keysize = AES_MAX_KEY_SIZE + CTR_RFC3686_NONCE_SIZE,
u8 nonce[CTR_RFC3686_NONCE_SIZE];
CTR_RFC3686_NONCE_SIZE);
memcpy(areq_ctx->ctr_iv + CTR_RFC3686_NONCE_SIZE, req->iv,
*(__be32 *)(areq_ctx->ctr_iv + CTR_RFC3686_NONCE_SIZE +
#define MAX_NONCE_SIZE CTR_RFC3686_NONCE_SIZE
(AES_MIN_KEY_SIZE + CTR_RFC3686_NONCE_SIZE))
CTR_RFC3686_NONCE_SIZE, CTR_RFC3686_NONCE_SIZE);
ctx->enc_keylen -= CTR_RFC3686_NONCE_SIZE;
*(__be32 *)(reqctx->iv + CTR_RFC3686_NONCE_SIZE +
memcpy(reqctx->iv, ablkctx->nonce, CTR_RFC3686_NONCE_SIZE);
memcpy(reqctx->iv + CTR_RFC3686_NONCE_SIZE, req->iv,
*(__be32 *)(reqctx->iv + CTR_RFC3686_NONCE_SIZE +
memcpy(ivptr, aeadctx->nonce, CTR_RFC3686_NONCE_SIZE);
memcpy(ivptr + CTR_RFC3686_NONCE_SIZE, req->iv,
*(__be32 *)(ivptr + CTR_RFC3686_NONCE_SIZE +
if (keys.enckeylen < CTR_RFC3686_NONCE_SIZE)
- CTR_RFC3686_NONCE_SIZE), CTR_RFC3686_NONCE_SIZE);
keys.enckeylen -= CTR_RFC3686_NONCE_SIZE;
if (keys.enckeylen < CTR_RFC3686_NONCE_SIZE)
- CTR_RFC3686_NONCE_SIZE), CTR_RFC3686_NONCE_SIZE);
keys.enckeylen -= CTR_RFC3686_NONCE_SIZE;
.min_keysize = AES_MIN_KEY_SIZE + CTR_RFC3686_NONCE_SIZE,
.max_keysize = AES_MAX_KEY_SIZE + CTR_RFC3686_NONCE_SIZE,
if (keylen < CTR_RFC3686_NONCE_SIZE)
memcpy(ablkctx->nonce, key + (keylen - CTR_RFC3686_NONCE_SIZE),
CTR_RFC3686_NONCE_SIZE);
keylen -= CTR_RFC3686_NONCE_SIZE;
if (keys.enckeylen < CTR_RFC3686_NONCE_SIZE)
keys.enckeylen -= CTR_RFC3686_NONCE_SIZE;
CTR_RFC3686_NONCE_SIZE);
keylen = len - CTR_RFC3686_NONCE_SIZE;
memcpy(&nonce, key + keylen, CTR_RFC3686_NONCE_SIZE);
.min_keysize = AES_MIN_KEY_SIZE + CTR_RFC3686_NONCE_SIZE,
.max_keysize = AES_MAX_KEY_SIZE + CTR_RFC3686_NONCE_SIZE,
if (len < CTR_RFC3686_NONCE_SIZE)
CTR_RFC3686_NONCE_SIZE;
ctx->nonce = *(u32 *)(key + len - CTR_RFC3686_NONCE_SIZE);
keylen = len - CTR_RFC3686_NONCE_SIZE;
.min_keysize = AES_MIN_KEY_SIZE + CTR_RFC3686_NONCE_SIZE,
.max_keysize = AES_MAX_KEY_SIZE + CTR_RFC3686_NONCE_SIZE,
ctx->nonce = *(u32 *)(key + len - CTR_RFC3686_NONCE_SIZE);
len -= CTR_RFC3686_NONCE_SIZE;
.min_keysize = SM4_KEY_SIZE + CTR_RFC3686_NONCE_SIZE,
.max_keysize = SM4_KEY_SIZE + CTR_RFC3686_NONCE_SIZE,
ctx->nonce = *(u32 *)(key + len - CTR_RFC3686_NONCE_SIZE);
len -= CTR_RFC3686_NONCE_SIZE;
if (unlikely(keys.enckeylen < CTR_RFC3686_NONCE_SIZE))
CTR_RFC3686_NONCE_SIZE);
keys.enckeylen -= CTR_RFC3686_NONCE_SIZE;
memcpy(iv, ctx->nonce, CTR_RFC3686_NONCE_SIZE);
memcpy(iv + CTR_RFC3686_NONCE_SIZE, info, CTR_RFC3686_IV_SIZE);
*(__be32 *)(iv + CTR_RFC3686_NONCE_SIZE + CTR_RFC3686_IV_SIZE) =
u8 nonce[CTR_RFC3686_NONCE_SIZE];
if (key_len < CTR_RFC3686_NONCE_SIZE)
memcpy(ctx->nonce, key + (key_len - CTR_RFC3686_NONCE_SIZE),
CTR_RFC3686_NONCE_SIZE);
key_len -= CTR_RFC3686_NONCE_SIZE;
memcpy(iv, nx_ctx->priv.ctr.nonce, CTR_RFC3686_NONCE_SIZE);
memcpy(iv + CTR_RFC3686_NONCE_SIZE, req->iv, CTR_RFC3686_IV_SIZE);
.min_keysize = AES_MIN_KEY_SIZE + CTR_RFC3686_NONCE_SIZE,
.max_keysize = AES_MAX_KEY_SIZE + CTR_RFC3686_NONCE_SIZE,
if (key_len < CTR_RFC3686_NONCE_SIZE)
in_key + key_len - CTR_RFC3686_NONCE_SIZE,
CTR_RFC3686_NONCE_SIZE);
key_len -= CTR_RFC3686_NONCE_SIZE;
u8 nonce[CTR_RFC3686_NONCE_SIZE];
u8 nonce[CTR_RFC3686_NONCE_SIZE];