这篇文章主要介绍怎么使用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
运行结果:
其实用什么语言实现这个过程都不是很麻烦,只是我们老师要求生成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加密算法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!