📜  了解RSA算法

📅  最后修改于: 2020-11-08 08:37:51             🧑  作者: Mango


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)。主要条件是,除了1之外,不应该存在(p-1)和(q-1)的公因子。

步骤3:公开金钥

指定的数字对ne构成RSA公钥,并将其公开。

步骤4:私钥

私钥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