Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp409960ybl; Wed, 11 Dec 2019 01:39:36 -0800 (PST) X-Google-Smtp-Source: APXvYqyi3DZgPSa+ZRonoLsk9J/qdX/JHC+76nGD7/cSt2u7wqy9ElkR2FUaXwM4s/jEi4x1m1lO X-Received: by 2002:a05:6830:1116:: with SMTP id w22mr1642207otq.63.1576057176116; Wed, 11 Dec 2019 01:39:36 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576057176; cv=none; d=google.com; s=arc-20160816; b=Zqy+RZJ8beH4Z1Ao94BA1g14RG3XRnZt3+1WPo2pfrX8N3WR9EFPFr/6mQ38d11JFa wq32K9j6ALbZKUMhGkoUDn76eCKRIgqwDxZlCCTSqNcADTRYB4WUS3BFNHfoVgOkxL4P /BCE4tvgp9tzuPbt9lbVRx5VJkubf9bAEyDQgjUK0+NnRKuEk+vKuZ+gUcJ6Z2/eUJTn MgW/BVLYKlL2AIlWxK1Jy4nqLfwjDfQ2huyUoPcJtI0fhcdED5kEsUo1CeSJ18SmebsJ gVTU7HE7NWF3Kh4MocYMR+e0ZuHAHXJXfKoG1+n/0WzNmJiytn5yjBcbV1BC+YJEP+kU 2Eyg== 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=vpAB2VunJi/hr5WJdoV5Gbgby6kk23SzTl+e0ymIH3E=; b=Svgjn7tRXo0HYzXLH6sq82fe+uTVVOWjrKcozpfaK9gT0FC6JREcn/XnDkxy+4sBmG rm57RtpqFmlLnuR+JCVXt/37aGfRPisPTVSjTfaT/MS4vP7J7Y9EnqPlkiSi/ffIPsWa EvMW/U/DkY7b+cSICa58zLcWw4L/XPtmte7S7hT8FEhv4ejtji4GsdyJAUalF+XSwDld nkfhqp0l2p9KPF+PFf3opDeDQqVyWkL7ogxh+MDH7kWnk9FtFSIWUIZf+Y0V2SIOoTzd kV4HZk+QWsW5YAKh8gWvEentzL9HUif/ZanvrQ59LBnmNACKf7B5PpY/SSs5svrP66Bg VP8w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=PGeyFwB2; 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 d6si735644otq.41.2019.12.11.01.39.24; Wed, 11 Dec 2019 01:39:36 -0800 (PST) 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=PGeyFwB2; 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 S1728619AbfLKJi6 (ORCPT + 99 others); Wed, 11 Dec 2019 04:38:58 -0500 Received: from mail-wr1-f66.google.com ([209.85.221.66]:41186 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728527AbfLKJi6 (ORCPT ); Wed, 11 Dec 2019 04:38:58 -0500 Received: by mail-wr1-f66.google.com with SMTP id c9so23250461wrw.8 for ; Wed, 11 Dec 2019 01:38:56 -0800 (PST) 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=vpAB2VunJi/hr5WJdoV5Gbgby6kk23SzTl+e0ymIH3E=; b=PGeyFwB2stSmWA6Y07SK58oUwxsuOdFywJjIQOqKUtnN/Vgv26e5IJt3bLoso0HWAl umL3nzIIcaCU3opZL0eacrNCQVS557vvz6S98jpxkp8k9Z97a4rjzLpuTZ2rnCXaoAuX 1krLvgrF1UFYXT6XpcrwcJXi7bDBwaPvAtsarvKYxc8YLV/tVicv9Wxsp/Rcsl9RYnMn wdCg+wBrSfVU1o9dRhXb0kDBm9VJwATzO9KwGewATTyZDaBsTzVzpQAfIN4cgNjb558c 4Be2mIqIest13/lbhIEbYh2b3ca8dQJeqoiAuViGyuCj/kYIxCASXw8QQijYiLT/C+F9 d4Cg== 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=vpAB2VunJi/hr5WJdoV5Gbgby6kk23SzTl+e0ymIH3E=; b=XlqiTpS5rsiRNss9+D1XgNR3SiiN+0ZOkUKuQX/KVdbDqs3lgiRkDT0z4UyVj8noGW IG3VGS7zTP5JCF/J42MDG3EuxMAbIK8rLeYtlz35b9h2wiK4VI7rQRt0V7mw6TVkGgLF pmBL0BUfKGeEKLarM3BI2dMahJn9pzspY79p3cmY91zqt2edsjAc0NA4/1yqGlF2fNTH +6vFaXVFtfGv00XN8pGHuQ+Hjw2OArzcRU2QUu2V675gbll4UXcOzYl7RBvX257On5pt jZMpDg/xnRFSramb2xTJsBd3HRAP9yvYvJptKBqVoX5MZQUB5gmozGJl9ZBBM5wVLboJ 0hAw== X-Gm-Message-State: APjAAAXpC9IsqdbPcu6k1UQidlD1sRJC2mOi6d+lA+9WvqbPmg2ulk6D Zc8gfV3OY1L56067baK+qJSRS1NCLZ1aiOc0ngHpkQ== X-Received: by 2002:a5d:6652:: with SMTP id f18mr2765986wrw.246.1576057136102; Wed, 11 Dec 2019 01:38:56 -0800 (PST) MIME-Version: 1.0 References: <20191211102455.7b55218e@canb.auug.org.au> <20191211092640.107621-1-Jason@zx2c4.com> In-Reply-To: <20191211092640.107621-1-Jason@zx2c4.com> From: Ard Biesheuvel Date: Wed, 11 Dec 2019 09:38:54 +0000 Message-ID: Subject: Re: [PATCH 1/2] crypto: arm/curve25519 - add arch-specific key generation function To: "Jason A. Donenfeld" Cc: "open list:HARDWARE RANDOM NUMBER GENERATOR CORE" , Herbert Xu , Linux Kernel Mailing List , "" , Stephen Rothwell 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 Wed, 11 Dec 2019 at 10:27, Jason A. Donenfeld wrote: > > Somehow this was forgotten when Zinc was being split into oddly shaped > pieces, resulting in linker errors. Zinc has no historical significance here, so it doesn't make sense to keep referring to it in the commit logs. > The x86_64 glue has a specific key > generation implementation, but the Arm one does not. However, it can > still receive the NEON speedups by calling the ordinary DH function > using the base point. > > Signed-off-by: Jason A. Donenfeld With the first sentence dropped, Acked-by: Ard Biesheuvel > --- > arch/arm/crypto/curve25519-glue.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/arch/arm/crypto/curve25519-glue.c b/arch/arm/crypto/curve25519-glue.c > index f3f42cf3b893..776ae07e0469 100644 > --- a/arch/arm/crypto/curve25519-glue.c > +++ b/arch/arm/crypto/curve25519-glue.c > @@ -38,6 +38,13 @@ void curve25519_arch(u8 out[CURVE25519_KEY_SIZE], > } > EXPORT_SYMBOL(curve25519_arch); > > +void curve25519_base_arch(u8 pub[CURVE25519_KEY_SIZE], > + const u8 secret[CURVE25519_KEY_SIZE]) > +{ > + return curve25519_arch(pub, secret, curve25519_base_point); > +} > +EXPORT_SYMBOL(curve25519_base_arch); > + > static int curve25519_set_secret(struct crypto_kpp *tfm, const void *buf, > unsigned int len) > { > -- > 2.24.0 >