암호 기술의 기초와 응용
CTR 모드에서 실수로 같은 키와 같은 논스를 사용해 두 메시지를 암호화했다. 어떤 위치의 바이트에 대해 첫 번째 평문 P₁은 01001000(ASCII의 'H'), 그 암호문 C₁은 01110100, 두 번째 암호문 C₂는 01010101이다. 공격자가 P₁을 알고 있을 때, 같은 위치의 두 번째 평문 P₂는?
- A00100001
- B00111100
- C01101001
정답과 해설 보기
정답: C. 01101001
같은 키와 논스에서는 키 스트림 K가 같아지므로 C₁ = P₁ ⊕ K, C₂ = P₂ ⊕ K입니다. 먼저 K = P₁ ⊕ C₁ = 01001000 ⊕ 01110100 = 00111100을 알 수 있고, P₂ = C₂ ⊕ K = 01010101 ⊕ 00111100 = 01101001(ASCII의 'i')이 됩니다. 키를 모르더라도 한쪽 평문을 알면 다른 쪽 평문이 그대로 구해집니다. 이 때문에 CTR 모드나 GCM에서는 같은 키로 같은 논스를 두 번 다시 사용하지 않는 것이 반드시 지켜야 할 조건입니다.