Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4205025pxj; Tue, 11 May 2021 23:43:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyGJSbzNqZJOsVzTq71y5zuymGmGRWpAn5b8Q6vaHHoUP8gV+qXY+ZZVdDMzHNBUBKV8Pmi X-Received: by 2002:a05:6e02:1ca7:: with SMTP id x7mr31406579ill.10.1620801816883; Tue, 11 May 2021 23:43:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620801816; cv=none; d=google.com; s=arc-20160816; b=f/KTBoCLZGAFA0iew+08Ycl3eS4x+dE/ApthxSEhr4eXZ3WE8D0pEaB+PZ5chzqZUT inokJd+oPKc0/13pH5TLFWvF+rWrdjCYBqzUDKn3KOfo49KryOd7WkplnbNlUZToKuK6 oEqj9XsEu0qh89a0JSMdmh6eUwirMUas7iq3U1IXAI74rGkqJEf2lXB7hF3ellpUcX40 CN5LuMZCYCpkN7K9zPlBKYnjyClTu83n+aILeb3n/HVtWAga3pyNBU0Z2/JMK+SQU/Mr Mgs94kZYLPajrZ8S8KfBKY7Lt3Ebj8ue77bHhuani7NBrfu5RRwXa95psjHv9H14/QbZ QaMg== 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=7MprH/hbNSxKNlnmHidwVj8LI8pRalYyuQBPthq7510=; b=xm07ycCgCdeHEVdUnD0/codEUmUKf7TJwswwbDb75C/esUJ1JY8Ws/SqRFd3jQ2aGf xfJIjiI8Oh/YPwUeOlxex9JpoM5TLPkW+W1c/BHB/WBs1dc+k2sxQtp3pfRpeJ9IeyVc lHOTf1NAU6+k2PEgm3L/u9eb9DGpj2u6OjAjlq/PIOxsWT+8xXoxS/T4aQDOI6ySuqZk 6zvh3Yv3YogGUVobGCSFXUoMmTgUOiMgOfseVOw2ZRVbinr2QyzkyoN4xuy331D3dmNm gCNX3QNx3HAzRbeyXAaUkUvknnSf27FYU3sqoEvTZGY+OFOek4HBm8gl6yWyhyLQnKIY 5xqg== 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 a13si21032258iok.48.2021.05.11.23.43.20; Tue, 11 May 2021 23:43:36 -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 S230109AbhELGoT (ORCPT + 99 others); Wed, 12 May 2021 02:44:19 -0400 Received: from szxga04-in.huawei.com ([45.249.212.190]:3729 "EHLO szxga04-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229803AbhELGoQ (ORCPT ); Wed, 12 May 2021 02:44:16 -0400 Received: from DGGEMS402-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4Fg4sF0fV7zmgKB; Wed, 12 May 2021 14:39:45 +0800 (CST) Received: from localhost.localdomain (10.67.165.24) by DGGEMS402-HUB.china.huawei.com (10.3.19.202) with Microsoft SMTP Server id 14.3.498.0; Wed, 12 May 2021 14:43:00 +0800 From: Hui Tang To: , CC: , , , Subject: [PATCH 2/3] crypto: ecdh - register NIST P384 tfm Date: Wed, 12 May 2021 14:40:01 +0800 Message-ID: <1620801602-49287-3-git-send-email-tanghui20@huawei.com> X-Mailer: git-send-email 2.8.1 In-Reply-To: <1620801602-49287-1-git-send-email-tanghui20@huawei.com> References: <1620801602-49287-1-git-send-email-tanghui20@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.67.165.24] 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 65fb685..cae79da 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) @@ -186,8 +211,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); @@ -199,6 +231,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