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 |