암호 기술의 기초와 응용

이미지 데이터를 AES의 ECB 모드로 암호화했더니, 암호화한 후의 이미지에서도 원래 그림의 윤곽을 알아볼 수 있었다. 이 원인으로 올바른 것은?

  1. AAES의 키가 너무 짧아서 일부 블록이 암호화되지 않고 그대로 남았기 때문에
  2. BECB 모드에서는 블록마다 다른 키를 자동으로 만들므로, 그 키의 무늬가 암호화한 후의 이미지에 나타나기 때문에
  3. CECB 모드에서는 같은 평문 블록이 항상 같은 암호문 블록이 되므로, 같은 색 부분의 무늬가 남기 때문에
정답과 해설 보기

정답: C. ECB 모드에서는 같은 평문 블록이 항상 같은 암호문 블록이 되므로, 같은 색 부분의 무늬가 남기 때문에

ECB(전자 코드북) 모드는 각 블록을 같은 키로 각각 독립적으로 암호화하기만 하는 방식입니다. 그래서 평문 안에 같은 내용의 블록이 있으면 암호문에서도 같은 블록이 같은 위치에 나타납니다. 배경처럼 같은 색이 이어지는 이미지에서는 어디가 같은 색인지라는 정보가 남으며, 펭귄 이미지를 암호화한 예가 잘 알려져 있습니다. 이 때문에 일반 데이터의 암호화에는 ECB 모드를 사용하지 않고, 같은 평문으로부터도 매번 다른 암호문이 만들어지는 CBC 모드, CTR 모드, GCM 등을 사용합니다.

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

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

  1. AES를 CBC 모드로 사용할 때 초기화 벡터(IV)의 취급으로 적절한 것은?
  2. AES(블록 길이 16바이트)를 CBC 모드로 사용하고, 패딩에는 PKCS#7 방식을 사용한다. PKCS#7 방식에서는 부족한 바이트 수를 n이라 할 때 값이 n인 바이트를 n개 덧붙이며, 평문의 길이가 정확히 16의 배수일 때도 값이 16인 바이트를 16개 덧붙인다. 96바이트의 평문을 암호화했을 때 암호문의 길이(IV는 포함하지 않음)는?
  3. CBC 모드로 암호화한 데이터를 받는 서버가, 복호화한 후의 패딩이 올바르지 않을 때와 패딩은 올바르지만 내용 검사에 실패했을 때 서로 다른 오류를 돌려주고 있었다. 이 상황에 대한 설명으로 올바른 것은?
  4. 블록 암호의 CTR 모드(카운터 모드)의 특징으로 올바른 것은?
  5. CTR 모드에서 실수로 같은 키와 같은 논스를 사용해 두 메시지를 암호화했다. 어떤 위치의 바이트에 대해 첫 번째 평문 P₁은 01001000(ASCII의 'H'), 그 암호문 C₁은 01110100, 두 번째 암호문 C₂는 01010101이다. 공격자가 P₁을 알고 있을 때, 같은 위치의 두 번째 평문 P₂는?