gpt4 book ai didi

c# - 如何在 c# 中解密只有模数和私有(private)指数 (D) 参数的数据?

转载 作者:太空宇宙 更新时间:2023-11-03 11:13:32 25 4
gpt4 key购买 nike

我需要解密使用 RSA 加密的消息,但我只有模数和私有(private)指数作为 Base64 字符串。

我的方法是创建一个 RSAParameter 对象并使用 RSACryptoProvider.ImportParameters 方法导入它:

RSAParameters decryptParameters = new RSAParameters();

// D is the private exponent parameter
decryptParameters.D = Convert.FromBase64String(d);

// n is the Modulus
decryptParameters.Modulus = Convert.FromBase64String(n);

RSACryptoServiceProvider decrypter = new RSACryptoServiceProvider();
try
{
decrypter.ImportParameters(decryptParameters);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

问题是我总是收到“错误数据”CryptographycException。

我做错了什么?

我必须初始化 RSAParameters 结构中的其他值吗?哪个?理论上,用于解密消息的私钥应该是 (n, d) 作为模数参数,但实现似乎需要更多信息。

最佳答案

理论上你应该只需要模数和私有(private)指数来解密。然而 API 明智,因为他们使用 optimization based on chinese remainder theorem ,您也需要原始素数,并且对于这些素数,您还需要预先计算 dP、dQ 和 Qinv。

关于c# - 如何在 c# 中解密只有模数和私有(private)指数 (D) 参数的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13335098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com