1. 스트림 암호
대칭키 암호화 방식
비트/바이트/단어들 단위로 순차적으로 암호화
암호화가 빠르게 수행되지만 강도는 약함
스트림 암호의 난수열(키 스트림)을 어떻게 생성하는지에 따라 동기식 스트림 암호와 비동기식 스트림 암호로 나뉨
2. 동기식 스트림 암호 vs 비동기식 스트림 암호
(1) 동기식 스트림 암호
키 스트림을 암호화할 입력값과 독립적으로 생성
키 스트림 생성을 위해 내부 상태(Internal State)를 유지하며, 이전 내부 상태에서 새로운 내부 상태와 유사난수를 얻음
문자열의 암호화 및 복호화는 생성된 유사난수열과 입력값을 XOR하는 방식으로 이루어짐
암호화 및 복호화할 문자열에서 특정 위치 비트를 변경할 경우 암호화된 결과에서도 같은 위치 비트가 변경되며, 다른 위치의 비트는 변경되지 않음
따라서 암호화 문자열을 전송할 시에 특정 비트가 다른 값으로 손상되었어도 복호화 시 다른 비트에는 영향을 미치지 않음
하지만 전송 오류에서 비트가 사라지거나 잘못된 비트가 추가되는 경우 오류가 난 시점 이후의 복호화가 실패하게 되며, 따라서 전송 시에 동기화(synchronize)가 필요
같은 암호화 키로 여러 입력값을 사용할 수 있으면 이를 이용한 암호공격(cryptanalysis)이 가능
동기식 스트림 암호의 예: RC4, OTP, FSR(귀환 쉬프트 레지스터), LFSR(선형 귀환 쉬프트 레지스터), NLFSR(비선형 귀환 쉬프트 레지스터)
(2) 비동기식 스트림 암호
입력값이 키 스트림 생성에 영향을 끼침
난수열을 생성할 때 암호화 키와 함께 이전 암호화된 문자열 일부를 사용
이 함호의 내부 상태는 이전 내부 상태에 의존하지 않음
따라서 암호화 문자열을 전송할 시에 일부 비트가 값이 바뀌거나, 혹은 비트가 사라지고 추가되는 오류가 발생하여도, 일부분만이 복화화에 실패하며 그 이후에는 다시 정상적인 복호화 값을 얻을 수 있음 (자기 동기성)
비동기식 스트림 암호의 예: 블록 암호의 운용 모드 중 CFB 모드에서는 블록 암호를 비동기 스트림 암호로 변환
참고자료:
https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%8A%B8%EB%A6%BC_%EC%95%94%ED%98%B8
'정보보안' 카테고리의 다른 글
Diffie-Hellman 키 교환 (0) | 2020.09.23 |
---|---|
블록 암호 알고리즘 정리 (0) | 2020.09.23 |
블록 암호 모드 (블록 암호 운용 방식) (0) | 2020.09.21 |
블록 암호 방식 - DES (0) | 2020.09.21 |
정보 보안 기본 개념 (0) | 2020.09.21 |