혜랑's STORY

[picoCTF] Mod 26 - Cryptography 본문

2021 SISS 21기 활동/여름방학 CTF[연합]

[picoCTF] Mod 26 - Cryptography

hyerang0125 2021. 7. 29. 19:09

# 문제

  • ROT13은 카이사르 암호의 일종으로 영어 알파벳을 13글자씩 밀어서 만든다.

# 풀이

ciphertext = "cvpbPGS{arkg_gvzr_V'yy_gel_2_ebhaqf_bs_ebg13_hyLicInt}"

c = list(ciphertext)

for i in range(len(c)):
    if c[i] >= 'A' and c[i] <= 'Z':
        c[i] = chr((ord(c[i]) - ord('A') + 13) % 26 + ord('A'))
    elif c[i] >= 'a' and c[i] <= 'z':
        c[i] = chr((ord(c[i]) - ord('a') + 13) % 26 + ord('a'))

plain = ''.join(c)
print(plain)
  • 알파벳을 13글자씩 밀어내는 코드를 작성하여 플래그를 얻을 수 있었다.