怎么使用Python实现的rsa加密算法

  介绍

这篇文章主要介绍怎么使用Python实现的rsa加密算法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

本文实例讲述了Python实现的rsa加密算法。分享给大家供大家参考,具体如下:

<强>算法过程

1。随意选择两个大的质数p和q, p不等于q,计算N=pq。
2。根据欧拉函数,不大于N且与N互质的整数個数為(p - 1) (q1)。
3。选择一个整数e与(p - 1) (q1)互质,并且e小于(p - 1) (q1)。
4。用以下这个公式计算d: d×e≡1 (mod (p - 1) (q1)。
5。将p和q的记录销毁。

(N, e)是公钥,(N, d)是私钥。

<强> python代码

#, - *安康;编码:utf-8  - * -   # !/usr/bin/env  python   def  range_prime(开始,结束):=,l 列表()   ,for 小姐:拷贝范围(开始,结束的+ 1):   flag 才能=,真的   for 才能;j 拷贝范围(2,1):   ,,if 小姐:%,j ==, 0:   ,,,flag =False   ,才能打破   if 才能;国旗:   ,,l.append(我)   return  l   def  generate_keys (p, q):   ,# numbers =,(11日,13日,17日,19日,23日,29日,31日,37岁,41岁,43岁,47)=,numbers  range_prime (10, 100)=,,N  p  *, q   ,C =, (p - 1), *, (q1)   e =, 0   ,for  n 拷贝数字:   if 才能n  & lt;, C 以及C  %, n 祝辞,0:   ,,e =n   ,才能休息   ,if  e==0:   raise 才能;StandardError (“e  not  found"), # Python3中改为BaseException   d =, 0   ,for  n 拷贝范围(2,C):   如果才能(e  *, n), %, C ==, 1:   ,,d =n   ,才能休息   ,if  d==0:   raise 才能;StandardError (“d  not  found")   ,return  ((N, e), (N,, d))   def 加密(m,键):   ,C, x =,关键   ,return  (m  * *, x), %, C   decrypt =加密   if  __name__ ==, & # 39; __main__ # 39;:   ,酒吧,pri =, generate_keys(47岁,79)=,L 范围(20岁,30)   ,C =,地图(lambda  x:,加密(x),酒吧),L)=,D 地图(lambda  x:,解密(x,, pri), C)   ,print “测试结果:“   ,print “钥匙:“,,酒吧,革命制度党   ,print “信息:“,L   ,print “加密:“,C   ,print “解密:“,,D

运行结果:

怎么使用Python实现的rsa加密算法

其实用什么语言实现这个过程都不是很麻烦,只是我们老师要求生成1024年的随机数,用c语言写就有点恶心了,所以用Python或者java实现要更加方便一点。

<>强PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:

<强>文字在线加密解密工具(包含AES, DES, RC4等):http://tools.jb51.net/password/txt_encode

<强> MD5在线加密工具:http://tools.jb51.net/password/CreateMD5Password

<强>在线散列/哈希算法加密工具:http://tools.jb51.net/password/hash_encrypt

<强>在线MD5散列/sha - 1/SHA-2 sha - 256/sha - 512/SHA-3/ripemd - 160加密工具:http://tools.jb51.net/password/hash_md5_sha

<强>在线sha1/sha224 sha256/sha384 sha512加密工具:http://tools.jb51.net/password/sha_encode

以上是“怎么使用Python实现的rsa加密算法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

怎么使用Python实现的rsa加密算法