使用Rsa私钥/函数解密数据



我只是想用RSA对数据进行编码/解码(首先进行解码)。我不在乎数据的类型(字符串、字节或其他lolcat编码的数据),我只是在寻找一个非常简单的函数来完成这项工作(加密操作),我可以完成其余的工作。

以下是我尝试过的:

CryptoPP::InvertibleRSAFunction rsa;
rsa.SetModulus( n_factor );
rsa.SetPrivateExponent(d_private_exponent);
rsa.SetPrime1( rsa_params.at(p1) );
rsa.SetPrime2( rsa_params.at(p2) );
// All above inputs are correct. I don't have public exponent, but it's works in other languages (I comprared all inputs/outputs)
bool key_ok = rsa.Validate(CryptoPP::NullRNG(), 15);
/* Returns false, but doesn't tell me why :/ */
CryptoPP::Integer to_decode( my_data, size_of_my_data );
res = rsa.CalculateInverse(rg,to_decode); 

返回:

EXCEPTION : what():  CryptoMaterial: this object contains invalid values

返回的错误代码对应于"INVALID_DATA_FORMAT",这可能不是关键问题,而是输入问题。

如果有人对这个库有一些经验,或者检测到一个"noob"错误(我从4个小时开始就在代码中思考,所以这是可能的),我们将不胜感激。

比我想象的更容易:

CryptoPP::Integer dec_data = a_exp_b_mod_c( enc_data, d_private_exponent, n_modulus );

所以"d"one_answers"n"已经足够了。我真的不明白为什么它不能与加密功能配合使用。

相关内容

  • 没有找到相关文章

最新更新