我发现了关于第一个问题的一些信息:
上面提到的C#中的等效曲线名称是什么?
Microsoft库仅支持P-256,P-384和P-521“ NIST推荐的椭圆曲线ID”,即等效的命名曲线,分别是“ SEC
2推荐的椭圆曲线域参数”的secp256r1,secp384r1,secp521r1,等于prime256v1,但不等于ANSI X9.62
ECDSA基本曲线ID中的384和521。C#的Bouncy城堡库支持我感兴趣的更多其他曲线,例如secp224k1。
对于第二个问题
有人可以给我一个例子,说明如何在C#中生成上面的Java代码这样的keyPair吗?
我在这里找到了一个旧示例,
它说支持的密钥只有3:192位,239位和256位,但我认为是指该库的某些旧版本
该代码可以演示它
ECKeyPairGenerator gen = new ECKeyPairGenerator("ECDSA"); SecureRandom secureRandom = new SecureRandom(); Org.BouncyCastle.Asn1.X9.X9ECParameters ecp = Org.BouncyCastle.Asn1.Sec.SecNamedCurves.GetByName("secp224k1"); ECDomainParameters ecSpec = new ECDomainParameters(ecp.Curve, ecp.G, ecp.N, ecp.H, ecp.GetSeed()); ECKeyGenerationParameters ecgp = new ECKeyGenerationParameters(ecSpec, secureRandom); gen.Init(ecgp); AsymmetricCipherKeyPair eckp = gen.GenerateKeyPair();如果有人想把它做得更好,我认为这个线程对所有人来说都是非常宝贵的。我只是C#的初学者,而这段代码不是我的。:)



