C# создать пару ключей с помощью 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 ответ

Решение

Согласно документам, CngAlgorithm.ECDiffieHellmanP256 указывает кривую P-256:

Объект, задающий алгоритм ECDH, использующий кривую P-256.

Этот ответ на сайте crypto.stackexchange.com объясняет, что эти имена происходят из разных источников и что P-256 в нотации NIST соответствуетprime256v1 в "ANSI X9.62: Криптография с открытым ключом для индустрии финансовых услуг".

Другие вопросы по тегам