基本介绍
RSA
加密算法是一种非对称加密算法。这就意味着通过这个算法,你即将获得一对密钥,分别是公钥和私钥。你可以将公钥公布出去,别人利用你的公钥加密后的内容,只能使用你的私钥来解开,即可保证你和别人通信的安全性,这就是这个加密算法的意义所在。
算法步骤
参考来自:25行代码实现完整的RSA算法
( 1 ) 选 择 p 、 q 两 个 超 级 大 的 质 数 , 都 是 1024 位 。 (1)选择 p、q两个超级大的质数 ,都是1024位。 (1)选择p、q两个超级大的质数,都是1024位。
( 2 ) 令 n = p ∗ q 。 取 φ ( n ) = ( p − 1 ) ∗ ( q − 1 ) 。 计 算 与 n 互 质 的 整 数 的 个 数 。 (2)令n = p * q。取 φ(n) =(p-1) * (q-1)。 计算与n互质的整数的个数。 (2)令n=p∗q。取φ(n)=(p−1)∗(q−1)。计算与n互质的整数的个数。
( 3 ) 取 e ∈ { 1 < e < φ ( n ) } , ( n , e ) 作 为 公 钥 对 (3)取 e ∈ \{1 < e < φ(n)\} ,( n , e )作为公钥对 (3)取e∈{
1<e<φ(n)},(n,e)作为公钥对
正 式 环 境 中 取 65537 , 依 据 来 源 于 H T T P 证 书 。 正式环境中取65537,依据来源于HTTP证书。 正式环境中取65537,依据来源于HTTP证书。
( 4 ) 令 e d m o d φ ( n ) = 1 , 计 算 d , ( n , d ) 作 为 私 钥 对 。 (4)令 ed \quad mod \quad φ(n) = 1,计算d,( n , d ) 作为私钥对。 (4)令e