암호 기술의 기초와 응용
AES(블록 길이 16바이트)를 CBC 모드로 사용하고, 패딩에는 PKCS#7 방식을 사용한다. PKCS#7 방식에서는 부족한 바이트 수를 n이라 할 때 값이 n인 바이트를 n개 덧붙이며, 평문의 길이가 정확히 16의 배수일 때도 값이 16인 바이트를 16개 덧붙인다. 96바이트의 평문을 암호화했을 때 암호문의 길이(IV는 포함하지 않음)는?
- A96바이트
- B112바이트
- C128바이트
정답과 해설 보기
정답: B. 112바이트
96바이트는 16바이트의 정확히 6블록이지만, PKCS#7 방식에서는 나누어떨어질 때도 값 16인 바이트를 16개 나열한 1블록을 덧붙입니다. 그래서 평문은 96 + 16 = 112바이트(7블록)가 되고, 암호문도 112바이트입니다. 나누어떨어질 때도 덧붙이는 것은 복호화하는 쪽이 마지막 바이트의 값을 보고 언제든지 패딩을 제거할 수 있게 하기 위해서입니다. CTR 모드나 GCM처럼 키 스트림과 XOR하는 모드에서는 패딩이 필요 없으며, 암호문은 평문과 같은 길이가 됩니다.
이어서 암호 기술의 기초와 응용 9문제 더 풀기