Python密码学

RSA算法

了解RSA算法详细操作教程
RSA算法是一种公共密钥加密技术,被认为是最安全的加密方式。它是由Ri​​vest,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
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4