RSA数学原理

计算出公钥和私钥

  • 随便找两个质数p和q
1
假设:p=3,q=11
  • 求出n
1
n = p * q = 33
  • 求欧拉函数
1
y = (p-1)*(q-1)=20
  • 公钥e的约束(例如:e可以取7,满足条件1和2)
    1. 1<e<y
    2. e与y互为质数
  • 私钥d的约束(例如:d可以取3,满足条件1)
    1. (e*d)%y = 1

加密的方法

已知:e,n,m(明文),计算密文c
m的e次幂%n=c

解密的方法

已知:d,n,c(密文),计算m
c的d次幂%n=m

为什么RSA是安全的

e,n,c==>d==>y==>p,q==>则需要对n质因数分解