본문 바로가기
Cryptography

[HackCTF] Classic Cipher -1

by L3m0n S0ju 2021. 9. 11.

 

 

?y4zl4J_d0ur_b0f_0K zp nhsm

 

문제 파일을 열면 위와 같은 문자열이 있다. 힌트를 보면 [::-1]이라고 적혀있는데 이는 역순을 의미한다고 합니다. 따라서 역순으로 나열하고 카이사르 해독을 했습니다. 코드는 아래와 같습니다.

 

 

 

 

 


catalog1 = "abcdefghijklmnopqrstuvwxyz"
catalog2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

def decrypt(data, key):
    rst = ""
    for k in range(len(data)):
        idx1 = catalog1.find( data[k] )
        idx2 = catalog2.find( data[k] )
        if idx1 != -1:
            rst += catalog1[ (idx1-key) % len(catalog1) ]
        elif idx2 != -1:
            rst += catalog2[ (idx2-key) % len(catalog2) ]
        else: 
            rst += data[k]
    return rst

 
def main():
    data_str="?y4zl4J_d0ur_b0f_0K zp nhsm"
    data_rev=data_str[::-1] // 역순
    for key in range(0,26): // 카이사르 암호 모든 경우의 수 시도
        rst = decrypt(data_rev, key)
        print(rst)

if __name__ == "__main__":
    main()

 

 

 


결과를 살펴보면 플래그가 있습니다.

'Cryptography' 카테고리의 다른 글

[암호학 개념]  (0) 2021.09.19
[HackCTF] Classic Cipher -2  (0) 2021.09.11
[HackCTF] Smooth CipherText  (0) 2021.09.11
[HackCTF] Great Binary  (0) 2021.09.10
[Square CTF] 카이사르 암호 암복호화  (0) 2021.08.12

댓글