관리 메뉴

HeeJ's

[01] 스트림 암호 본문

<Information Security>/<cryptology>

[01] 스트림 암호

meow00 2020. 8. 23. 22:33

스트림 암호

대칭키 암호의 구조 중 하나로,

평문과 같은 길이의 키 스트림(유사 난수)를 연속적으로 생성하여 암호화한다.

유사난수; 난수를 흉내내기 위해 알고리즘으로 생성되는 값

평문과 키를 비트단위로 XOR하여 암호문을 얻는다.

하드웨어 구현이 간편하고, 속도가 빠르기 때문에 무선통신에서 주로 사용한다.

 

종류

1) 동기식 스트림 암호

2) 비동기식 스트림 암호 / 자기동기 스트림 암호

 

동기식 스트림 암호

암호화할 비트와 같은 위치의 결과 비트가 변경된다.

그렇기 때문에 전송 도중 비트가 변조되어도 후속 암호문에 오류의 영향이 끼치지 않는다.

전송 오류에서 비트가 사라지거나, 잘못된 비트가 추가될 경우 오류가 난 시점 이후의 복호화가 실패되므로,

암호화 및 복호화에서 상호 동기화가 필수적이다.

변조를 하더라도 복호화 단계에서 검출되지 않는다.

 

비동기식 스트림 암호 / 자기동기 스트림 암호

암호문이 전송 도중 변경되어도 자기동기화 가능

난수열 생성 시 암호화 키와 이전 암호화된 문자열의 일부를 사용

암호의 내부 상태는 이전 내부 상태에 의존하지 않음

=> 후속 암호문에 영향을 끼치지 않는다. (오류 파급이 제한적이다)

     = 일부분만 복호화가 실패하며, 이후에는 정상적인 복호화가 가능한 자기 동기성을 가진다.

 

 

[출처]

https://ko.wikipedia.org/wiki/%EC%8A%A4%ED%8A%B8%EB%A6%BC_%EC%95%94%ED%98%B8