题目:(NSSCTF | 在线CTF平台)
题目就是如此,我没看到有5个不同的文本,其中最后一个文本以pem后缀,所以我们先来了解一下什么是pem格式。
PEM 格式
PEM格式通常用于数字证书认证机构(Certificate Authorities,CA),扩展名为.pem, .crt, .cer, and .key。内容为Base64编码的ASCII码文件,有类似"-----BEGIN CERTIFICATE-----" 和 "-----END CERTIFICATE-----"的头尾标记。服务器认证证书,中级认证证书和私钥都可以储存为PEM格式(认证证书其实就是公钥)。Apache和类似的服务器使用PEM格式证书。
解密脚本
from Cryptodome.PublicKey import RSA
from Cryptodome.Util.number import *
from gmpy2 import *
from base64 import b64decode
# 打开文件
key_file = open('C:/Users/liyunfei/Desktop/public.pem')
key = (key_file.read())
key_file.close()
# 获取n,e
r = RSA.