-
NCSC CTF 2019 [Crypto]crypto1 write upCTF write_up/NCSC CTF 2019. 2. 8. 23:17
파일에서 주어진 값은 다음과 같습니다.
1
2
3
n = 93587363287156334812299342740228308093795365883388785316655388313363539378259286962127927636210532538900920198550544117072392764271544799515433876778458261254334996572307192587527399669983018757929928245773886731002488376926853218802124573883439481717837639393599516660701804298344896143670444749710014423277
e = 65537
c = 67083459704286681676098448825849577847414325760004160049861816099014269643122295270222174890231909719047958794872612451518578654361686158296668098092952315389811387415848446114065690222102850053484168984940645227007522005971538601337318219947760134136368820497572841289403685595806097877620669396518849477527
해당 암호문을 복호화 해달라고 하는데 이문제를 해결 하기 위해서 알아야 하는 공식은
선택 암호문 공격이라는 기법입니다.
암호문의 곱을 복호화하면 평문의 곱이 나온다는 것입니다.
2를 암호화 해서 c값과 곱하고 그것을 복호화 한 후에 2로 나누면 평문이 나올 것입니다.
다음과 같은 파이썬 코드를 이용해서 flag값을 받아오겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from pwn import *
p = remote('149.202.55.236', 1337)
n1 = 93587363287156334812299342740228308093795365883388785316655388313363539378259286962127927636210532538900920198550544117072392764271544799515433876778458261254334996572307192587527399669983018757929928245773886731002488376926853218802124573883439481717837639393599516660701804298344896143670444749710014423277
n2 = 65537
n3 = 67083459704286681676098448825849577847414325760004160049861816099014269643122295270222174890231909719047958794872612451518578654361686158296668098092952315389811387415848446114065690222102850053484168984940645227007522005971538601337318219947760134136368820497572841289403685595806097877620669396518849477527
result = n3 * pow(2, n2, n1)
p.sendlineafter(':', str(result))
p.recvuntil('!\n')
print hex(int(p.recvline(), 16) / 2)[2:].decode("hex")
Flag : securinets{m4K1nG_a_g00d_cH01s3_iS_uS3fuL_s0m3t1m3S}
'CTF write_up > NCSC CTF' 카테고리의 다른 글
NCSC CTF 2019 [Reversing]2factorauth write up (0) 2019.02.09 NCSC CTF 2019 [Reversing]Warmup write up (0) 2019.02.08 NCSC CTF 2019 [Crypto]Hmm.. write up (0) 2019.02.08 NCSC CTF 2019 [Misc]Baby Hacker write up (0) 2019.02.08 NCSC CTF 2019 [Misc]LOST FLAG write up (0) 2019.02.08