zoukankan      html  css  js  c++  java
  • ctf Wiener tricky

    这题题目是wiener Tricky,这是维纳滤波??

    没学过,,懵x

    给了publickey,于是想先找出n,e

    然后求出d

    然后,真是为难我的小电脑了,yafu拆解,一开始几分钟,然后,20分钟,然后2个半小时,

    这些我都让他跑完了!!

    然后给我显示20小时。。。

    断了yafu

    老老实实看那个代码

    然后看出来他是可以直接求出d,有d就直接算就好了

    然后需要openssl 解析出n ,e;都非常大

    把n,e带入,可以求出d,特别快!!!

    (提一下,直接在他那个test里写,就是这个)

    就这种感觉:

    得到d。

    然后向上次那样,直接算就好了

    代码:

    import rsa
    from rsa import transform
    def FastMod(c,d,n):
        res = 1
        t = c
        while d:
            if d & 1:
                res = (res * t) % n
            t = (t * t) % n
            d>>=1
        return res
    
    
    e = 355949428044394011416525580640727209012115496460578082591540362115366141425837528189633616844162877584613018030741854275756897461200378167436571547815767157785675778909581575938939615940299471388870845995538439614911452236868092605005352109203362643524505566443025399407973408444593940143560487529347856187923
    n = 949603686045205715277174628136022115711156979860824039383799385101249348289935491073325953355239683776503155414384435860534465117430864566291387794089216559280434116213181181405857171075971236007710276483079389558212315153404594351264107147803340895025164316798193753138427414374746336511224920322316865644907
    d = 28616787893962875870396586430679270222323477959831994257138015460199396633187
    c = open('flag.enc','rb').read()
    c = transform.bytes2int(c)
    m = FastMod(c,d,n)
    m = transform.int2bytes(m)
    print(m)

    比较坑的是!!

    解出来后,看不出来flag!

    在一堆乱码的最后》???!!!《

    本来以为啥都没有,还要解码的。。

  • 相关阅读:
    azure备份虚拟机
    本地git部署web连接azure的git存储库
    dnsmasq服务的安装与配置
    hadoop错误- slave节点无法启动data node数据节点进程,但是master节点datanode正常启动
    hadoop错误--转发-hadoop启动遇到的各种问题
    hadoop错误--集群启动master时namenode进程无法启动
    c++的字节对齐
    fstream 和 iostream
    C语言的声明的优先级规则
    齐次矩阵
  • 原文地址:https://www.cnblogs.com/gudygudy/p/10609552.html
Copyright © 2011-2022 走看看