PromleeBlog
sitemap
aboutMe

posting thumbnail
스트림 암호
Stream Cipher

📅

🚀

스트림 암호란? (Stream Cipher) 🔗

비트 단위로 암호화하는 대칭키 암호화 방식
입력: 지속적으로 요소를 받아들임
출력: 한 번에 하나의 요소 출력
블록 암호보다 빠름
키를 단 한 번만 사용
알려진 평문 공격에 취약 : MC=M(Mk)=kM \oplus C = M \oplus (M \oplus k) = k
예시) LFSR, RC4, ChaCha

🚀

난수 (Random Numbers) 🔗


🚀

난수 vs 의사 난수 (Random Numbers vs Pseudo-Random Numbers) 🔗


🚀

RC4 개요 (RC4 Overview) 🔗

RC: Rivest Cipher
가변 키 크기를 가지는 스트림 암호로 바이트 단위 연산으로 구성
무작위 순열 사용을 기반으로 함

🚀

RC4: S의 초기화 (RC4: Initialization of S) 🔗

S: 256바이트 크기의 배열
j = 0
for i=0 to 255 do
	j = (j + S[i] + T[i]) mod 256;
	Swap(S[i], S[j]);

🚀

RC4: 스트림 생성 (RC4: Stream Generation) 🔗

S[i] 의 모든 요소 순회
i = 0
j = 0
while(true)
	i = (i + 1) mod 256
	j = (j + S[i]) mod 256
	Swap(S[i], S[j])
	t = (S[i] + S[j]) mod 256
	k = S[t]
암호화: k값과 평문의 다음 바이트 XOR
복호화: k값과 암호문의 다음 바이트 XOR

🚀

RC4: 보안성 분석 (RC4: Security Analysis) 🔗

키 크기가 합리적이면(e.128 bit), RC4은 안전하다고 여겨짐
WEB(Wired Equivalant Privacy) 프로토콜에 취약

💡

운용 모드 (Modes of Operation) 🔗


🚀

운용 모드란? (Modes of Operation) 🔗

블록 암호를 사용하여 메시지를 암호화하는 방법
블록 암호의 한계: 평문의 고정된 길이
운용 모드: 블록 암호를 사용하여 임의 길이의 메시지를 암호화

🚀

ECB 모드 (Electronic Codebook Mode) 🔗

암호화: 시간에 따라 블록 단위로 암호화
장점
단점

🚀

CBC 모드 (Cipher Block Chaining Mode) 🔗

암호화: 이전 블록의 암호문과 키 K를 XOR 연산
초기화 벡터 필요

🚀

CFB 모드 (Cipher Feedback Mode) 🔗

암호화: 초기화 벡터를 키 K와 XOR 사용하여 암호화하여 사용하는 모