CryptoHack [crypto] Favourite byte
2024. 11. 18. 22:58ㆍWARGAME/CryptoHack
320x100
암호학 중에서 XOR 문제 입니다.
XOR 퍼즐을 푸는 문제다.
단일 바이트로 XOR을 사용하여 일부 데이터를 숨겼지만, 해당 바이트는 비밀이다.
먼저 16진수부터 디코딩하는 것을 잊지마라.
hex 값과 어떠한 값을 XOR 연산하면 FLAG가 되야하는데.
그 어떠한 값을 모르는 상황.
hex XOR ? = FLAG
FLAG의 형태가 crypto로 시작하기 때문에
hex 값과 1바이트씩 무차별적으로 XOR 연산을 해서
crypto로 시작하는 문자열을 찾으면 된다~
해당 조건을 python코드화 시켰다.
#hex를 바이트 배열로 변환
hex_bytes = bytes.fromhex("73626960647f6b206821204f21254f7d694f7624662065622127234f726927756d")
for key in range(256): #1바이트 키는 0~255
xor = bytes([b ^ key for b in hex_bytes]) #XOR 연산 수행
flag = xor.decode(errors="ignore")
#결과값이 "crypto"로 시작하는 문자열 필터링
if flag.startswith("crypto"):
print(flag)
python 공부해야겠따..!!
320x100
320x100
'WARGAME > CryptoHack' 카테고리의 다른 글
CryptoHack [crypto] Modular Exponentiation / Public Keys (0) | 2024.12.03 |
---|---|
CryptoHack [crypto] XOR Properties (0) | 2024.11.17 |