스트림 암호
대칭키 암호의 구조로
의사난수를 연속적(스트림)으로 생성하여
평문을 암호화하는구조
스트림 암호 특징
비트단위로 난수를 생성하기 때문에
에러 확산이 없음 -> 무선 통신에 적합
비도수준에 대한 수학적 정령화 가능
하드웨어 구현 용이
통신 지연이 없음, 고속통신 가능
장, 단점
동일한 크기의 키를 사용하는 블록 암호만큼 안전함
블록 암호에 비해 간단하고 빠른 처리 속도
동일한 키를 가지고 두개 이상의 평문을 암호화 할 경우 해독이 가능할 수도있음
스트림 암호 설계시 고려사항
키수열 생성기에 대한 암호학적 안정성
통신 채널 환경에 적합한 키수열 동기 방식 성능(통신 신뢰성)
암호화 속도 등에 대한 성능 분석
스트림암호에 대한 안전성은 여러 종류의 암호공격에 대하여
얼마나 강한 키 수열을 발생시키느냐에 달려있음
1) 주기(Preiod): 출력 키 수열은 주기에 대한 최소값이 보장되어야함
P>>2^80, 2^128 권장
2) 랜덤 특성: 출력 키 수열은 좋은 랜덤 특성을 가져야함
3) 선형 복잡도: 출력 키 수열은 큰 선형 복잡도를 가져야함
2^80, 2^128 권장
4) 상관 면역도: 출력 키 수열은 높은 상관 면역도를 가짐
1이상
5) 키 수열 사이클 수: 출력 키 수열은 2개 이상의 키 수열 사이클에서 발생되어야함
스트림 암호 요소 기술
LFSR, 원시다항식
LFSR은 랜덤 이진 수열을 방생기키는 가장 기본적인 암호 요소이나
레지스터 길이의 2배에 해당되는 출력을 알면 해독 가능
클럭 조절형 LFSR
LFSR의 클럭 조절을 통하여 안전성을 높이는 DKAG의 요소
비선형 조합 함수
출력 수열의 비선형도를 높이기 위하여
여러 개의 선형 LFSR을 조합하는 메모리형을 조합하는 함수
비선형 필터 함수
선형 LFSR의 각 state memory를 비선형적으로 조합하여
출력을 발생시키는 비선형 함수
NFSR(Nonlinear Feedback Shift Regiser)
LFSR에 대응되는 비선형 귀환 이동 레지스터
키 수열 동기 방식
연속동기방식, 초기동기방식, 절대동기방식 등
송ㆍ수신기 키 수열에 대해 각각 bit-by-bit 일치시키는 동기 기술
Zero-suppression algorithm
출력수열의 역속'0'을 일정비트 이하로 억제
동기식 스트림암호 장,단점
장점
고속의 암호화 처리
고 난이도
적은 오류 전파율
능동적 writetapping으로 부터의 보호
단점
낮은 확산 효과
자기동기 능력의 결여
자체동기식(비동기식) 스트림 암호 장,단점
장점
Self-synchronizing(키 수열 동기=난수동기)
수학적인 동작에 대한 예측이 어려움(랜덤성)
단점
에러확산 없음
입력값을 노출: 암호문이 LFSR의 입력값으로 사용되므로
공격자들에게 LFSR에 대한 입력값들이 노출됨
비트열에 대한 수학적 성질의 결정이 곤란
LFSR기반 스트림암호
n단 짜리 LFSR을 구성할 때
주기가 2^n-1이 나와야한다
그렇지 않다면 쓰지 못한다
Feedback tap(귀환 탭) 구성이 중요함
->Primitive Polynomial(원시다항식) 또는 Irreducible polynomial(기약다항식)
ex) 5단 LFSR을 구성했는데 주기가 20에서 끝난다면 Feedback tap을 수정
주기가 제대로 다오지 않았다면 소인수분해 가능한 다항식이란거
'Crypto' 카테고리의 다른 글
블록 암호의 원리 (0) | 2020.05.03 |
---|---|
블록암호 VS 스트림 암호 (0) | 2020.05.02 |
의사 난수 생성의 원리 (0) | 2020.05.02 |
AES (0) | 2020.04.30 |
DES (0) | 2020.04.30 |