Stream Cipher   스트림 암호

(2021-01-09)

Keystream, Key Stream, 키 스트림, RC4, Rivest Cipher 4


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 등



Copyrightⓒ written by 차재복 (Cha Jae Bok)