Re: [PATCH v4 2/3] drivers: crypto: Add the Virtual Function driver for CPT

From: Stephan Müller
Date: Wed Jan 11 2017 - 07:39:48 EST


Am Mittwoch, 11. Januar 2017, 16:58:17 CET schrieb George Cherian:

Hi George,

> I will add a seperate function for xts setkey and make changes as following.
> > ...
> >
> >> +
> >> +struct crypto_alg algs[] = { {
> >> + .cra_flags = CRYPTO_ALG_TYPE_ABLKCIPHER | CRYPTO_ALG_ASYNC,
> >> + .cra_blocksize = AES_BLOCK_SIZE,
> >> + .cra_ctxsize = sizeof(struct cvm_enc_ctx),
> >> + .cra_alignmask = 7,
> >> + .cra_priority = 4001,
> >> + .cra_name = "xts(aes)",
> >> + .cra_driver_name = "cavium-xts-aes",
> >> + .cra_type = &crypto_ablkcipher_type,
> >> + .cra_u = {
> >> + .ablkcipher = {
> >> + .ivsize = AES_BLOCK_SIZE,
> >> + .min_keysize = AES_MIN_KEY_SIZE,
> >> + .max_keysize = AES_MAX_KEY_SIZE,
> >> + .setkey = cvm_enc_dec_setkey,
> >
> > May I ask how the setkey for XTS is intended to work? The XTS keys are
> > double in size than "normal" keys.
>
> .ablkcipher = {
> .ivsize = AES_BLOCK_SIZE,
> .min_keysize = 2 * AES_MIN_KEY_SIZE,
> .max_keysize = 2 * AES_MAX_KEY_SIZE,
> .setkey = cvm_xts_setkey,
>
> Hope this is fine?
>
Sure, please do not forget to invoke xts_verify_key.

Ciao
Stephan