대칭키 암호화, 특히 스트림 암호(Stream Cipher)에서 동기화(Synchronization) 방식은 암호화된 데이터를 전송하고 복호화할 때, 송신자와 수신자가 동일한 키 스트림(Key Stream)을 올바른 순서로 생성하고 사용하는 것을 보장하는 메커니즘을 의미합니다.
스트림 암호의 기본 원리는 평문 비트 에 키 스트림 비트 를 XOR 연산하는 것입니다(). 따라서 복호화 시에도 수신자는 정확히 같은 순서의 키 스트림 를 사용하여 암호문 에 XOR 해야 평문 를 얻을 수 있습니다.
스트림 암호의 동기화 방식은 키 스트림 생성에 이전 데이터의 영향을 받는지 여부에 따라 동기식과 비동기식으로 나뉩니다.
키 스트림 생성기가 키(Key)와 초기화 벡터 (Initial Vector, IV) 또는 내부 상태값(Internal State)만으로 키 스트림을 독립적으로 생성하며, 암호문이나 평문의 영향을 전혀 받지 않습니다.
키 스트림 생성기가 키(Key)뿐만 아니라 이전에 생성된 암호문 비트 또는 복호화된 평문 비트의 일부를 피드백 받아 다음 키 스트림 비트를 생성합니다. 이를 자기 동기화 스트림 암호 (Self-Synchronizing Stream Cipher)라고도 합니다.
| 구분 | 동기식 스트림 암호 | 비동기식 스트림 암호 (자기 동기화) |
|---|---|---|
| 키 스트림 생성 | 키, IV에 독립적 | 키, IV, 이전 암호문/평문에 종속적 (피드백) |
| 동기화 필수성 | 절대적 (깨지면 전체 실패) | 제한적 (자동 복구 가능) |
| 오류 전파 | 없음 (단일 비트 오류만 해당 비트에 영향) | 있음 (오류가 일정 범위 내에서 전파) |
| 응용 | 안정적인 채널, 병렬 처리가 중요한 환경 | 오류 발생률이 높은 무선 통신 환경 |
대칭키 암호화에서 동기화 방식을 이해하는 것은 암호화 시스템을 구축할 때 네트워크 환경(오류 발생률, 지연 시간)을 고려하여 가장 적합한 운용 모드를 선택하는 기준이 됩니다.