한 걸음씩..

[암호학] 대칭 키 암호의 운영모드 본문

잡다한 공부방

[암호학] 대칭 키 암호의 운영모드

smdy0426 2013. 7. 15. 10:54
반응형

1. 2중DES
   1) 다중 암호화 방식 : DES를 여러 번 반복해서 키 길이가 증가하는 효과
   2) 2중 DES : 메시지가 입력이 되면 첫 번째 키K1으로 암호화를 한번 하고 키 K2로 다시 한번 암호화
      -> 결과적으로 56bit + 56bit = 112bit 의 키를 쓴 효과를 내고자 했지만 
         Meet in the middle attack 공격법으로 인해 실제 1bit증가 효과밖에 보지 못함
      ※ Meet in the middle attack : C = EK2[EK1[P]] 이면  X = EK1[P] = DK2[C]

2. 3중DES 1) 3중DES : DES 암호화 알고리즘을 3번 반복 -> 3Key 3중DES(암호화 3번) -> 2key 3중DES(k1암호화 – k2복호화 – k1암호화) : 기존의 Single DES와 호환 2) DES – X : 키k1 XOR – 키k2 DES – 키 k3 XOR -> k1 / k3을 0으로 Setting 하면 기존의 Single DES와 동일한 효과
3. AES 1) 공모 조건 -> 공개검증, 3DES보다 빠를 것, HW/SW모두 구현 가능할 것, 128bit 블록암호방식을 사용 할 것, 128/192/256bit 가변 키 길이를 지원할 것 2) AES 후보 -> MARS(IBM) : 32라운드, DES 기반 -> RC6(RSA) : 20라운드, 수정된 RC5 기반 -> Twofish : 16라운드, Blowfish 기반 -> Serpent : 32라운드, SPN 방식 -> Rijndael(최종) : 10라운드, SPN방식, Square알고리즘 기반 3) SPN구조 : (초기 입력 값을 통째로 환자처리 -> 전치처리) * n 반복 -> 장점 : 빠르고 모든 플랫폼에서 구현 가능한 장점

4. 블록 암호의 운영모드
      -> 서로 순서가 뒤바뀌거나 누락되는 문제에 대비
      -> IV : 최초의 평문블록을 암호화 할 때 1단계 앞의 암호문블록을 대신 할 bit열.
         비밀키와 마찬가지로 송신자와 수신자 간에 미리 약속되어 있어야 하지만 공개된 값을
         사용해도 무방함.
   1) ECB(Electronic CodeBook)
      -> 가장 단순한 방식으로 각 블록을 독립적으로 암 복호화. 이 방식은 동일한 평문 블록은 
         동일한 암호문을 생성하므로 안전하지 않고 각각의 블록들은 개별적으로 존재하므로 블록이 
         바뀌거나 누락되면 메시지를 받는 사람은 확인할 방법이 없다는 단점이 있음.
   2) CBC(Cipher Block Chaining)
      -> 이전 블록의 암호문과 현재의 평문 블록을 XOR한 후 그 결과를 암호화하여 암호문을 생성. 
         맨 처음 블록은 초기값 IV와 XOR하여 사용하며 이때 사용하는 IV는 비밀일 필요는 없지만 
         송수신자가 같은 IV를 사용해야만 올바른 결과를 얻을 수 있다. 단점으로는 현재의 블록이 
         다음의 블록에 영향을 미치므로 블록의 순서가 바뀌거나 오류가 생기면 복호화가 제대로 
         이루어지지 않음. (가장 널리 활용되는 Mode)

   3) OFB(Output FeedBack)
      -> IV를 암호화하고 그 값을 다시 암호화하는 과정을 반복함으로써 생성된 수열과 평문 수열을
         XOR하여 암호문을 생성하는 방식. 주로 블록암호 시스템을 스트림 암호 시스템처럼 사용하고자
         할 때 이용됨. 암호문의 오류는 복호화 과정에서 대응 되는 한 블록에만 영향을 미침. 
         복호화 할 때 IV가 다르면 전혀 다른 평문이 되므로 반드시 초기값을 같게 해야함.

   4) CFB(Cipher FeedBack)
      -> IV를 암호화한 값과 평문 블럭을 XOR 하여 암호문 블럭을 생성하고 그 암호문을 초기치로 
         하여 다시 암호화한 값과 평문 블록을 XOR하여 암호문블록을 반복하여 생성하는 방식. 
         암호화에서는 특정 입력이 이후로 영향을 미치지만, 복호화에서는 특정 암호문의 오류가 
         계속적으로 이후에 영향을 미치지 않는다는 특징이 있음.


반응형