암호 기술의 기초와 응용

CTR 모드에서 실수로 같은 키와 같은 논스를 사용해 두 메시지를 암호화했다. 어떤 위치의 바이트에 대해 첫 번째 평문 P₁은 01001000(ASCII의 'H'), 그 암호문 C₁은 01110100, 두 번째 암호문 C₂는 01010101이다. 공격자가 P₁을 알고 있을 때, 같은 위치의 두 번째 평문 P₂는?

  1. A00100001
  2. B00111100
  3. 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에서는 같은 키로 같은 논스를 두 번 다시 사용하지 않는 것이 반드시 지켜야 할 조건입니다.

이 분야 연습하기 분야로 돌아가기

암호 기술의 기초와 응용의 다른 문제

  1. AES-GCM 같은 인증 암호화(AEAD)가 하나의 처리로 제공하는 것으로 올바른 것은?
  2. AES-GCM에서 사용하는 96비트 논스(IV)에 대한 설명으로 올바른 것은?
  3. 어떤 장치에서 56비트 키를 모두 시도하는 무차별 대입에 약 20시간이 걸린다. 같은 장치에서 64비트 키를 모두 시도하는 데 걸리는 시간에 가장 가까운 것은?
  4. 해시 함수 SHA-2와 SHA-3에 대한 설명으로 올바른 것은?
  5. 비밀 키 K와 메시지 m을 이은 값의 해시값 SHA-256(K ‖ m)을 변조 검출용 태그로 사용하는 것은 위험하다고 여겨진다. 그 이유로 올바른 것은?