以下为《RSA算法ydz》的无排版文字预览,完整内容请下载
一、RSA算法(11.14)
1.?密钥的生成过程
1. 随意选择两个大的素数p和q,p不等于q,计算n = pq.
2. 根据欧拉函数的性质3,求得r=φ(n)=φ(p)φ(q)=(p-1)(q-1).
3. 选择一个小于r的整数e,且e与r互素;并求得e关于r的模反元素,命名为d.(模反元素存在,当且仅当e与r互质; 求d令ed≡1(mod r))
4. 将p和q的记录销毁
其中(n,e)是公钥,(n,d)是私钥.
例如:
1. A随机选两个不相等的质数61和53,并计算两数的积n=61*53=3233,n的长度就是密钥长度。3233的二进制是***0001,一共12位,?
? ?所以这个密钥就是12位. 实际应用中,RSA密钥一般是1024位,重要的场合是2048位.
2. 计算n 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 2790(mod 3233)
所以c等于2790,A就把2790发给B.
3.?RSA的解密过程
B收到A发来的2790后,就用自己的私钥(3233,2755)进行解密
c^d ≡ m (mod n)
也就是c的d次方除以n的余数就是m
2790^2753 ≡ 65 (mod 3233)
因此得到原文65.
4.?RSA的常用解密工具(RSA Tool 2 by tE!)
Eg: 在一次RSA密钥对生成中,假设p=***7161,q=***,e=17
求解出d作为flag提交
/
按要求输入相关系数p、q、e即可出现D的值,但是需要注意该工具中的e是16进制的,因此需要将其十进制转换为16进制,同时将Number base调至为数字10
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]
以上为《RSA算法ydz》的无排版文字预览,完整内容请下载
RSA算法ydz由用户“chenmatin22”分享发布,转载请注明出处