BLOG2026-08-22
blog
[🥇 Gold 3] 42만 줄짜리 XOR 지옥이 사실은 행렬 한 장 — DreamHack XOR Disaster 풀이
15MB짜리 disaster.py 안에 시프트·XOR 연산이 320,000줄 흩뿌려져 있고 함수 32개가 각각 8비트만 돌려준다. 세 연산 모두 자리올림이 없어 GF(2) 위에서 선형이라, 전체가 f(v) = A·v + c 라는 아핀사상 하나로 접힌다. f(0)으로 상수를, f(e_i)로 열벡터를 뽑아 257번 호출만에 256×256 행렬을 복원하고 가우스 소거 한 번으로 끝났다.
#dreamhack#ctf#crypto+7