首页 > 其他分享 >2023冬 密码学趣题——3

2023冬 密码学趣题——3

时间:2023-01-30 19:57:03浏览次数:47  
标签:bin rjust noise int 趣题 位数 2023 密码学 find

NSSCTF Round7 Crypto2

一道DFS深搜解决的Crypto问题,近期遇到了好多类似问题,例如2022祥云杯的leak_rsa,pwnhub冬季赛的ASR等

使用DFS相比较暴力枚举可以获得较大程度的时间优化,关键需要找到递归深搜的约束条件,在RSA问题中,常用p q的二进制形式,结合p q满足的代数关系进行未知位数的求解

本题中,noise数据约为496bit,p q在p异或noise数据后满足p q对应位异或为1,即一个为0一个为1

故约束条件为:当noise对应位数为1时,p q对应位数相同,当noise对应位数为0时,p q对应位数不同,同时需要爆破p q初始6bit(512-496 bit)

下面贴一下hash_hash师傅的脚本

exp:

from Crypto.Util.number import *

n = 41318049256306878752610363510443063846398425395380140041750273228898867125431643076792748095350841316908817123295460735023972380672601911521967903168498956815844239645588653318914375679652097733616310197002562672499303685182470376181481346970080428677364527350092396859145037116902812954358374669364384913427
c = 27070540330107450045627683100045912856410895481625142319800852839841731626448328869640781957044283023330602619830680434366284193902342701915890107858579608199114076122922529542716089973350291443861189285892509527723571602143348593521006635099775353434183582637659593238282521070746330471702109551135619697958
noise = 185034449414461457706935642079602544758706503071368652992126720879903163440501141185140715685662707819122833016885046533942763603927989442741721805186

sign = bin(noise)[2:].rjust(512,'0')[::-1]

def find(p,q):
    l=len(p)
    if len(p)==512:
        if n%int(p,2)==0:
            p = int(p,2)
            q = int(q,2)
            phi=(p-1)*(q-1)
            d=inverse(0x10001,phi)
            m=pow(c,d,n)
            print(long_to_bytes(m))
    else:
        pp = int(p,2)
        qq = int(q,2)
        if pp*qq%2**l == n%2**l:
            if sign[l] == '1':
                find('0'+p, '0'+q)
                find('1'+p, '1'+q)
            else:
                find('0'+p, '1'+q)
                find('1'+p, '0'+q)

p = '1'
q = '1'
for i in range(2**6):
    for j in range(2**6):
        p = bin(i)[2:].rjust(6,'0')+'1'
        q = bin(j)[2:].rjust(6,'0')+'1'
        find(p,q)
#b'NSSCTF{cca92586-7e73-4474-bd29-fc1b1e64f70e}'

标签:bin,rjust,noise,int,趣题,位数,2023,密码学,find
From: https://www.cnblogs.com/App1eTree/p/17077107.html

相关文章

  • C/C++学生成绩信息管理[2023-01-30]
    C/C++学生成绩信息管理[2023-01-30]2.学生成绩信息管理【问题描述】利用哈希表完成学生成绩信息的管理。每个学生记录包含学生学号(Number)、真实姓名(Name)、网名(Scre......
  • TypeDB Forces 2023 (Div. 1 + Div. 2)
    题目链接A核心思路直接把其中一个数置为1就好了。//Problem:A.ExponentialEquation//Contest:Codeforces-TypeDBForces2023(Div.1+Div.2,Rated,Priz......
  • 2023/1/30 考试总结
    7.30~7.50啥也不会,摆大烂。8.00~8.30T3应该是经典容斥,但是转移顺序怪怪的。似乎走到每个点的组合唯一,然后组成新的坐标系就能做了。8.30~9.50细节比较多,调了半天。1......
  • 2023.1.13 每日三题
    1.项目经理正在为一个高度复杂的电信项目制定人力资源管理计划。由于快速变化的技术环境,项目经理不确定应该分配的资源类型。若要完成项目资源管理计划,项目经理首先应该......
  • 2023.1.30 每日三题
    1.由于项目范围发生变化,签约了一家新的供应商。该供应商曾有不按时交付的记录,这令项目经理十分担心。项目经理应该怎么做?A.立即终止与该供应商的合同。B.要求采购人员......
  • 2023考研资料整合推荐
     随着2023届考研的结束,我相信24届的小伙伴们也陆续开始了自己的考研规划和起步阶段。起步阶段除了信息的搜集和一年备考计划的制定,相关科目备考资料的搜集也已经开始展......
  • 2023考研资料整合推荐
     随着2023届考研的结束,我相信24届的小伙伴们也陆续开始了自己的考研规划和起步阶段。起步阶段除了信息的搜集和一年备考计划的制定,相关科目备考资料的搜集也已经开始展......
  • 2023,不一样的数据库
    新年开工,祝大家开工大吉,事业都兔飞猛进!2022年是魔幻年,2.24号,在外面爬雪山团建,谈着刚刚打响的俄乌战争。4月招聘一位上海员工,但因为疫情管控只能远程报到,杭州亚运会也被迫推......
  • 2023新年第一篇
    开工第一天,决定开启我2023年的第一篇技术博客。想不好写啥,不如就信手沾来,遇到啥问题,就记录一下,就当作是一个新的开端吧。刚好需要远程桌面,发现下拉地址框里一大堆输入过又......
  • C/C++自助攒机系统[2023-01-30]
    C/C++自助攒机系统[2023-01-30]自助攒机系统管理员可以录入如下几种硬件的价格、型号信息:CPU:主频、品牌、价格、图片硬盘:容量、品牌、价格显示器:尺寸、品牌、价格......