Stream Cipher   스트림 암호

(2025-02-01)

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


1. 스트림 암호화

  ㅇ 연속적인 비트/바이트/단어들을 순차적으로 암호화하는 방식
     - 이전 암호화 결과에 따라 다음 암호화가 결정됨

  ㅇ 대칭키 암호화 방식의 일종
     - 암호화
        . 평문이 키 스트림(Key Stream)이라는 의사난수열과 병합(주로,비트 단위 XOR)되어,
        . 암호문이 생성됨
     - 역암호화
        . 수신된 암호문에 동일한 의사난수열XOR 시킴


2. 스트림 암호화의 특징

  ㅇ 연속성
     - 연속적인 비트/바이트/단어(1,8,32,... 비트)들을 순차적으로 암호화
     - 비트바이트 처럼 데이터의 작은 단위들 마다 입력 처리됨 
     - 통상, 한 번에 한 바이트씩 계속 반복하며 암호화 수행
  ㅇ 기억성
     - 현재의 입력에 대한 출력은 과거의 입력에 대해 영향을 받음
  ㅇ 순차성
     - 데이터가 정해진 단위별로 순차적 암호화되므로, 
     - 현재의 내부 상태를 유지할 필요 있음
  ㅇ 연산 : XOR
  ㅇ 적용 : 통신 채널, 전송계층 보안(SSL/TLS  보안) 등
  ㅇ 키 자체의 생성은 공유비밀키(대칭키)에 의함
     - 키 스트림(Keystream)의 생성은, 공유 비밀키(Shared Secret Key)로부터 생성됨

     


3. 스트림 암호화의 구분동기성 여부
     - 동기식 암호화
     - 비동기식 암호화
  ㅇ 처리 단위
     - 비트 암호화
     - 바이트 암호화


4. 스트림 암호 방식의 例

  ㅇ RC4 (Rivest Cipher 4)
     - 설계자/년도 : Ronald Rivest에 의해 설계됨, 1987년 
     - 특징
        . 바이트 단위스트림 암호화 방식
           .. 평문 1 바이트암호키 1 바이트가, XOR 처리되어, 암호문 1 바이트를 생성
        . 상태 바이트 종류 (상태 배열 : S[0],S[1],...,S[255]) : (키 스케줄링난수 생성)
           .. 원소 인덱스 번호 : 0 ~ 255 사이의 정수
           .. 원소 내용 : 1 ~ 256 바이트 중 어떤 값이라도 됨
        . 키 바이트 종류 (키 배열 : K[0],K[1],...,K[255])
           .. 원소 인덱스 번호 : 0 ~ 255 사이의 정수
     - 응용 : WEP, WPA(초기 버전), SSL/TLS (초기 버전 등)

  ㅇ A5/1 등
     - 설계자/년도 : GSM 협회, 1980년대 후반
     - 특징
        . GSM 통신에서 사용되는 비트 기반 스트림 암호
        . 3개의 선형 피드백 시프트 레지스터(LFSR) 사용
        . 초기화 시 64비트 키 및 프레임 번호 사용
     - 응용 : 2G GSM 이동통신 시스템

  ㅇ A5/2
     - 특징
        . A5/1보다 보안 수준이 낮은 변형
        . 개발도상국 수출용으로 개발되었으나 매우 쉽게 깨짐
     - 응용 : 일부 GSM 시스템에서 사용되었으나 현재는 폐기됨

  ㅇ eSTREAM 프로젝트 암호들
     * (ECRYPT 프로젝트에서 유럽연합 지원 하에 개발된 스트림 암호 후보들)
     - Salsa20 / ChaCha20
        . 설계자: Daniel J. Bernstein
        . 특징
           .. 블록 기반 설계이지만 키스트림 생성 방식이 스트림 암호와 유사
           .. 고속, 높은 보안성
        . 응용: Google TLS, WireGuard VPN 등에서 ChaCha20 사용
     - Grain v1
        . 특징
           .. LFSR + NFSR 기반 설계
           .. 경량 스트림 암호
        . 응용 : IoT 환경, 제한된 연산 자원에서의 사용 고려
     - Trivium
        . 특징
           .. 288 비트 내부 상태
           .. 단순한 구조로 하드웨어 구현에 적합
        . 응용 : 경량 스트림 암호 분야에서의 연구용

  ㅇ MICKEY (Mutual Irregular Clocking KEYstream generator)
     - 특징
        . eSTREAM 경량 부문 최종 선정 암호 중 하나
        . LFSR과 NFSR 결합 방식 사용
     - 응용 : 하드웨어 제한 환경에서의 스트림 암호 구현

대칭 암호
1. 대칭키   2. 블록 암호   3. DES   4. AES   5. 암호 운영 모드   6. 스트림 암호   7. 일회용 패드  
용어해설 종합 (단일 페이지 형태)

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]          편집 이력          소액 후원