본문 바로가기

Cryptography

[CTFLearn] Base 2 2 the 6

base 2 2 the 6

base 2 to the 6 말장난?

2의 6승 -> 64

 

Base64를 기반한 문제인 듯 보인다.

 

Base64란, 간단히 설명하면 8bit 이진 데이터를 문자 코드에 영향을 받지않는 ASCII코드로만 이루어진 문자열로 인코딩 하는 방식을 의미한다.

 

step-1. Q1RGe0ZsYWdneVdhZ2d5UmFnZ3l9 decode

Q1RGe0ZsYWdneVdhZ2d5UmFnZ3l9

인터넷에 검색을 조금만 해보면 Base64를 decode해주는 사이트가 여럿 나온다. 하지만 우리는 공부를 하는 입장이기 때문에 Python을 통해 코드화 시켜보려 한다.

 

 

step-2. Python

친절하게도, 파이썬에서는 base64모듈을 제공한다.

import base64

base64_text = "Q1RGe0ZsYWdneVdhZ2d5UmFnZ3l9"
bytes_text = base64.b64decode(base64_text)
ascii_text = bytes_text.decode('ascii')

print(ascii_text)

 맹점은, 주어진 문자열을 바로 변환할 수 없고 bytes 타입으로 변환을 선행한다는 것이다. 1. bytes 타입으로 변환 2. ascii로 변환 3. 우리가 원하는 문자열 복호화 성공

 

'Cryptography' 카테고리의 다른 글

[CTFLearn] morse code  (2) 2023.03.08
[CTFLearn] Character Encoding  (1) 2023.03.03