RSA加密算法计算题

1、假设p=5,q=7,e=5,m=2.计算d,公钥,私钥。

方法一:

n=p*q=5*7=35

Φ(n)=(p-1)*(q-1)=4*6=24

由公式:e d mod Φ(n)=== 1   

带入数字得:5 d mod 24 ===1

把上诉公式看成:5x+24y = 1

拆分:

24 = 5*4+4

5 = 4*1+1

4 = 24 - 5*4*1

1 = 5 - (24-5*4)*1 = 5-24+5*4 = 5*4+5-24=5(4+1)-24 = 5*5-24

5*5-24=1 与 5x+24y = 1 格式相等。则 x=d=5

公钥(n,e)=(35,5)    私钥(n,d)=(35,5) 


方法二:

公式:Φ(n) * k  + 1 =ed      k:为系数,且从1开始,例如:(1,2,3,4,5........)

公式推出:(Φ(n) * k  + 1 )/ e = d

假设k=1时:

24*k+1/ 5 = d  

d = 5

若 k=1 时除不尽的话那就将 k =2 带入计算,还是不行则取 k =3,依次类推。直到(Φ(n) * k  + 1 )/ e = d 能除尽没有余数为止


2、用RSA算法加密时,已经公钥是(e=7,n=20),私钥是(e=3,n=20),用公钥对消息M=3加密,得到的密文是_____?

n=20
d=7 公钥
e=3 私钥
对M=3 进行加密
M'=M^d%n (M的d次方,然后除以n取余数)
M'=3^7%20=2187%20=7 加密后等于7
对M'=7进行解密
M=M'^e%n=7^3%20=343%20=3 解密后又变成3了




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章