① 互质关系
如果两个正整数,除了1以外,没有其他公因子,我们就称这两个数是互质关系。
不是质数也可以构成互质关系。(8不是质数,9不是质数。但8和9互质。)
②欧拉函数
与 n 构成互质关系且小于 n 的正整数的个数,称为n的欧拉函数,记作φ(n)。
1.非质数:
与8形成互质关系且小于8的数有1、3、5、7。 这1,3,5,7共有4个数,称为8的欧拉函数,记作φ(8)=4。
2.质数:
如果n是质数,则 φ(n)=n-1。(比自己小都互斥)
3.
如果n可以分解成两个互质关系的整数之积,则φ(n)=φ(p1p2)=φ(p1)φ(p2)
例:φ(15)=φ(3×5)=φ(3)×φ(5)=2×4=8
③模反元素
如果两个正整数 a 和 n 互质,一定可以求到整数 b, 使得(ab)mod n=1即(ab)÷n 余1,或ab-1=kn ,则 b是a的"模反元素"。
两个正整数 a 和 n 互质,如果b是a的模反元素,则 b+kn 都是a的模反元素。
密钥生成步骤
1.随机选择两个不相等的质数p和q。
例:p=61 q=53。
2.计算p和q的乘积n,
n=pxq= 61×53 = 3233
3.计算欧拉函数φ(n).
φ(3233) = φ(61)xφ(53)=60x52=3120
4.随机选择一个整数e
e符合范围:(1)1
(2)e和φ(n)互质
e=17
5.计算e对于φ(n)的模反元素d。
因为 e=17,φ(n)=3120
所以方程 17d-3120k=1
取一组 (d,k)=(2753,-15)
现有6样
两个随机不相等质数 p=61,q=53。
p和q的乘积 n=3233
欧拉函数φ(n) φ(3233)=3120
随机整数e e=17
模反元素d d=2753
6.将(乘积n、随机整数e),即(n,e)封装成公钥
将(乘积n、模反元素d),即(n,d)封装成私钥
【加密函数】:c=m^emod n,用接收方的公钥 (n,e)
【解密函数】: m= cd mod n,用接收方私钥(n, d) 进行解密
7.加密函数c=m^e mod n,用到公钥(n,e)
m是要发送方想发送的信息,c是发送方加密的信息
c=65^17mod3233=2790
8.解密函数m= c^d mod n,用到私钥(n, d)
接收方接收到 加密信息c,进行解密
m=2790^2753 mod 3233= 65
例题:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)