RSA 算法是一种公钥加密技术,被认为是最安全的加密方式。它由 Rivest、Shamir 和 Adleman 于 1978 年发明,因此得名 RSA 算法。
Algorithm
-
RSA 算法是在整数上的有限域内的流行幂运算,其中包括质数。
-
此方法使用的整数足够大,因而难以求解。
-
此算法中有两组密钥:私钥和公钥。
Step 1: Generate the RSA modulus
初始步骤从选择两个质数 p 和 q 开始,然后计算它们的乘积 N,如下所示:
Step 2: Derived Number (e)
将数字 e 视为一个派生数字,它应该大于 1 且小于 (p-1) 和 (q-1)。主要条件是 (p-1) 和 (q-1) 不存在 1 之外的公因子
Step 3: Public key
指定的数字对 n 和 e 构成 RSA 公钥,并且公之于众。
Step 4: Private Key
私钥 d 根据数字 p、q 和 e 计算。数字之间的数学关系如下:
以上公式是扩展欧几里得算法的基本公式,它把 p 和 q 作为输入参数。
考虑一个发送者,他给拥有公钥 (n,e). 的某人发送明文消息。要在给定的场景中加密明文消息,请使用以下语法:
解密过程非常简单,包括分析以便按照系统方式进行计算。假设接收器 C 拥有私钥 d ,则结果模数将被计算为: