c# 使用 ecdh prime256v1 生成密钥对

c# generate key pair using ecdh prime256v1

我正在使用 ecdh

制作 private/public 密钥
var ecdh = new ECDiffieHellmanCng(CngKey.Create(CngAlgorithm.ECDiffieHellmanP256, null, new CngKeyCreationParameters { ExportPolicy = CngExportPolicies.AllowPlaintextExport }));
var privateKey = ecdh.Key.Export(CngKeyBlobFormat.EccPrivateBlob);
var publickey = ecdh.Key.Export(CngKeyBlobFormat.EccPublicBlob);

这段代码工作正常,但我想使用算法 prime256v1CngAlgorithm 没有这样的选项。 我该怎么做?

根据文档,CngAlgorithm.ECDiffieHellmanP256 指定 P-256 曲线:

An object that specifies an ECDH algorithm that uses the P-256 curve.

crypto.stackexchange.com 中的 answer 解释了这些名称的不同来源以及 NIST 符号中的 P-256 对应于 "ANSI X9.62 : Public Key Cryptography For The Financial Services Industry" 中的 prime256v1