본문 바로가기

보안/정보보호이론

Bock Cipher Modes

@ Block Cipher


=> 블록단위로 끊어서 암호화



만약 n이 128비트라면 1byte를 암호화할 수 있다.

안전한 스킴을 만들려면? (디퓨전, 컨퓨전)

n-bit 암호문으로 어떠한 평문 정보도 이끌어내서는 안된다. 관계가 없는 것처럼 보여야 한다.


조건 1) 어떠한 정보도 이끌어낼 수 없다

조건2) 키와 암호문의 관계를 숨겨야 한다.



@ Nation of Security


 - Diffusion : The idea of diffusion is to hide the relationship between the ciphertext and the plaintext


 - Confusion : The ieda of confusion is to hide the relationship between the ciphertext and the key


Shannon 은 혼합 암호문(product cipher)에 개념에 대해 소개했다.

혼합 암호문은 substitution과 transposition이 결합된 복합 암호문이다.



@ ECB (Electronic Code Block) Mode



 - M1과 M2를 동시에 진행해도 아무 영향없다. 

- 즉 병렬처리가 가능하다

- 암호화/복호화 둘 다 가능

- Parallel encryption and decryption


 - Error Propagation : One bit error affects only one block



- 블록의 1bit가 바뀌면 한 블록의 전체가 영향을 받는다.

- 가능한 영향을 덜 주는 것이 좋다. 유추가 가능하므로


 - 그렇다면 이 모드의 단점은 무엇일까?



 - 암호 block <--> 암호 block 으로 교체할 경우 문제가 발생할 수 있다.

 - 이는 C1과 C2과 독립적으로 암호화되었기 때문에 발생한다.

 - 따라서 어느 정도의 연관성이 필요하다.


@ CBC (Cipher Block Chaining) Mode


 -IV : Initialization Vector 

- 비밀키와 마찬가지로 송신자와 수신자간에 미리 약속되어 있는 값 공개되어도 상관없다. 

- 보통 다른 랜덤 비트열을 이용한다.


 - Encryption

- 글씨를 못 써서 미안합니다.




 - Decryption



 - 만약 IV를 반전시키는 공격을 한다면 평문 블록의 비트를 만전시킬 수 있다.

 - 암호문 블록 비트가 누락되면 그 이후의 블록 전체에 영향을 미친다.

 - 이 암호방법은 C1을 이용하여 C2를 만드므로 서로 관계가 있다.



 - ECB는 암호문 블록이 같을 경우 그 두개의 블록의 plaintext는 같다. 

 - 하지만 CBC에서는 그러한 결점이 사라진다.

 - CBC에는 도중의 평문 블록을 뽑아내서 암호화 할 수 없다.

 - 블록 1개가 잘못되면 그 볼록의 평문과 다음 블록의 비트 1개가 영향을 받는다.


 - Error propagation : 


- One bit error affects one boock and one bit of the next block



- M3에는 영향을 주지 않는다.



- 인크립션은 병렬처리가 불가능하나 디크립션은 가능하다.



@ OFB (Output feed back) Mode



 - key stream만 가지고 있으면 언제든지 암호화가 가능하다.

 - It is possible to pre-compute key stream and can be used as a stream cipher



 - Error propagation



 - One bit error affect only one bit

 - 암호화된 사이퍼를 가지고 단지 XOR 연산을 하므로 1bit만 바뀐다.



@ Counter Mode


이러한 모드의 장단점을 합친 모드이다.


 - Encryption



 - Decryption



 - ECB 와 OFB 모드의 연관성

     - 키스트림 병렬처리 (OFB와의 차이점)

- Error propagation : OFB와 동일




@ 정리



모드

이름 

장점 

단점 

ECB

electronic 

code back

 간단

 고속

 병렬처리 가능 (암호화/복호화) 

 평문 속의 반복이 암호문에 반영

 암호문 블록의 삭제나 교체에 의해 평문 내 조작이 가능

 1bit error -> affect 1block

CBC

 CipherBlock

Chaning

 평문의 반복은 암호문에 반영안됨

 병렬 처리 가능(복호화만)

 임의의 암호문 블록 복호화 가능 

 1bit error -> affect 1block and next block's 1bit

 암호화 시 병렬처리를 할 수 없음

OFB 

Output

Feedback 

 패딩이 필요없음

 암호화 복호하 사전 준비 가능

 암호화와 복호화가 같은 구조

 1bit error -> affect 1bit 

 병렬처리를 할 수 없다.

 공격자가 암호문 블록을 bit 반전 시키면 대응하는 평문 블록 bit가 반전된다. 

CTR 

Counter 

 패딩이 필요없다.

 암호화 복호화의 사전 준비가 가능

 암호화 복호화가 같은 구조

 1bit error ->affect 1bit

 병철처리가 가능(암호화/복호화) 

 공격자가 암호문 bit 반전시키면 대응하는 평문 블록 bit가 반전된다. 


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

기출 문제 풀이  (0) 2015.03.02
Hash Functions  (1) 2015.03.02
암호화를 위한 보안 모델  (0) 2015.03.02
Lottery를 이용한 단일 대치 암호문 해독  (0) 2015.03.02
고대 암호학  (1) 2015.03.02