Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1596169pxj; Fri, 21 May 2021 19:25:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwUjhr8vT6sIidis0FwFv08Ps8DG1lyNGQsN1tY4NZuEdOJtrs+E45XLK197CAyRCQx2qSo X-Received: by 2002:a5d:9516:: with SMTP id d22mr2352442iom.119.1621650305112; Fri, 21 May 2021 19:25:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621650305; cv=none; d=google.com; s=arc-20160816; b=dnAdUYXDme/9GWZFQLrremuSG3bLGgQUXuLcsYa9SnL34SZH16qbDI5VPnRWZ+Xak4 dg+it/BGTGodYCPW0LVEReQMbJICUOISMJ/vFePcQuVRU/sk/tkXXjuVMGfjRqFePBWp rJ60PVhPIgtj3U09Rr+1NaJ8IF2CyYQpMvEMzg2/PJWGsYWsvr+/XnTceC9tkiOqH/8Y DOuLGfW91xzeTCyUKhylS/8bNTNlQf2A7HjQ5Xa3kZkUAgc9UeS8EvEc5p2ezfJ62Vuq naDlRkyqxBDi9clDFfyhvQIhqTfIJ8sEK5oUXLj+f41hqlzR5uQWsAL1PtV9rP0ZAxhW L/5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from; bh=efIvmFE1oEEqPes+VKH5e9uT6aYZTEp1Dv7LVcYbdGM=; b=LzH0Oi7kSPFV8eGDD1LaPBPMJvjvXS41T6Ju/i6BwcES+BNG/+PjRGllA/yPSwZpLy hw5VgOaFgc+jRor9JcmWrlQIhGc4uOqY9J0zQiX3CcmNducWM5tt/okay730B7KK/YHO wbNQ3PfN9q7yS5S7PSCxRv6cEzwCQce4HJklf6dmXm+LusQZ5YVhuklO4Otly+OcqKLO pLbz0fRNTNr8jWyPfYf9PMZX3SwAthnQkrK9DeKRmcNXmrkkzBdLVCUodG71Xjc9jJmO Qio0e1sYw2hrSAf1+NVFtDSuc3hiIKAkCmTiJk+r6U7T9N4tyeeiWWXpN8LnpBXXlBZV w04g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i17si7350971jar.93.2021.05.21.19.24.43; Fri, 21 May 2021 19:25:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231164AbhEVCZ6 (ORCPT + 99 others); Fri, 21 May 2021 22:25:58 -0400 Received: from szxga06-in.huawei.com ([45.249.212.32]:3649 "EHLO szxga06-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231127AbhEVCZy (ORCPT ); Fri, 21 May 2021 22:25:54 -0400 Received: from dggems703-chm.china.huawei.com (unknown [172.30.72.59]) by szxga06-in.huawei.com (SkyGuard) with ESMTP id 4Fn6gP6gyHzmXf8; Sat, 22 May 2021 10:22:09 +0800 (CST) Received: from dggemi760-chm.china.huawei.com (10.1.198.146) by dggems703-chm.china.huawei.com (10.3.19.180) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2176.2; Sat, 22 May 2021 10:24:27 +0800 Received: from localhost.localdomain (10.67.165.24) by dggemi760-chm.china.huawei.com (10.1.198.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2176.2; Sat, 22 May 2021 10:24:27 +0800 From: Hui Tang To: , CC: , , , Subject: [PATCH v2 3/4] crypto: ecdh - register NIST P384 tfm Date: Sat, 22 May 2021 10:21:23 +0800 Message-ID: <1621650084-25505-4-git-send-email-tanghui20@huawei.com> X-Mailer: git-send-email 2.8.1 In-Reply-To: <1621650084-25505-1-git-send-email-tanghui20@huawei.com> References: <1621650084-25505-1-git-send-email-tanghui20@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.67.165.24] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To dggemi760-chm.china.huawei.com (10.1.198.146) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org Add ecdh_nist_p384_init_tfm and register and unregister P384 tfm. Signed-off-by: Hui Tang --- crypto/ecdh.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/crypto/ecdh.c b/crypto/ecdh.c index e2c4808..70f312e 100644 --- a/crypto/ecdh.c +++ b/crypto/ecdh.c @@ -173,6 +173,31 @@ static struct kpp_alg ecdh_nist_p256 = { }, }; +static int ecdh_nist_p384_init_tfm(struct crypto_kpp *tfm) +{ + struct ecdh_ctx *ctx = ecdh_get_ctx(tfm); + + ctx->curve_id = ECC_CURVE_NIST_P384; + ctx->ndigits = ECC_CURVE_NIST_P384_DIGITS; + + return 0; +} + +static struct kpp_alg ecdh_nist_p384 = { + .set_secret = ecdh_set_secret, + .generate_public_key = ecdh_compute_value, + .compute_shared_secret = ecdh_compute_value, + .max_size = ecdh_max_size, + .init = ecdh_nist_p384_init_tfm, + .base = { + .cra_name = "ecdh-nist-p384", + .cra_driver_name = "ecdh-nist-p384-generic", + .cra_priority = 100, + .cra_module = THIS_MODULE, + .cra_ctxsize = sizeof(struct ecdh_ctx), + }, +}; + static bool ecdh_nist_p192_registered; static int ecdh_init(void) @@ -187,8 +212,15 @@ static int ecdh_init(void) if (ret) goto nist_p256_error; + ret = crypto_register_kpp(&ecdh_nist_p384); + if (ret) + goto nist_p384_error; + return 0; +nist_p384_error: + crypto_unregister_kpp(&ecdh_nist_p256); + nist_p256_error: if (ecdh_nist_p192_registered) crypto_unregister_kpp(&ecdh_nist_p192); @@ -200,6 +232,7 @@ static void ecdh_exit(void) if (ecdh_nist_p192_registered) crypto_unregister_kpp(&ecdh_nist_p192); crypto_unregister_kpp(&ecdh_nist_p256); + crypto_unregister_kpp(&ecdh_nist_p384); } subsys_initcall(ecdh_init); -- 2.8.1