【发布时间】:2020-02-14 06:52:05
【问题描述】:
我正在使用 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 没有这样的选项。
我该怎么做?
【问题讨论】:
-
你不是已经在用了吗?来自CngAlgorithm.ECDiffieHellmanP256的描述:
An object that specifies an ECDH algorithm that uses the P-256 curve. -
检查 crypto.stackexchange.com 中的 this question。它解释了这个名字的含义以及它的来源。
-
所以 P256 = Prime256v1 ?
-
这就是问题和链接来源所说的 - 看起来银行家不想使用与程序员相同的名字,所以他们定义了自己的曲线 ID
-
感谢您的回答! :) 然后我想我必须删除这个问题:)
标签: c# encryption key-pair ecdh prime256v1