起初遇到rsa密码,是在实验吧里的一道题目,虽然学过密码学,不过rsa的加密解密早已忘记,现在特地又重新回顾了下,并编程实现之。具体的题目地址:传送门
这里的gmpy2库需要我们自己安装,具体方法如下:
在windows上直接安装wheel文件就方便多了,下载地址:传送门
安装完成后是一个wheel文件,python安装这种文件也比较简单,我们首先需要到C:Python27Scripts目录下,在命令上模式下输入
1
|
pip install xxxx.whl
|
xxxx.whl即为下载的wheel文件,安装完我们即可使用gmpy2库
以下附上rsa程序源码(环境python2.7):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#-*-coding:utf-8-*-
import gmpy2
N,p,q,e=920139713,18443,49891,19
d=gmpy2.invert(e,(p–1)*(q–1))
#e-私钥,d-公钥
#e*d mod φ(n) =1
#φ(n)=(p-1)*(q-1)
f=open(‘rsaroll.txt’,‘r’)
#rsaroll.txt里即为密文
ans=”
for line in f.readlines():
ans+=chr(pow(int(line),d,N))
# 明文^e mod n = 密文
# 密文^d mod n = 明文
#pow(x,y,z)=(x^y)%z
print ans
|
今儿NP课又学了一遍了VLSM,也就又算了一遍网络位,主机位的第一个地址和最大地址,心想能不能通过程序来实现,开始动手写!就当是练练手~ 最后写完了python脚本,心想怎么将.py转为.exe,后来经过百度,发现了一款比较实用的软件pyinstaller,关…
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
请登录后发表评论
注册