ssonzm.log
로그인
ssonzm.log
로그인
[TIL]230518 - 컴퓨터시스템보안 11주차: 현대 스트림 암호(1)
Jimin
·
2023년 5월 24일
팔로우
0
TIL
컴퓨터시스템보안
0
개요
암호화와 복호화 과정에서 r비트를 생성함
평문 비트 스트림 P = pn...p2p1
암호문 비트 스트림 C = cn...c2c1
키 비트 스트림 K = kn...k2k1
암호화: ci = E(ki, pi)
복호화: pi = D(ki, ci)
특징
블록 암호보다 속도가 빠름
하드웨어 구현이 블록 암호보다 용이함
이진 스트림 단위의 암호화가 필요하고 고정된 속도로 암호화된 데이터를 전송하고자 할 때 스트림 암호가 적합함
전송 도중 비트의 변조에 강인함
현대 스트림 암호에서는 키 스트림 K = kn...k2k1를 어떻게 생성하는지가 주된 관심분야임
현대 스트림 암호의 종류
동기식 스트림 암호 (Synchronous Stream Ciphers)
키 스트림의 각 비트는 이전의 평문이나 암호문과는 독립적임
비동기식 스트림 암호 (Nonsynchronous Stream Ciphers)
키 스트림의 각 비트는 이전의 평문이나 암호문에 종속적으로 결정됨
동기식 스트림 암호
키 스트림은 평문 혹은 암호문과 독립
즉, 키는 평문/암호문과 어떤 관계도 없이 생성되고 사용됨
동기식 스트림 암호의 종류
일회용 패드
귀환 이동 레지스터
일회용 패드(One-time pad)
가장 간단하고 안전한 동기식 스트림 암호
그러나 실제적으로 사용되기에는 매우 어려움
송신자가 수진자에게 키 스트림을 전달할 수 있는 안전한 채널이 존재해야 하므로, 현실적으로 구현이 불가능함
예제) 다음의 경우 각각에 대해 일회용 패드 암호에서 암호문의 패턴은 무엇인가?
case A. 평문이 n개의 0으로 구성되는 경우
0 ⊕ ki = ki -> 암호문 스트림은 키 스트림과 같음
만약 키 스트림이 랜덤하다면, 암호문 또한 랜덤함
평문의 패턴은 암호문에서 유지되지 않음
case B. 평문이 n개의 1로 구성되는 경우
ki'를 ki의 보수라고 할 때, 1 ⊕ ki = ki'이므로 암호문 스트림은 키 스트림의 보수와 같음
만약 키 스트림이 랜덤하다면, 암호문 또한 랜덤함
즉, 평문의 패턴은 암호문에서 유지되지 않음
case C. 평문이 0과 1호 교차되어 구성되는 경우
암호문 스트림의 각 비트는 키 스트림에 대응되는 비트와 같거나 보수임
따라서 키 스트림이 랜덤하다면 암호문 또한 랜덤함
case D. 평문이 랜덤 스트림 비트인 경우
두 개의 랜덤 비트에 대해 배타적 논리합 연산을 수행했으므로 암호문 또한 완전하게 랜덤함
귀환 쉬프트 레지스터(Feedback shift Register: FSR)
One-time pad의 절충안
소프트웨어와 하드웨어 환경에서 모두 구현될 수 있지만, 하드웨어 구현이 더욱 용이함
쉬프트 레지스터와 귀환 함수로 구성됨
Jimin
팔로우
이전 포스트
[TIL]23017 - 컴퓨터시스템보안: 현대 블록 암호
다음 포스트
[TIL]230522 - 알고리즘 12주차: DP
0개의 댓글
댓글 작성