【密码学】扩展欧几里得算法例题

应付考试的写法:

注意:RSA加解密、签名时:计算的是关于φ(n)的逆元不是直接关于n的逆元,d是e的逆元,φ(n)与e互素才可以有逆元

已知n=pxq,计算φ(n),计算d :扩展欧几里得算法
流程:

题目:
d·e=1 mod 96,e=5,求d

递归(不断的做除法,辗转相除)的计算一个三元组。
有两个初始的三元组:

设三元组(x,y,z),x,y,z满足:
因为要算5对96的逆元,一般把大的放在前面
即:96*x+5*y=z
可以看一下初始的三元组是满足这个式子的。

(1,0,96)
(0,1,5)  

我们要一直算,算到z可以通过辗转相除下降到z等于1.
如果z=1,可以知道逆元
d是y位置上的数字,即是5的逆元。5*y≡1mod96

如何递归计算?
1,0,96) -----①
0,1,5)   -----②

过程:
(1) 设一个三元组(x1,y1,z1)
         z1=96%5   =1
即     96-5*商(19)=z1(1)  →知道商是19
按照这种‘规律’计算y1和x1:
        0-1*商19=y1(-19)
        1-0*商19=x1(1)
所以新的三元组是
(1,-19,1)------③
此题比较特殊,z=1了,不用再算。
即d=-19mod96=77

若z!=1
再由 ②、③计算④
如此往复直到z=1停止

肯定会降到1,因为φ(n)与e互素

扫描二维码关注公众号,回复: 8493838 查看本文章

由此求出d

发布了68 篇原创文章 · 获赞 20 · 访问量 6889

猜你喜欢

转载自blog.csdn.net/qq_43633973/article/details/102555099