c#使用ecdh prime256v1生成密钥对

时间:2019-10-17 11:03:33

标签: c# encryption key-pair ecdh prime256v1

我正在使用ecdh进行私钥/公钥

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);

此代码工作正常,但我想使用算法prime256v1,而CngAlgorithm没有这样的选择。 我该怎么办?

1 个答案:

答案 0 :(得分:1)

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

  

指定使用P-256曲线的ECDH算法的对象。

crypto.stackexchange.com中的此answer解释了这些名称的来源不同,并且NIST表示法中的P-256对应于“ ANSI X9.62:公开密钥密码术”中的prime256v1。金融服务业”。