工厂方法ECDiffieHellman.Create和ECDsa.Create之间的区别

时间:2020-02-25 18:59:33

标签: c# cryptography ecdsa ecdh

密钥对的生成之间是否存在差异

在名称空间System.Security.Cryptography中?

从技术上讲,创建的EC密钥对可以互换用于以太坊密钥的派生或签名。

{
    var ecDsa = ECDsa.Create(ECCurve.NamedCurves.brainpoolP512r1);
    var ecdh = ECDiffieHellman.Create();
    ecdh.ImportECPrivateKey(ecDsa.ExportECPrivateKey(), out _);

    ecDsa.ExportPkcs8PrivateKey().Should().BeEquivalentTo(ecdh.ExportPkcs8PrivateKey());
}
{
    var ecdh = ECDiffieHellman.Create(ECCurve.NamedCurves.brainpoolP512r1);
    var ecDsa = ECDsa.Create();
    ecDsa.ImportECPrivateKey(ecdh.ExportECPrivateKey(), out _);

    ecdh.ExportPkcs8PrivateKey().Should().BeEquivalentTo(ecDsa.ExportPkcs8PrivateKey());
}

0 个答案:

没有答案
相关问题