密码学初探_非对称加密_RSA 算法

  做为基础的非对称加密,RSA算法的核心思路是利用一个正向计算简单而逆向穷举几乎不可能的数学公式计算数字化后的信息,由两个惟一参数做为公钥和私玥对数据进行加密和解密。算法

  这两个密钥保证了解密者不用担忧密文被恶意篡改(密文被更改后解密会失败),而因为反向推算极为困难且不须要私钥参与加密,加密者也能够保证数据的安全。安全

  RSA算法的数学公式加密时为: M 的 E 次方对 N 取模 = 余数 C 。其中M为明文,C为密文,(E,N)为公钥加密

  解密时为: C 的 D 次方对 N 取模 = 余数 M 。其中M为明文,C为密文,(D,N)为私钥。数学

  显然已知C,N,E求M极为困难。基础

(取模运算在两数都为正数时与取余运算相同)数据

  为了保证两密钥惟一,选择两质数p,q,设其乘积为N,解密

  E能够在一个限制内随意设置,而D则由E简单推得。一样为保证E,D惟一:选择 q-1 , p-1 的乘积为 L ,1<E<L且最大公约数为1,同时,E 与 D 的乘积与 L 取模结果为1。数字

(此处设置 L =( p - 1) × (q - 1) ,是为了在 N = p × q 时,确保 E <  q ×(p - 1) &&   p ×(q - 1),以免出现没法取 D 的状况)参数

  至此,求得的 (E,D,N)即为一组RSA密钥对

相关文章
相关标签/搜索