RSA算法
了解RSA算法详细操作教程
RSA算法是一种公共密钥加密技术,被认为是最安全的加密方式。它是由Rivest,Shamir和Adleman于1978年发明的,因此命名为
RSA 算法。
算法
RSA算法具有以下功能-
RSA算法是在包含质数的整数上的有限域中的常用幂运算。
此方法使用的整数足够大,难以求解。
此算法有两组密钥:私钥和公钥。
您必须执行以下步骤才能使用RSA算法-
步骤1:生成RSA模量
初始过程首先选择两个质数,即p和q,然后计算其乘积N,如图-
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-28
N=p*q
在这里,让N为指定的大数。
步骤2:推导数(e)
将数字e视为派生数,该数字应大于1且小于(p-1)和(q-1)。主要条件是除了1
之外,不应该存在(p-1)和(q-1)的公因数。
第3步:公钥
指定的数字对
n 和
e 构成RSA公钥,并将其公开。
第4步:私钥
私钥
d 由数字p,q和e计算得出。数字之间的数学关系如下-
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-28
ed = 1 mod (p-1) (q-1)
上面的公式是扩展欧几里德算法的基本公式,它以p和q作为输入参数。
加密公式
考虑发送方将纯文本消息发送给公共密钥为
(n,e)的人。要在给定方案中加密纯文本消息,请使用以下语法-
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-28
C = Pe mod n
解密公式
解密过程非常简单,并且包含用于系统计算的分析方法。考虑到接收方
C 具有私钥
d ,则结果模量将计算为-
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-28
Plaintext = Cd mod n