CTFlearn 의 예순 다섯번째 문제
이번엔 Medium 난이도의 암호학 문제이다.
간만에 조금 생각해볼만한 문제가 나왔다.
ALEXCTF 라는 대회에서 나왔던 기출문제를 그대로 가져왔나 보다.
문제 설명을 읽어보면
Fady 라는 사람이 one time pad 를 구현했는데
one time pad 에 대해서 정확하게 이해하지 못한 상태에서 만들었다고 한다.
플래그는 ALEXCTF{ 로 시작한다는 힌트도 같이 주어져 있다.
0529242a631234122d2b36697f13272c207f2021283a6b0c7908
2f28202a302029142c653f3c7f2a2636273e3f2d653e25217908
322921780c3a235b3c2c3f207f372e21733a3a2b37263b313012
2f6c363b2b312b1e64651b6537222e37377f2020242b6b2c2d5d
283f652c2b31661426292b653a292c372a2f20212a316b283c09
29232178373c270f682c216532263b2d3632353c2c3c2a293504
613c37373531285b3c2a72273a67212a277f373a243c20203d5d
243a202a633d205b3c2d3765342236653a2c7423202f3f652a18
2239373d6f740a1e3c651f207f2c212a247f3d2e65262430791c
263e203d63232f0f20653f207f332065262c3168313722367918
2f2f372133202f142665212637222220733e383f2426386b
문제에서 주어지는 암호문은 위와 같다.
암호와 관련된 문제이니 플래그가 바로 Key 값이라고 생각했다.
플래그에 맨 앞이 ALEXCTF{ 라고 했으므로
CyberChef(https://gchq.github.io/CyberChef/) 에서 첫번째 줄을
ALEXCTF{ 로 XOR 해보았다.
그랬더니 Dear Fri 라는 단어가 보였다.
주어진 암호문을 각각 ALEXCTF{ 로 XOR 하면 위와 같은 단어들이 나온다.
뭔가 어떤 문장에서 중간중간 잘려나온 느낌이다.
Dear Fri 로 시작하는 영어 문장이 무엇이 있을까 고민해보니
Dear Friend 밖에 없을거라고 생각했다.
이번엔 맨 첫줄을 Dear Friend 로 XOR 했다.
그럼 ALEXCTF{HER 까지 플래그의 뒷 부분을 알아낼 수 있게 된다.
암호문 = 평문 XOR 키
암호문 XOR 키 = 평문
암호문 XOR 평문 = 키
그 원리는 위와 같다.
XOR 은 교환법칙이 성립하기 때문이다.
이런식으로 계속 시도해서 플래그를 조금씩 알아낼 수 있다.
다음은 세번째줄에 있는 암호문을 이용했다.
해당 암호문을 ALEXCTF{HER 로 XOR 하면
sed One tim 이라는 문장이 나오는데
아마도 이것은 sed One time pad 로 끝나는게 맞을 것이다.
다시한번 sed One time pad 로 XOR 을 해주면
ALEXCTF{HERE_GOE 까지 플래그를 알아낼 수 있다.
다음으로 다섯번째 줄에 있는 암호문을 이용했다.
ALEXCTF{HERE_GOE 로 XOR 해주면
is the only encr 이라는 값이 나오는데
아마도 is the only encryption 일 것이다.
다시한번 is the only encryption 로 XOR 을 해주면
ALEXCTF{HERE_GOES_THE_ 까지 플래그를 알아낼 수 있다.
다시한번 세번째줄에 있는 암호문을 이용했다.
해당 암호문을 ALEXCTF{HERE_GOES_THE_ 로 XOR 하면
sed One time pad encr 이라는 문장이 나오는데
이것도 마찬가지로 sed One time pad encryption 로 끝나는게 맞을 것이다.
sed One time pad encryption 으로 XOR 을 해주면
완전한 플래그를 찾을 수 있다.
'워게임 > CTFlearn' 카테고리의 다른 글
[CTFlearn] RSA Twins! - 암호학 / RsaCtfTool (64) | 2023.02.12 |
---|---|
[CTFlearn] Reykjavik - 리버싱 / IDA (74) | 2023.02.09 |
[CTFlearn] Help Bity - MISC / XOR (56) | 2023.02.03 |
[CTFlearn] Exclusive Santa - 포렌식 / HxD / PIL (68) | 2023.02.01 |
[CTFlearn] abandoned place - 포렌식 / HxD (62) | 2023.01.27 |