Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp5245395ybe; Tue, 10 Sep 2019 00:16:36 -0700 (PDT) X-Google-Smtp-Source: APXvYqxZCQUw+eT8QUZZLllBrZwT31MTSmpjqapPxmOZSBjl1iwf5K+CvoQqXYJ+BvwAU9OTs6aF X-Received: by 2002:aa7:c80e:: with SMTP id a14mr10843360edt.205.1568099796602; Tue, 10 Sep 2019 00:16:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568099796; cv=none; d=google.com; s=arc-20160816; b=mPoupIkuJxB1yc/jJMEgG8BjhmFWti2bky8lytKs0GjZ2U5aRw9lwCvVhNDh5Sm0kq ggRk9QC6KHZGpZiDfeuRKpiD/025eiBfHSg6xsyl/Xh6ScdiemoD7N4BqolmNe9CleQi zIqnpNNin8FwBhwD+8iclJqjSIGKpMd2JggFkNkFHRjTjsX3KMEcWXJUUkzKaF4oP2cx T+zjAIFQ2gnrxiXaKZ7wWO/F+4XSUZTI93aHUy76fN72I58eZdV70jiG7vO45QoCL+kf HZQE3UpmbeIrmK8/FaFWR823tveec8huT2YtoULdVj49dVdIobhpD2VEhazwpA/itEqz aeXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=/aCWrDpHlFODosnbRwR6VukVgkzBdkMkGeczHUk1nlA=; b=c9Enln+pG+GMXMepYPS6mLsZ33j4xJiu4RsSMBqsvp0JfrPrn/B8wGhqP4DY4AQ+MZ LP5AStVg299ImpwRhfgH3bfx1UYridr/W+uNqwyJKbJMLro3X5nc1VFo0pQ7chL44MP8 u1EUjqqQOlq6w5QOJN1qG4+7sNiwkJW8vugqV/f3tWC89HrLwsmK1HWv/MBwyMw9XObg b5+f7b2NPCfhPvm6IDCk7ADN4ESwUHq80GMekf7CM/iHDVf7LIJHrp3wkcybTzg08Nof gku3Ci06PMFbWMBGYu5EPqb9/viwNc3GYHMwXxuE7RdgfHyfK/aa++9px59DtzOLrbJw QQWw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="f9db/rN1"; spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a16si4786154edx.150.2019.09.10.00.16.12; Tue, 10 Sep 2019 00:16:36 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="f9db/rN1"; spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726986AbfIIMUZ (ORCPT + 99 others); Mon, 9 Sep 2019 08:20:25 -0400 Received: from mail-wm1-f66.google.com ([209.85.128.66]:54850 "EHLO mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731266AbfIIMUZ (ORCPT ); Mon, 9 Sep 2019 08:20:25 -0400 Received: by mail-wm1-f66.google.com with SMTP id p7so2013059wmp.4 for ; Mon, 09 Sep 2019 05:20:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=/aCWrDpHlFODosnbRwR6VukVgkzBdkMkGeczHUk1nlA=; b=f9db/rN1sgteqNvaH46/Oph+z1zM7Jndklz1GGm5xrZfMoiTXbygcFttY4oJp1ocgV Hx4xGBCVtp/RoChbTOgx9/VCj7id3W0hh6CRR7z7sAV+SgNu2JlCGb+Jh+5annPz7TND 9/b8CgKxOoGvcxcaoLe+OOr/BnbAKZQIT4QVOcMYQyL+dTHSlrQNRI0YfjhTmHWvawO9 VM79V+nMCBr8Qg15HZuMZcy4aX0S5K8AZ76vf7/ShLKLDtBTvvbjYDwQ7O9Y8hjCHqTT CFVhT/kuDhX/PXw9j1JZEQP143jqnlzbt4Eje/R98c0nv2kL3hCdXOgedRZbosdBSOb2 0sLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=/aCWrDpHlFODosnbRwR6VukVgkzBdkMkGeczHUk1nlA=; b=CsjeQLcP+UPpfLZlmhnjUS0ZjkXBKJabUwIoZn5YzboT9F5jmKhF3wagsP9jzAbZkP XUBSp+NLs2eXRYDKzR5/mDNdVggyXeX4cDG2vjn9giaLVa2JE0WwDqgSgEw90+XW7+zc Cxxigq/WyOEhvnsUfjwmr1udnZz6auwog0m/dWhfxnCEQhbJiRwai421+6lG/GZ57i// pyeGOvAoZeJIRRr2LTrkboGmmvuj4KsrBRwYhlvRl2Jyd6RG1wN7t64NBNJKQSxZIK/F FE/e5nfbHC1GA8Ic623myBlSQNMOFIr584bhStf0ZsALpJG6/UtPTupQp5sI4fqYUSY9 rd5g== X-Gm-Message-State: APjAAAVeHu8SI/L8BS6XclhUIYRJFykREp7pqRh7p7y7oe6dwR1oEB4W IT+qr5ajNdJzqlgQsGuSliYyvdkeKSdJBD3pOig0KjOSD64JrQ== X-Received: by 2002:a1c:3cc3:: with SMTP id j186mr18013166wma.119.1568031622732; Mon, 09 Sep 2019 05:20:22 -0700 (PDT) MIME-Version: 1.0 References: <1567929866-7089-1-git-send-email-uri.shir@arm.com> In-Reply-To: <1567929866-7089-1-git-send-email-uri.shir@arm.com> From: Ard Biesheuvel Date: Mon, 9 Sep 2019 13:20:05 +0100 Message-ID: Subject: Re: [PATCH] crypto: ccree - enable CTS support in AES-XTS To: Uri Shir Cc: Herbert Xu , "David S. Miller" , Gilad , "open list:HARDWARE RANDOM NUMBER GENERATOR CORE" Content-Type: text/plain; charset="UTF-8" Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On Sun, 8 Sep 2019 at 09:04, Uri Shir wrote: > > In XTS encryption/decryption the plaintext byte size > can be >= AES_BLOCK_SIZE. This patch enable the AES-XTS ciphertext > stealing implementation in ccree driver. > > Signed-off-by: Uri Shir > --- > drivers/crypto/ccree/cc_cipher.c | 16 ++++++---------- > 1 file changed, 6 insertions(+), 10 deletions(-) > > diff --git a/drivers/crypto/ccree/cc_cipher.c b/drivers/crypto/ccree/cc_cipher.c > index 5b58226..a95d3bd 100644 > --- a/drivers/crypto/ccree/cc_cipher.c > +++ b/drivers/crypto/ccree/cc_cipher.c > @@ -116,10 +116,6 @@ static int validate_data_size(struct cc_cipher_ctx *ctx_p, > case S_DIN_to_AES: > switch (ctx_p->cipher_mode) { > case DRV_CIPHER_XTS: > - if (size >= AES_BLOCK_SIZE && > - IS_ALIGNED(size, AES_BLOCK_SIZE)) > - return 0; > - break; You should still check for size < block size. > case DRV_CIPHER_CBC_CTS: > if (size >= AES_BLOCK_SIZE) > return 0; > @@ -945,7 +941,7 @@ static const struct cc_alg_template skcipher_algs[] = { > { > .name = "xts(paes)", > .driver_name = "xts-paes-ccree", > - .blocksize = AES_BLOCK_SIZE, > + .blocksize = 1, No need for these blocksize changes - just keep them as they are. > .template_skcipher = { > .setkey = cc_cipher_sethkey, > .encrypt = cc_cipher_encrypt, > @@ -963,7 +959,7 @@ static const struct cc_alg_template skcipher_algs[] = { > { > .name = "xts512(paes)", > .driver_name = "xts-paes-du512-ccree", > - .blocksize = AES_BLOCK_SIZE, > + .blocksize = 1, > .template_skcipher = { > .setkey = cc_cipher_sethkey, > .encrypt = cc_cipher_encrypt, > @@ -982,7 +978,7 @@ static const struct cc_alg_template skcipher_algs[] = { > { > .name = "xts4096(paes)", > .driver_name = "xts-paes-du4096-ccree", > - .blocksize = AES_BLOCK_SIZE, > + .blocksize = 1, > .template_skcipher = { > .setkey = cc_cipher_sethkey, > .encrypt = cc_cipher_encrypt, > @@ -1203,7 +1199,7 @@ static const struct cc_alg_template skcipher_algs[] = { > { > .name = "xts(aes)", > .driver_name = "xts-aes-ccree", > - .blocksize = AES_BLOCK_SIZE, > + .blocksize = 1, > .template_skcipher = { > .setkey = cc_cipher_setkey, > .encrypt = cc_cipher_encrypt, > @@ -1220,7 +1216,7 @@ static const struct cc_alg_template skcipher_algs[] = { > { > .name = "xts512(aes)", > .driver_name = "xts-aes-du512-ccree", > - .blocksize = AES_BLOCK_SIZE, > + .blocksize = 1, > .template_skcipher = { > .setkey = cc_cipher_setkey, > .encrypt = cc_cipher_encrypt, > @@ -1238,7 +1234,7 @@ static const struct cc_alg_template skcipher_algs[] = { > { > .name = "xts4096(aes)", > .driver_name = "xts-aes-du4096-ccree", > - .blocksize = AES_BLOCK_SIZE, > + .blocksize = 1, > .template_skcipher = { > .setkey = cc_cipher_setkey, > .encrypt = cc_cipher_encrypt, > -- > 2.7.4 >