现代密码-公钥密码RSA

实验介绍:

一个密钥(公钥)是公开的,另一个密钥(私钥)必须保密,且由公钥求解私钥的计算是不可行的。

RSA

1选取质数p和q(pq不可公开)

2计算n=pq,φ(n)=(p-1)(q-1)
3随机选取整数e作为公钥,要求1<e<φ(n),e和φ(n)互质
如果不互质,就没有逆元,算不出私钥。
4计算私钥d,怎么计算呢,使用欧几里得算法先算出e在φ(n)下的逆元,再求e逆元在modφ(n)下的值。
image

举例:p=43,q=59,n=pq=43x59=2537.
φ(n)=(p-1)(q-1)=42x58=2436
选取e=13,满足1<e<φ(n),e和φ(n)互质,ed=1modφ(n)
d=937

加密

image

解密

image
私信发python代码

二:RSA数字签名

在一般加密的情况下,公钥和私钥密码对用的是接受方的。
在RSA数字签名的情况下,加密用的是私钥,作为身份的证明。解密使用的是公钥。

三:RSA安全

共模攻击

前提:n相同,公钥不同,公钥1和公钥2互质。
使用不同公钥加密了同一条内容。
密文分别为image
image

低指数攻击

加密的密钥e不能小。

p-1和 q-1都应有大的素数因子

防范措施

(1)密钥长度
2048bit
(2)参数选择
p和q的长度相差不能太大
p和q的差值不应太小
gcd(p-1,q-1)应尽可能小

posted on   纤秾  阅读(97)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 本地部署 DeepSeek:小白也能轻松搞定!
· 传国玉玺易主,ai.com竟然跳转到国产AI
· 自己如何在本地电脑从零搭建DeepSeek!手把手教学,快来看看! (建议收藏)
· 我们是如何解决abp身上的几个痛点
· 如何基于DeepSeek开展AI项目
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

点击右上角即可分享
微信分享提示