Description

Category: Crypto

Source: HackCON CTF 2019

Points: 100

Author: Jisoon Park(js00n.park)

Description:

hackerman is so dank that he decided to play around with OTPs. he did the following: message1 ^ key = cipher1 message2 ^ key = cipher2

He gives you cipher1 and cipher2 and challenges you to find the concatenation of messages 1 and 2. Are you dank enough to find this? Oh and also, 'meme' is so popular that hackerman used the word in both his messages. cipher1 is '05F17121418010c0b4' cipher2 is '>1f00140807Q0e' Both without quotes

Write-up

cipher1과 cipher2가 각각 10자이니 flag는 20자이다.

flag 형식이 "d4rk{flag_text}c0de"라서 앞뒤로 5자씩 10자는 이미 알려져 있고,
plaintext 양쪽에 meme 가 들어간다고 하니 meme 가 두 번 들어가서 20자 중에 총 18자를 알 수 있다.

그냥 나머지 두 글자를 brute force로 알아내도 될 것 같지만, 알려진 부분으로 xor하는 것이 더 빠를 것 같다.

cipher1과 cipher2를 xor 하면, message1 ^ message2의 결과를 알아낼 수 있다. 여기에 "dark{}c0de"를 xor 하면 message1의 뒤 5자와 message2의 앞 5자를 알아낼 수 있다. (meme가 들어있는 것을 확인할 수 있다.)

flag format과 얻어낸 메세지를 5글자씩 조합하면 flag를 알아낼 수 있다. (코드)

Flag : **d4rk{meme__meme}c0de**

'writeups > Crypto' 카테고리의 다른 글

Simple Logic  (0) 2019.11.26
real-baby-rsa  (0) 2019.11.26
Ez Pz  (0) 2019.11.26
Noki  (0) 2019.11.26
R u SAd  (0) 2019.11.26

+ Recent posts