C# 每个椭圆曲线签名生成不同的签名
我使用椭圆曲线生成签名。问题是它每次使用相同的密钥对生成不同的签名。我也试过蹦蹦跳跳的城堡图书馆。签名可以通过两者进行验证,但我希望每次使用相同的密钥对时都使用相同的签名C# 每个椭圆曲线签名生成不同的签名,c#,cryptography,digital-signature,elliptic-curve,C#,Cryptography,Digital Signature,Elliptic Curve,我使用椭圆曲线生成签名。问题是它每次使用相同的密钥对生成不同的签名。我也试过蹦蹦跳跳的城堡图书馆。签名可以通过两者进行验证,但我希望每次使用相同的密钥对时都使用相同的签名 要每次生成相同的签名,可以做些什么?或者使用椭圆曲线是不可能的?不,标准DSA是不确定的,这对于ECDSA意味着它依赖于加密安全的随机数生成器(,确切地说) 如果常数与不同的输入一起使用,则ECDSA将泄漏私钥。这就是索尼用于签署游戏的私钥所发生的事情(但仅限于第122页!)。当然,ECDSA无法判断是否使用了相同的数据 中指
要每次生成相同的签名,可以做些什么?或者使用椭圆曲线是不可能的?不,标准DSA是不确定的,这对于ECDSA意味着它依赖于加密安全的随机数生成器(,确切地说) 如果常数与不同的输入一起使用,则ECDSA将泄漏私钥。这就是索尼用于签署游戏的私钥所发生的事情(但仅限于第122页!)。当然,ECDSA无法判断是否使用了相同的数据 中指定了一种生成ECDSA签名的确定方法 您可以使用以下C#中的Bouncy Castle代码来完成此操作: 这显然是用于比特币等区块链技术
ECDsaSigner signer = new ECDsaSigner(new HMacDsaKCalculator(new Sha256Digest()));