상세 컨텐츠

본문 제목

Symmetric Encryption(2)

정보보호이론

by 후추리 2025. 4. 21. 21:36

본문

1. Stream Cipher

- Symmetric Encryption의 종류 중 하나

- 평문을 연속적인 비트 단위로 암호화하는 방식

- 입력이 들어올 때마다 즉시 암호화 결과 생성

- 빠르지만 key 재사용은 불가능

 

 

2. LFSR Cipher

- LFSR은 이전 상태들의 선형 결합으로 다음 비트를 생성

- 선형함수 f를 사용해 키 스트림을 생성

 

 

3. RC4

- 다양한 키 길이를 사용할 수 있으며, 바이트 단위로 동작

- 빠른 속도가 특징이며 Random Permutation 기반 키 스트림 생성

- 상태 배열 S 초기화(S는 0~255까지의 숫자를 순서대로 저장하는 배열)

  1) T 배열 생성: 키 k를 반복적으로 복사해서 만든 256 길이의 배열

  2) S 배열을 T 배열로 섞기

- 초기화된 S 배열을 바탕으로 스트림 키 생성

- 이렇게 생성된 키 스트림과 평문을 XOR하면 암호화

- ciphertext와 키 스트림을 XOR하면 복호화

 

 

4. Modes of Operation

- 블록 암호는 고정된 길이의 블록 단위로 동작하기 때문에 다양한 크기의 평문을 처리하기 위해선 mode of operation이 필요

- 블록 싸이퍼는 블록 하나만 암호화할 수 있는 기계라면, Mode of Operation은 여러개의 블록을 암호화할 수 있도록 만드는 방식

- ECB, CBC 등이 있음

 

 

5. ECB(Electronic Codebook) Mode

- 평문 블록 P1, P2, .., PN 각각을 같은 키 K로 암호화

- substitution attack에 취약

 

 

6. CBC(Cipher Block Chaining) Mode

- 평문 블록을 암호화할 때, 첫 블록은 초기화 벡터 IV와 XOR한 후 블록 암호로 암호화됨

  C1= Enc(K, P1IV)

- 이후 각 블록은 이전 암호문 블록과 XOR한 후 암호화됨

  Ci= Enc(K, PiCi1)

- 복호화는 Dec(C1, K) ⊕ IV 또는 Dec(Ci, K) ⊕ Ci-1

- 블록들이 서로 연결되어 있어서 보안성 향상

- 병렬 처리 불가능

- 하나의 암호문 블록이 손상되면 이후 블록들도 오류 발생

- IV가 고정되면 위험

 

 

7. CFB(Cipher Feedback) Mode

- 초기값 IV를 사용하여 시작하며 IV를 블록 암호로 암호화

- 그 결과의 상위 s비트를 선택

- 이 s비트를 평문 블록과 XOR하여 암호문 블록을 만듬

- 암호문 블록을 다시 shift register에 입력하여 다음 단계에서 IV처럼 사용

- 암호화는 C1 = Enc(K, IV) ⊕ P1 또는 Ci = Enc(K, Ci-1) ⊕ Pi

- 복호화는 P1 = Enc(K, IV) ⊕ C1 또는 Pi = Enc(K, Ci-1) ⊕ Ci

- 블록 암호를 스트림 암호처럼 사용할 수 있게 해줌

- 초기화 벡터 IV는 랜덤하고 예측 불가능해야 하며, 반복되면 보안이 깨질 수 있음

 

 

8. OFB(Output Feedback) Mode

- 블록 암호를 스트림 암호처럼 동작하게 만들어주는 방식

- 평문 블록을 직접 암호화하지 않고, 키 스트림을 만들어 그것과 평문을 XOR하는 방식

- 키스트림은 반복적으로 암호화된 출력값을 다시 입력값으로 사용

- 암호화는 Enc(K, Pi) = Xi ⊕Pi

- 복호화는 Enc(K, Ci) = Xi ⊕ Ci

- 키스트림을 미리 계산 가능

 

 

9. CTR(Counter) Mode

- 초기 카운터(CTR) 값을 K와 암호화하여 Xi 생성

- Pi와 Xi를 XOR하여 암호문 생성

- CTR 값을 하나씩 증가시키며 같은 방식으로 진행

- 스트림 암호처럼 작동

- CTR만 바뀌면 비결정성 보장

- 병렬 처리 및 미리 계산도 가능

'정보보호이론' 카테고리의 다른 글

Diffie-Hellman Key Exchange  (0) 2025.06.11
Discrete Logarithm Problem  (0) 2025.06.11
Symmetric Encryption(1)  (0) 2025.04.21
Classical Encryption  (0) 2025.04.17
Introduction to Information Security and Cryptography  (0) 2025.04.17

관련글 더보기