强网杯部分Crypto题解

周末打了两天强网杯,被大佬虐成狗,web狗做不出来去搞密码.... 爆出三道密码题,题解如下:

题目名称:streamgame1

操作:

分析下载的压缩包,给了一个python脚本和key,key值16进制打开是12个数,脚本里是用flag值和mask等进行一系列加密算法,最终得到12个key文件里的数,而且flag内容为19位的二进制数字,即2^19种可能。所以写脚本爆破,每次按照给出的算法计算出12个值,12个值与key值对应均相等即找到flag,python脚本如下:

def lfsr(R,mask):
    output = (R << 1) &0xffffff
    i=(R&mask)&0xffffff
    lastbit=0
    while i!=0:
        lastbit^=(i&1)
        i=i>>1
    output^=lastbit
    return (output,lastbit)

key=[85,56,247,66,193,13,178,199,237,224,36,58]
mask=0b1010011000100011100

for k in range(2**19):
    R=k;
    a=''
    judge=1
    for i in range(12):
        tmp = 0
        for j in range(8):
            (k, out) = lfsr(k, mask)
            tmp = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值