스트림 암호는 키로부터 생성한 키 스트림을 평문과 결합하여 암호문을 만드는 대칭키 암호의 부류이다.
원리
대표적인 구성은 평문과 키 스트림을 XOR한다. 복호화에서는 같은 스트림을 다시 결합하므로 키와 nonce 등의 입력을 올바르게 관리해야 한다.
예시
ChaCha20은 키·nonce·카운터를 이용해 스트림을 생성한다. 메시지 길이만큼의 스트림으로 데이터를 처리할 수 있다.
주의할 점
같은 키 스트림을 다른 메시지에 재사용하면 평문 사이의 관계가 노출될 수 있다. 스트림 암호만으로 변조 탐지가 제공된다고 가정하지 않는다.