암호 기술의 기초와 응용
대칭 키 암호 중 블록 암호와 스트림 암호의 차이에 대한 설명으로 올바른 것은?
- A블록 암호는 공개 키와 개인 키의 쌍을 사용하는 공개 키 암호의 일종이며, 스트림 암호만 대칭 키 암호로 분류된다
- B블록 암호는 정해진 길이의 블록 단위로 변환하고, 스트림 암호는 키 스트림을 평문에 조금씩 XOR한다
- C스트림 암호는 키를 사용하지 않고 데이터를 재배열하기만 하는 방식으로, 암호문으로부터 누구나 평문으로 되돌릴 수 있다
정답과 해설 보기
정답: B. 블록 암호는 정해진 길이의 블록 단위로 변환하고, 스트림 암호는 키 스트림을 평문에 조금씩 XOR한다
블록 암호는 AES처럼 정해진 길이(AES에서는 128비트)의 블록을 키에 따라 다른 블록으로 변환합니다. 긴 데이터는 블록 암호 운용 모드를 사용해 블록 변환을 조합하여 암호화합니다. 스트림 암호는 키와 논스로부터 의사 난수인 키 스트림을 만들고, 평문과 1비트나 1바이트씩 XOR합니다. ChaCha20이 대표적이며, 블록 암호도 CTR 모드로 사용하면 스트림 암호와 같은 방식으로 동작합니다.