Tag Archive

#aes

이 태그가 포함된 글을 최신순으로 모아봤어요.

7
posts
BLOG2026-08-19
[🥈 Silver 1] MixColumns 하나가 빠지면 AES 는 XOR 표로 무너진다 — DreamHack locked present 풀이
blog

[🥈 Silver 1] MixColumns 하나가 빠지면 AES 는 XOR 표로 무너진다 — DreamHack locked present 풀이

25바이트 비밀번호를 검사하는 stripped ELF 안에 5x5 블록 AES 변형이 통째로 들어 있다. S-box 도 Rcon 도 진짜 AES 인데 MixColumns 만 없다. 그 하나가 빠지자 확산이 사라져 평문 바이트 하나가 암호문 바이트 하나로 그대로 대응했고, 라운드가 10 이라 열 회전마저 상쇄돼 자리 순열까지 항등이 됐다. 재구현으로 되감아 비밀번호를 복구하고, 키를 전혀 모르는 상태에서도 같은 값이 나오는 두 가지 경로를 따로 실증했다.
#dreamhack#ctf#reversing+7
 
BLOG2026-08-14
[🥈 Silver 4] SubBytes 하나 빼면 AES가 그냥 1차식이 된다 — DreamHack No sub please! 풀이
blog

[🥈 Silver 4] SubBytes 하나 빼면 AES가 그냥 1차식이 된다 — DreamHack No sub please! 풀이

AES의 네 연산 중 비선형인 것은 SubBytes 하나뿐이다. 그걸 빼면 남은 ShiftRows·MixColumns·AddRoundKey가 모두 GF(2) 위의 선형·아핀 연산이라 암호 전체가 M·v 더하기 상수 d 꼴로 주저앉는다. 서버는 enc(secret) 하나만 복호를 거부하지만, XOR이 enc(secret)이 되는 다른 세 블록을 대신 복호시키면 상수항이 홀수 번 남아 secret이 그대로 나온다. 복호 질의 세 번으로 끝났다.
#dreamhack#ctf#crypto+7
 
BLOG2026-08-13
[🥉 Bronze 2] ShiftRows 하나 빼면 AES가 32비트 암호 네 개로 쪼개진다 — DreamHack No shift please! 풀이
blog

[🥉 Bronze 2] ShiftRows 하나 빼면 AES가 32비트 암호 네 개로 쪼개진다 — DreamHack No shift please! 풀이

AES에서 ShiftRows만 제거하면 남은 세 연산이 전부 컬럼 안에서 끝나기 때문에 128비트 블록이 독립적인 32비트 암호 네 개로 분해된다. 서버가 enc(secret) 자체는 복호화해 주지 않지만, 4바이트 청크 하나만 뒤집으면 "다른 암호문"이 되면서 나머지 세 청크는 secret 평문 그대로 돌아온다. 질의 두 번으로 16바이트를 전부 복구했다.
#dreamhack#ctf#crypto+6
 
BLOG2026-07-13
[🥉 Bronze 1] 공유키에 1을 넣으면 비밀이 1로 고정된다 — DreamHack Textbook-DH 풀이
blog

[🥉 Bronze 1] 공유키에 1을 넣으면 비밀이 1로 고정된다 — DreamHack Textbook-DH 풀이

교과서 그대로의 Diffie-Hellman에는 상대가 보낸 공개키를 검증하는 절차가 없다. 서버는 중간자가 넣는 키가 생성자 g(=2)와 같을 때만 거부하는데, 대신 1을 넣으면 sk = 1^x mod p = 1로 양쪽 공유비밀이 고정된다. AES 키가 md5("1")로 정해지므로 두 암호문을 그대로 복호해 flag를 이어붙였다.
#dreamhack#ctf#crypto+4