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了