编程浪子的博客

碌碌无为终为过

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
python 写的RSA加密流程,做题时参考。
代号是标准的代号。
from Crypto.Util.number import *
import gmpy2
import libnum

# import uuid
# print(uuid.uuid4())

#产生两个大素数
p = libnum.generate_prime(1024)
q = libnum.generate_prime(1024)
#定义模数n
n= p*q
e = 65537 #公钥
#欧拉函数
phi = (p-1)*(q-1)
#模逆元
d = gmpy2.invert(e,phi) #私钥
# print(d)
# d=libnum.invmod(e,phi)  #另一种计算模逆元的方法
# print(d)

msg = 'bf810ec3-e83d-448d-bd8a-65ee495e87a8'
#加密 计算密文
m = libnum.s2n(msg) #m表示明文
#加密 c表示密文
c = pow(m,e,n)
print(c)
# 解密
m= pow(c,d,n)
print(type(m))
print(libnum.n2s(int(m)).decode())

print('----------------------------------------')
posted on 2024-11-09 15:11  编程浪子_  阅读(7)  评论(0编辑  收藏  举报