python rsa 公钥解密,python实现rsa加密解密

  python rsa 公钥解密,python实现rsa加密解密

  本文主要为大家介绍python密码学RSA算法和密钥创建教程。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。

  

目录

RSA算法步骤1:生成RSA模数步骤2:导出数(E)步骤:公钥步骤43360私钥加密公式解密公式生成RSA密钥算法Cryptomath模块RabinMiller模块生成RSA密钥完整代码

 

  

RSA算法

 

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

  RSA算法有以下特点:

  RSA算法是有限域中包含素数的整数的流行指数运算。/p此方法中使用的整数大到难以求解。在该算法中有两组密钥3360,私钥和公钥。您必须完成以下步骤来使用RSA算法3360

  

步骤1:生成RSA模数

 

  初始过程从选择两个素数P和Q开始,然后计算它们的乘积N,如图所示;

  N=p*q

  这里,设n是指定的大数。

  

步骤2:派生数(e)

 

  把数E看成一个导数,应该大于1,小于(p-1)和(q-1)。主要条件是(p-1)和(q-1)应该没有公因数,除了1

  

步骤3:公钥

 

  指定一对数字N和E组成RSA公钥,并将其公开。

  

步骤4:私钥

 

  私钥D是根据数字P,Q,e计算出来的,数字之间的数学关系如下:3360

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

  以上公式是扩展欧几里德算法的基本公式,以P和Q为输入参数。

  

加密公式

 

  考虑向公钥为(n,e)的人的发送方发送一条明文消息。要以给定的方案加密纯文本消息,请使用以下语法3360

  C=Pemodn

  

解密公式

 

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

  明文=Cdmodn

  

生成RSA密钥

 

  我们将重点介绍用Python一步步实现RSA算法。

  生成RSA密钥3360涉及以下步骤。

  创建两个大素数,分别是P和q,这些数的乘积称为N,其中n=p * q生成一个随机数,有(p-1)和(q-1)个相对素数。调用数字e .计算e的模倒数.计算的倒数称为d .

  

生成RSA密钥的算法

 

  我们需要两个主要算法来使用Python和minus生成RSA密钥;密码数学模块和拉宾米勒模块。

  

Cryptomath模块

 

  Cryptomath源代码遵循RSA算法的所有基本模块如下

  ps;">def gcd(a, b):

     while a != 0:

        a, b = b % a, a

     return b

  def findModInverse(a, m):

     if gcd(a, m) != 1:

        return None

     u1, u2, u3 = 1, 0, a

     v1, v2, v3 = 0, 1, m

     while v3 != 0:

        q = u3 // v3

           v1, v2, v3, u1, u2, u3 = (u1 - q * v1), (u2 - q * v2), (u3 - q * v3), v1, v2, v3

     return u1 % m

  

 

  

RabinMiller模块

 

  源代码遵循RSA算法的所有基本实现的RabinMiller模块如下<

  

import random

 

  

 

  

生成RSA密钥完整代码

 

  

import random, sys, os, rabinMiller, cryptomath

 

  输出

  生成公钥和私钥并将其保存在相应的文件中,如以下输出所示.

  

 

  以上就是python密码学RSA算法及秘钥创建教程的详细内容,更多关于python密码学RSA算法秘钥的资料请关注盛行IT软件开发工作室其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: