关于模数n、公钥指数e、私钥指数d的相关概念推荐阮老师的这两篇文章。
简单说一下,模数n就是随机选取的两个质数p,q的乘积,并且n的长度就是秘钥的长度。根据欧拉函数,得到
φ(n) = (p-1)(q-1)
公钥钥指数e随机选取,与φ(n)互质,通常为65537。然后根据
ed ≡ 1 (mod φ(n)) //等价于ed - 1 = kφ(n)
计算e对于φ(n)的反模元素d,即得到私钥指数d。
(n,e)就作为公钥,对数据进行加密,(n,d)就作为私钥,对数据进行解密