dp泄露攻击

news/2025/3/11 14:40:00/文章来源:https://www.cnblogs.com/SevensNight/p/18765015

题目:

from Crypto.Util.number import *flag = b'NSSCTF{******}' + b'1'*100p = getPrime(512)
q = getPrime(512)n = p*q
e = 65537
d = inverse(e, (p-1)*(q-1))dp = d % (p-1)m = bytes_to_long(flag)c = pow(m, e, n)print(f'n = {n}')
print(f'c = {c}')
print(f'dp = {dp}')'''
n = 79201858340517902370077926747686673001645933420450220163567700296597652438275339093680329918615445030212417351430952656177171126427547284822789947152085534939195866096891005587613262293569611913019639653984932469691636338705418303482885987114085769045348074530172292982433373154900841135911548332400167290083
c = 70109332985937768446301118795636999352761371683181615470371772202170324747707233792154935611826981798791499937601162039878070094663516868746240133223110650205575807753345252087103328657073552992431511929172241702073381723302143955977662087561904058172777520360991685289300855900793806183473523998422682944404
dp = 3098334089252415941833934532457314870210700261428241562420857845879512952043729097866485406309479489101668423603305497982177150304625615059119312238777275
'''

解题思路:

对于dp我们有dpe ≡ 1 (mod p−1)

解答:

from Crypto.Util.number import *
from gmpy2 import *n = 79201858340517902370077926747686673001645933420450220163567700296597652438275339093680329918615445030212417351430952656177171126427547284822789947152085534939195866096891005587613262293569611913019639653984932469691636338705418303482885987114085769045348074530172292982433373154900841135911548332400167290083
c = 70109332985937768446301118795636999352761371683181615470371772202170324747707233792154935611826981798791499937601162039878070094663516868746240133223110650205575807753345252087103328657073552992431511929172241702073381723302143955977662087561904058172777520360991685289300855900793806183473523998422682944404
dp = 3098334089252415941833934532457314870210700261428241562420857845879512952043729097866485406309479489101668423603305497982177150304625615059119312238777275
e = 65537for k in range(1, e):if (e * dp - 1) % k == 0:p = (e * dp - 1) // k + 1if n % p == 0:q = n // pd = invert(e, (p - 1) * (q - 1))m = powmod(c, d, n)breakprint(long_to_bytes(m))
#NSSCTF{just_dp_leak}1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/897267.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dpdq泄露攻击-没e_

题目: from Crypto.Util.number import * from gmpy2 import * from secret import flagp = getPrime(1024) q = getPrime(1024) d = inverse(65537,(p-1)*(q-1)) dp = d%(p-1) dq = d%(q-1) print(fc={pow(bytes_to_long(flag),e,p*q)}) print(fp={p}) print(fq={q}) print(fd…

Linux安装Ollama服务

背景 Ollama官方提供了一键式安装脚本,但因国内网络问题,效率太低,所以探索更为快捷方式。 我的系统信息如下 root@yan:/mnt/d/data# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.5 LTS Release: 22.04 Code…

C学习笔记-311

多维数组和指针 为什么需要数组为了解决大量同类型数据的存储和使用问题。 用数组可以模拟现实世界。Int a[25]:一维数组,可以当做一个线性结构。 Int a[8][6]:可以当做一个平面,意思是8行6列。有48个元素。 Int a[3][4][5]:可以当做一个三维立体。 Int a[3][4][5][6]:可…

e与(p-1)或(q-1)均不互素

题目: from Crypto.Util.number import bytes_to_long from secret import flage = 0x14 p = 7330895897249035860738209657929637460767893905398244379628076799548083100726568174238286139385106848645676643457511649442694896479642275193079806880680590593771233914993…

e与(q-1)互素,但用上题方法求不出

题目: c = 2485360255306619684345131431867350432205477625621366642887752720125176463993839766742234027524 n = 0x2CAA9C09DC1061E507E5B7F39DDE3455FCFE127A2C69B621C83FD9D3D3EAA3AAC42147CD7188C53 e = 3解题思路:分解n得到分析得到e只与(r-1)互素,但用上题方法无法解出…

张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫

目录什么是 Selenium环境搭建与配置安装 Selenium下载浏览器驱动基础操作启动浏览器并访问网页定位网页元素通过 ID 定位通过 CSS 选择器定位通过 XPath 定位与元素交互提取数据交互操作设置等待时间切换页面执行 JavaScript 代码关闭浏览器进阶技巧使用 ActionChains 模拟用户…

DCDC电源模块

车载直流电源DCDC电源模块是一种电力电子设备,它能够在电动汽车或混动汽车的电气系统中,实现直流电源电压之间的升降转换,从而确保低压电电气系统在车辆运行过程中获得稳定且适当的电源供应。 车载直流电源DCDC电源模块是一种电力电子设备,它能够在电动汽车或混动汽车…

SpringSecurity5(1-快速入门)

Spring Security提供了简单而强大的安全机制,支持身份验证和授权。基本使用包括在Spring Boot应用中引入Spring Security依赖,配置HTTP安全规则,定义用户角色和权限。通过使用内存用户存储或集成数据库,可以实现基于表单登录、HTTP基本认证等多种认证方式,确保应用程序的安…

ASE9N20-ASEMI工业自动化专用ASE9N20

ASE9N20-ASEMI工业自动化专用ASE9N20编辑:ll 一、性能卓越,能效先锋 9N20 MOS 管最为人称道的便是它超低的导通电阻。在电路中,犹如为电流开辟了一条 “高速公路”,让电能得以高效传输,极大减少了因电阻产生的热损耗。这意味着无论是为便携设备供电的 DC - DC 转换器,还是…