在RSA的mod算法里,固定式是e*d = 1 mod φ(n),e是就是公钥,求出秘钥d。
在解题之前我们先理解下mod算法,下面简单举例:
17mod26的结果是多少?
个人理解的任何mod算法都可以转换为d=(kφ(n)+1)/e,也就是(k26+1)/17,且结果得出最小的整数,这时对k进行整数取值一个一个试,当k取到15时,则为(15*26+1)/17。
也就是391/17=23,这个23就是逆元的结果。个人觉得这样不会太绕,而且不需要记原理,且考试的时候不会考很大的数字,一两分钟就得出答案了。
有了上述公式的解析,在信息安全考试中,RSA算法就变得极为简单
e*d = 1 mod φ(n)中e和 φ(n)是已知的值,n=p*q, φ(n)=(p-1)(q-1)。对于私钥d的算法使用这个万能公式:d=(kφ(n)+1)/e,对k从1进行取值,第一个能够整除的,且整除的结果就是d的值。