BLOG2026-08-18
blog
[💠 Platinum 3] getrandbits 가 흘린 비트로 MT19937 상태를 되찾다 — DreamHack Unbreakable 풀이
같은 23088비트를 32비트씩, 16비트씩, 8·4·2비트씩, 마지막엔 1비트씩 흘리는 여섯 개의 MT19937. twist 도 tempering 도 GF(2) 위에서 선형이라 누출 비트 하나가 곧 1차식 한 줄이 된다. 19968개 미지수를 numpy 비트팩 소거로 풀어 상태를 복원하고, 예측한 난수로 AES 키 체인을 되감아 플래그까지 갔다.
#dreamhack#ctf#crypto+7