密码学引论 | RSA

算法原理

1 密钥生成

(1)寻找质数p,q

(2)计算公共模数 n = p ∗ q n=p*q n=pq

(3)计算欧拉函数 φ ( n ) = ( p − 1 ) ( q − 1 ) φ(n)=(p-1)(q-1) φ(n)=(p1)(q1)

(4)计算公钥e, 1 < e < φ ( n ) 1<e<φ(n) 1<e<φ(n),e必须与 φ ( n ) φ(n) φ(n)互质

(5)计算私钥d, e ∗ d ≡ 1 m o d φ ( n ) e*d ≡ 1\quad mod\quad φ(n) ed1modφ(n)

2 RSA加密

C = M e m o d n C=M^{e} \quad mod\quad n C=Memodn

3 RSA解密

M = C d m o d n M=C^{d} \quad mod\quad n M=Cdmodn

例题1

设RSA密码中e=5,n=35,C=15,求明文M。

解:由穷举法得,p=5,q=7,即得到n=35,因此 φ ( 35 ) = ( 5 − 1 ) ∗ ( 7 − 1 ) = 24 φ(35)=(5-1)*(7-1)=24 φ(35)=5171=24
e ∗ d ≡ 1 m o d φ ( n ) e*d ≡ 1\quad mod\quad φ(n) ed1modφ(n) 5 ∗ d ≡ 1 m o d 24 5*d ≡ 1\quad mod\quad 24 5d1mod24,因此 d=5 。
 ,将x从0开始测试,第一个整数

M = C d m o d n M=C^{d} \quad mod\quad n M=Cdmodn M = 1 5 d m o d 35 M=15^{d} \quad mod\quad 35 M=15dmod35 ,因此M=15。
计算原理 ( a ∗ b ) m o d m = [ ( a m o d m ) ( b m o d m ) ] m o d m (a*b)\quad mod \quad m=[(a \quad mod\quad m)(b \quad mod \quad m)] \quad mod \quad m (ab)modm=[(amodm)(bmodm)]modm
在这里插入图片描述

例题2

已知 p=7, q=11, e=13, C= 15, 求 d 和 M .

在这里插入图片描述计算过程

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值