[OSCTF 2024] Crypto/PWN

闲来无聊打个比赛HICON结果居然一题不会,然后找个软的捏,OSCTF,居然也没AK

Crypto

Cipher Conundrum_encrypted

NDc0YjM0NGMzNzdiNTg2NzVmNDU1NjY2NTE1ZjM0NTQ2ODM5NzY0YTZiNmI2YjZiNmI3ZA==

先用厨子梭一梭,得到 GK4L7{Xg_EVfQ_4Th9vJkkkkk}

然后ROT爆破,发现头部两个数字以外基本正确,这两个数字似乎就是CF的序号

Amount =  8: OS4T7{Fo_MDnY_4Bp9dRsssss}

把大写跟数字连一起移位,剩下的小写再移下,得到 

key = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
b = ''.join([key[(8+key.index(i))%len(key)] if i in key else i for i in a])
b
key = 'abcdefghijklmnopqrstuvwxyz0123456789'
c = ''.join([key[(8+key.index(i))%len(key)] if i in key[:26] else i for i in b])
c

OSCTF{5o_M3nY_C1pH3Rsssss}

 The Secret Message

小幂小明文,直接开根号

n:  95529209895456302225704906479347847909957423713146975001566374739455122191404873517846348720717334832208112563199994182911677708320666162110219260456995238587348694937990770918797369279309985690765014929994818701603418084246649965352663500490541743609682236183632053755116058982739236349050530235419666436143
e:  3
ciphertext:  123455882152544968263105106204728561055927061837559618140477097078038573915018542652304779417958037315601542697001430243903815208295768006065618427997903855304186888710867473025125

long_to_bytes(iroot(c,3)[0])
#OSCTF{Cub3_R00Ting_RSA!!}

QR

通过是否2次剩余判断是0是1

from Crypto.Util.number import *
from random import *

flag = b'REDACTED'

p = 96517490730367252566551196176049957092195411726055764912412605750547823858339
a = 1337

flag = bin(bytes_to_long(flag))[2:]
encrypt = []

for bit in flag:
    encrypt.append(pow(a, (randint(2, p) * randrange(2, p, 2)) + int(bit), p))
    
print(encrypt)
sage: for i in c:
....:     if jacobi((i),p) == 1:
....:         m +='0'
....:     else:
....:         m +='1'
....:
sage: m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值