了解RSA算法


RSA算法是一种公钥加密技术,被认为是最安全的加密方式。它由 Rivest、Shamir 和 Adleman 于 1978 年发明,因此命名为RSA算法。

算法

RSA 算法具有以下特点 -

  • RSA 算法是有限域中对整数(包括素数)进行求幂的一种流行算法。

  • 该方法使用的整数足够大,使得求解变得困难。

  • 该算法中有两组密钥:私钥和公钥。

您必须执行以下步骤才能使用 RSA 算法 -

第 1 步:生成 RSA 模数

初始过程首先选择两个素数,即 p 和 q,然后计算它们的乘积 N,如下所示 -

N=p*q

这里,令N为指定的大数。

步骤 2:派生数 (e)

将数字 e 视为派生数,它应大于 1 且小于 (p-1) 和 (q-1)。主要条件是 (p-1) 和 (q-1) 不应有除 1 之外的公因数

第三步:公钥

指定的数字对ne形成 RSA 公钥并公开。

第四步:私钥

私钥d是根据数字 p、q 和 e 计算得出的。数字之间的数学关系如下 -

ed = 1 mod (p-1) (q-1)

上式是扩展欧几里得算法的基本公式,它以p和q为输入参数。

加密公式

考虑一个发件人将纯文本消息发送给公钥为(n,e) 的某人。要在给定场景中加密纯文本消息,请使用以下语法 -

C = Pe mod n

解密公式

解密过程非常简单,包括系统方法的计算分析。考虑到接收者C拥有私钥d,结果模数将计算为 -

Plaintext = Cd mod n