crypto中RSA几个不解问题

ckfan ckfan 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
下面是用crypto库来生成RSA密钥组的,有几个不解的地方。
1.为什么要有随机数呢?
2.为什么没产生模呢?(RSA不是有N,D,E)
3.为什么公钥E,很长呢?一般都是很短的。
谢谢,

void GenerateKey(const unsigned int KeyLength, const char *Seed, string &strPriv, string &strPub)
{
RandomPool RandPool;
RandPool.IncorporateEntropy((byte *)Seed, strlen(Seed));

//generate private key
RSAES_OAEP_SHA_Decryptor Priv(RandPool, KeyLength);
HexEncoder PrivateEncoder(new StringSink(strPriv));
Priv.DEREncode(PrivateEncoder);
PrivateEncoder.MessageEnd();

//generate public key using private key
RSAES_OAEP_SHA_Encryptor Pub(Priv);
HexEncoder PublicEncoder(new StringSink(strPub));
Pub.DEREncode(PublicEncoder);
PublicEncoder.MessageEnd();
}
...全文
评论
收藏 已收藏
分享
返回顶部
ckfan
资源 2,586 成员 18,437 内容