1. 스트림 암호화
ㅇ 연속적인 비트/바이트/단어들을 순차적으로 암호화하는 방식
- 이전 암호화 결과에 따라 다음 암호화가 결정됨
ㅇ 대칭키 암호화 방식의 일종
- 암호화
. 평문(Plaintext)이 키 스트림(Key Stream)이라는 의사난수열과 병합(주로,비트 단위 XOR)되어,
. 암호문이 생성됨
- 역암호화
. 수신된 암호문에 동일한 의사난수열을 XOR 시킴
2. 스트림 암호화의 특징
ㅇ 연속성
- 연속적인 비트/바이트/단어(1,8,32,... 비트)들을 순차적으로 암호화
- 비트나 바이트 처럼 데이터의 작은 단위들 마다 입력 처리됨
- 통상, 한 번에 한 바이트씩 계속 반복하며 암호화 수행
ㅇ 기억성
- 현재의 입력에 대한 출력은 과거의 입력에 대해 영향을 받음
ㅇ 순차성
- 데이터가 정해진 단위별로 순차적 암호화되므로,
- 현재의 내부 상태를 유지할 필요 있음
ㅇ 연산 : XOR
ㅇ 적용 : 통신 채널, 전송계층 보안(SSL/TLS 웹 보안) 등
ㅇ 키 자체의 생성은 공유비밀키(대칭키)에 의함
- 키 스트림(Keystream)의 생성은, 공유 비밀키(Shared Secret Key)로부터 생성됨
3. 스트림 암호화의 구분
ㅇ 동기성 여부
- 동기식 암호화
- 비동기식 암호화
ㅇ 처리 단위
- 비트 암호화
- 바이트 암호화
4. 스트림 암호 방식의 例
ㅇ RC4 (Rivest Cipher 4)
- 1987년 Ronald Rivest에 의해 설계됨
- 특징
. 바이트 단위의 스트림 암호화 방식
.. 평문 1 바이트와 암호키 1 바이트가, XOR 처리되어, 암호문 1 바이트를 생성
. 상태 바이트 종류 (상태 배열 : S[0],S[1],...,S[255])
.. 원소 인덱스 번호 : 0 ~ 255 사이의 정수
.. 원소 내용 : 1 ~ 256 바이트 중 어떤 값이라도 됨
. 키 바이트 종류 (키 배열 : K[0],K[1],...,K[255])
.. 원소 인덱스 번호 : 0 ~ 255 사이의 정수
- 응용 : WEP, SSL/TLS 등 네트워킹 프로토콜에서 사용됨
ㅇ A5/1 등