首页 > 其他分享 >RSA已知n、e、密文c,求明文。

RSA已知n、e、密文c,求明文。

时间:2024-07-24 20:19:47浏览次数:11  
标签:phi RSA 明文 密文 print import txt

题目文件
from Crypto.Util.number import *

flag = b''
m = bytes_to_long(flag)
p = getPrime(128)
q = getPrime(128)
phi = (p - 1) * (q - 1)
n = p * q
e = 65537
c = pow(m, e, n)

print(f"n: {n}")
print(f"e: {e}")
print(f"c: {c}")

'''
n: 82262302255673546896068943571445089014908011317331238957390324506176165692353
e: 65537
c: 74363314827014337197228165426657527588061111803487873351317699624723182579082
'''

操作内容:
该题目属于已知n、e、密文c,求明文。

n值可以通过分解质因数得到p、q值。

使用yafu分解工具
将n值存入txt文档内

注意:

(1)n为十进制

(2)txt文件结尾必须有一个换行符,如下图:

 

 

 

(3)该命令会删除这个txt,请注意保存。

使用分解命令 yafu-x64 "factor(@)" -batchfile 1.txt
得到p、q值如下

 

 

解题代码

from Crypto.Util.number import *

from gmpy2 import *

p = 295550294274400439200910843028567835583

q = 278336052608690728674410932689178712191

n = 82262302255673546896068943571445089014908011317331238957390324506176165692353

e = 65537

c = 74363314827014337197228165426657527588061111803487873351317699624723182579082

phi = (p-1) * (q-1)

d = inverse(e, phi)

m = pow(c, d, n)

print(long_to_bytes(m))

标签:phi,RSA,明文,密文,print,import,txt
From: https://www.cnblogs.com/Cyruswong/p/18321628

相关文章

  • 密码学-RSA基础题解题脚本-Python
    importgmpy2#计算大整数模块importlibnumimportrsafromCrypto.PublicKeyimportRSA#安装时安装pycryptodome模块#已知:p,q,e,cdefknown_p_q_e_c():p=int(input('请输入一个素数p:'))q=int(input('请输入另一个素数q:'))e=int(input('请输入公钥e:'))......
  • Python实现RSA加密算法,让你的信息更加安全
    一、什么是编码    想要实现加密就必须要先了解什么是编码。    编码是信息从另一种形式或格式转换为另一种形式或格式的过程,解码则是编码的逆过程。字符编码(CharacterEncoding)是把字符集中的字符编码为指定集合中的某个对象,以便信息在计算机中传输。在密码......
  • 使用 AES-GCM 分块加密文件
    我想编写一个生成器,以给定大小的块来加密文件并一一返回块。我还想验证有效负载,因此我为此选择了AES-GCM。为什么我要分块加密而不是一次性加密整个文件?我通过网络发送这些块,因此我不是加密整个(可能很大)文件,将其存储在其他地方,然后在进行网络传输时再次对其进行分块,而是加密......
  • SpringBoot如何解决yml明文密码问题
    日常使用过程中,使用明文密码完全没问题,但是到了企业项目中,往往需要进行安全扫描,被安全扫描组扫到后,就必须修改。有两种思路解决安全扫描问题。方式一、密码不放在代码里密码不放在工程代码中,放到配置中心上,比如SpringCloudConfig,比如Nacos,或者apollo上。一般来说安全扫描都......
  • 攻击方法(Adversarial method)
    简介本文基于文章AReviewofAdversarialAttackandDefenseforClassificationMethods的总结,提供对抗领域的几种常见的攻击方法;一、基于梯度的攻击(Gradient-BasedAttack)非常经典的一种攻击方式,传统论文采用的攻击方法如FGSM,PGD,BIM,C&W等都是基于梯度的攻击方法这些......
  • Pixelmator Pro 3.6.5 Archipelago (macOS Universal) - 专业图像编辑工具
    PixelmatorPro3.6.5Archipelago(macOSUniversal)-专业图像编辑工具Photoshop的卓越替代软件请访问原文链接:https://sysin.org/blog/pixelmator-pro-3/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgPixelmatorPro真正基于AppleMac技术构建,不像某些异类......
  • DASCTF 2024暑期挑战赛------1z_RSA
    题目:fromCrypto.Util.numberimport*fromsympyimport*importosfromsecretsimportflagnbit=130e=3l=getPrime(505)m=bytes_to_long(flag+os.urandom(64))assertlen(flag)==29whileTrue:p,q=getPrime(nbit),getPrime(nbit)PQ=......
  • 自动化中MD5和RSA加密解读!
     接口自动化中一般都会遇到密码加密的情况,有时候我们会找开发解决。其实测试工程师也是可以自己解决的,下面就给大家介绍一下请求中加密的方式和应用。 MD5加密特性与加密处理对称加密算法:加密和解密使用同一个密钥-----单密钥加密DES、AES不对称加密算法:加密和解密......
  • RSA加解密笔记
        前文介绍了SM国产的对称加密算法介绍,这里记录一下RSA非对称加密情况,不太情况贸然上手还是有一些坑,密钥位数分为512,1024,2048,4096之类,公钥,私钥成对出现,一般文本之类,如请求参数而言,公钥加密,私钥解密,如果是证书,情况会稍微不同,这里不展开记录,比如:双方对接数据的时候......
  • aippt对接API的详细说明文档
    要获取API--KEY  对接到自己系统或者测试体验可以在官网自己获取:文多多AiPPT|一键搞定PPT (右上角开放平台)以下是详细接口说明大家可以自行查看,学习开放接口线上接口地址:https://chatmee.cnSDKjsdemohttps://github.com/veasion/aipptvuedemohttps://github.......