首页
社区
课程
招聘
[讨论]ctf2017第8题key
发表于: 2017-6-17 12:40 4613

[讨论]ctf2017第8题key

2017-6-17 12:40
4613

本来是个标准的rsa,结果RSA的那个解,不符合要求,仔细一看cm没有限制明文<N,所以不是rsa了,求出一个rsa解,加N周期,穷举符合条件的,附件穷举了865个


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 598
活跃值: (282)
能力值: ( LV13,RANK:330 )
在线值:
发帖
回帖
粉丝
2
大神

卡在此处,上午刚想明白,将得到的解加上模,向前推,穷举符合01-7f条件的
2017-6-17 12:47
0
雪    币: 47147
活跃值: (20460)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
3

厉害~

2017-6-17 18:41
0
雪    币: 7309
活跃值: (3788)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
4

补一下我的穷举脚本吧

居然没有Go语言格式


package main

import (
    "encoding/base64"
    "encoding/hex"
    "fmt"
    big "math/big"
)

func test() {
    c := new(big.Int)
    c.SetString("71639176673360967005214790689576394595", 10)

    e := new(big.Int)
    e.SetString("15691529100101820131", 10)

    d := new(big.Int)
    d.SetString("98395538376216701876091105738065053007", 10)

    N := new(big.Int)
    x := new(big.Int)

    x.SetString("55986991232018409201158808992848352475", 10)
    N.SetString("114433688655117320765854989491151409201", 10)

    x.Add(x, N)

    times := 0

    for {
        str := x.Text(16)

        l := len(str)

        if l > 55 {
            break
        }

        if l%2 == 1 {
            str = "0" + str
        }

        flag := false
        b, _ := hex.DecodeString(str)
        for _, v := range b {
            if v > 0x7f {
                flag = true
                break
            }
        }
        if !flag {
            // 组装一下
            t := "5057555D54535551585A5B5D5D5F5742414340452D2D5053575056555150515C5E595C5F584343424442404E424C404258565A555453565C5953595C5C2D2D"

            // 如果不足54位,用90补齐
            for len(str) < 54 {
                str = "90" + str
            }

            t += str
            bb, _ := hex.DecodeString(t)
            //fmt.Println(ttt)
            str2 := base64.StdEncoding.EncodeToString(bb)

            times++
            fmt.Println("[", times, "]: ", str2)

            if times >= 865 {
                break
            }
        }

        x.Add(x, N)
    }
}

func main() {

    test()
    return
}


2017-6-19 10:24
0
游客
登录 | 注册 方可回帖
返回
//