
문제 풀이

(1) ROT13이란 문자를 13개씩 미루어 만드는 카이사르 암호의 일종이다.
따라서 아래에 암호화된 flag를 복호화하면 된다.
small = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',' ']
capital = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',' ']
while True:
sentence = input("암호화 할 문장 입력 :")
caesar = list(sentence)
result = ''
for a in range(len(sentence)):
for b in range(len(small)):
if sentence[a] == small[b]:
if sentence[a] == ' ':
pass
elif b+14 > 26:
caesar[a] = small[b-13]
else:
caesar[a] = small[b+13]
break
for a in range(len(sentence)):
for b in range(len(capital)):
if sentence[a] == capital[b]:
if sentence[a] == ' ':
pass
elif b+14 > 26:
caesar[a] = capital[b-13]
else:
caesar[a] = capital[b+13]
break
for i in caesar:
result += i
print("복호화 된 문장 : "+result)
(2) 예전에 만들어 놓았던 ROT13의 파이썬 코드로 복호화를 하였다.

(3) 복호화 된 flag를 알 수 있다.
따라서 flag는
picoCTF{next_time_I'll_try_2_rounds_of_rot13_Aphnytiq}
'CTF' 카테고리의 다른 글
picoCTF 2021 | information (0) | 2022.06.22 |
---|---|
picoCTF 2021 | Wave a flag (0) | 2022.06.22 |
picoCTF 2021 | Obedient Cat (0) | 2022.06.22 |