Theory/Cryptology

블록암호의 운용모드

D4tai1 2018. 8. 12.

1. ECB(Electric Code Book) 모드(전자 부호 책)

 [1] 동일한 평문 블록은 동일한 암호문 블록으로 출력되어 해독가능성이 높다.

 [2] 초기 벡터가 필요없다.

 [3] 짧은 평문이나 키를 암호화 시 사용한다.

 [4] 암호문 간의 연관관계가 없어서 개별적으로 암호화되고 개별적으로 복호화된다.

 [5] 그러나 해독이 빠르고, 손 안대고 공격[블록을 통째로 변경]가능, 짧은 키나 평문 암호화시 좋다.

 [6] 5가지 운영방식 중 가장 간단하지만, 평문과 암호문이 1:1로 대응관계이며 기밀성이 낮다.

  ex) AB에게 1억원 입금 // 이것을 BA에게 1억원 입금 /// 암호를 몰라도 블록을 변경

 

2. CBC(Cipher Block Chaining mode) 모드(암호 블록 연결)

 [1] 초기화 벡터와 평문블록과 XOR연산 후 암호화

 [2] 암호화 한 것으로 다음 블록의 평문과 XOR 연산[오류전파]

 [3] 복호화 시 암호문 블록을 복호화 후 XOR 연산, XOR연산은 전 블록의 암호문[복호화 전]과 복호화 한 것끼리

 [4] ECB 모드 보다 느림.

 [5] ECB 모드 보다 안전(평문이 같더라도 암호문이 다르다).

 [6] 특정 블록만 암호화 할 수 없다. 4번째 블록을 암호화 하려면 1, 2, 3번 블록이 암호화 되어 있어야 한다.

 [7] 복호화 할 때 블록이 깨지더라도 본인과 다음블록 총 2개 블록에만 영향을 미친다. 누락의 경우는 복호화X

  - 2개만 영향을 미치는 이유는 암호문을 복호화 하기 전에 빼서 다음블록에 전달하기 때문이다.

 

3. CFB(Cipher Feed Back) 모드(암호 피드 백)

 [1] 초기화 벡터를 암호화 후 평문블록과 XOR연산

 [2] 중요한 것은 평문은 암호화 하지 않는다.(스트림 암호와 비슷하다.)

 [3] 오류전파

 [4] Replay attack (재전송 공격) 이 가능하다.

 

4. OFB(Output-FeedBack) 모드(출력 피드 백)

 [1] 초기 값을 암호화하고 그 값을 다시 암호화 하는 과정 반복

 [2] 초기 값이 바뀐다면 같은 평문에 대해서도 다른 암호문을 얻을 수 있음.

 [3] 미리계산, 스트림 암호, 오류전파하지 않는다.

 [4] CFB 모드는 암호문블록을 피드백하기 위해 처음 평문블록부터 암호화 하지만

    OFB 모드는 평문블록과는 관계없이 암호알고리즘을 미리 돌려서 XOR하기 위한 비트열을 준비해 둘 수가 있다.

 [5] 암호문의 오류는 복호화 과정에서 대응되는 한 블록에만 영향을 미친다.(오류전파 X)

 [6] 키 수열이 평문과 무관하여 미리 계산이 가능하며 스트림암호로 사용이 가능하다.

 

5. CTR(Counter) 모드

 [1] 블록을 암호화할 때마다 1씩 증가하는 카운터를 암호화해서 얻은 비트열과 평문 블록을 xor 하여 암호문을 생성한다.

 [2] 초기값이 바뀌면 같은 평문에 대해서 다른 암호문을 얻게된다.

 [3] 오류전파x

 [4] 동일한 초기값과 비밀키를 반복사용시 안전하지 않다.

 

'Theory > Cryptology' 카테고리의 다른 글

공개키 암호  (0) 2018.08.12
공개키 - 수학적 기본용어  (0) 2018.08.12
DES암호의 특징  (0) 2018.08.12
DES 암호  (0) 2018.08.12
암호의 해독  (0) 2018.08.12

댓글