gpt4 book ai didi

c++ - C# 中的 RSA C++ 等价物

转载 作者:行者123 更新时间:2023-11-30 04:25:59 26 4
gpt4 key购买 nike

几天来,我一直在尝试在 C++ 中获得与此 C# 代码等效的代码,但没有成功。

这是我的 C# 代码:

RSAParameters rsaParams = new RSAParameters();
rsaParams.Modulus = someByteArray;
rsaParams.Exponent = someByteArray1;
rsaParams.D = someByteArray2;
rsaParams.DP = someByteArray3;
rsaParams.DQ = someByteArray4;
rsaParams.P = someByteArray5;
rsaParams.Q = someByteArray6;
rsaParams.InverseQ = someByteArray7;

using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
rsa.ImportParameters(rsaParams);
byte[] encryptedData = rsa.Encrypt(toEncrypt, false);
}

我只想得到完全相同的结果,但在 C++(跨平台)中。我看过很多库/类,但它们似乎并不合理。首先,Crypto++ 很棒,但我想要的只是 RSA,所以在我看来,拥有他们所有的散列/加密/任何其他算法都是一种浪费。我找到了 this类,我认为它很好,因为它只是 RSA,而且非常小。问题是,参数要么没有与 C# 参数命名,要么不支持它。我觉得我不应该为了实现它而学习RSA中每个参数的含义,因为我只想在这里完成一个简单的任务。谢谢。

最佳答案

RSAParameters 结构的属性基于 Chinese Remainder Algorithm .你看过OpenSSL了吗?密码库?

The RSA structure consists of several BIGNUM components. It can contain public as well as private RSA keys:

struct
{
BIGNUM *n; // public modulus
BIGNUM *e; // public exponent
BIGNUM *d; // private exponent
BIGNUM *p; // secret prime factor
BIGNUM *q; // secret prime factor
BIGNUM *dmp1; // d mod (p-1)
BIGNUM *dmq1; // d mod (q-1)
BIGNUM *iqmp; // q^-1 mod p
// ...
};
RSA

关于c++ - C# 中的 RSA C++ 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11786968/

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