学习RSA 算法
概述
RSA 算法目前是非对称算法领域里家喻户晓的算法。因此很有必要学习。
密钥的生成。
取p、q两个大的互质的数。 n = p*q 。e与(p-1)*(q-1) 互质。
n 和e 拿来作为公钥。
求得(p-1)*(q-1)最小公倍数为b. 且令 d為同餘方程式 ex≡1(mod b) 中的最小正整數解。
在RSA中将n和e封装成公钥,n和d封装成私钥。
RSA加解密例子可以参考http://web.math.sinica.edu.tw/mathmedia/HTMLarticle.jsp?mID=27108 这篇论文是台湾教授们的心血之作,非常值得阅读与推敲。在这里我就不班门弄斧了。
延伸学习
费马小定理(Fermat's little theorem)是数论中的一个重要定理,在1636年提出,其内容为: 假如p是质数,且gcd(a,p)=1,那么 a(p-1)≡1(mod p),例如:假如a是整数,p是质数,则a,p显然互质(即两者只有一个公约数1),
那么我们可以得到费马小定理的一个特例,即当p为质数时候, a^(p-1)≡1(mod p)。