반응형

3DES(TripleDES)는 DES를 3번연속시킨 DES를 보완한 알고리즘인데,
DES는 Key가 8byte인 반면에 3DES는 3번이므로 24byte가 필요하며,
DESede, eee.. 이런 것은
3DES 종류 중 하나로, DES를 3번할때, Encrypt, Decrypt의 철자를 따서
순서를 말하는 것이다.

Iv는 그럼 머냐?
mode에는 ECB, CBC... 가 있는데,
ECB Mode는 원본데이터를 8byte 단위로 쪼개어 암호화하며,
데이터의 일부라도 8byte로 쪼개어 해석이 가능합니다.
하지만 CBC모드는 8byte 단위로 암호화 한 데이터가 그 다음 8byte 암호화에도
적용이 되어 상호연관관계에 의한 원본 데이터의 중간 어느 부분만 따로
해석이 불가능한 구조입니다. 그러니까 총 16byte를 암호화 하는 것이죠.

그런데 첫번째 8byte는 같이 엮을 데이터가 없기 때문에, 초기벡터를 주고자
이 때 Iv 8byte가 들어가는 것입니다.



1. ECB (Electronic Code Block) Mode
- 가장 단순한 모드로 블록단위로 순차적으로 암호화 하는 구조이다.
- 한개의 블록만 해독되면 나머지 블록도 해독이 되는 단점이 있다. (Brute-Force Arttack, Dictionary Attack)
- 암호문이 블록의 배수가 되기 때문에 복호화 후 평문을 알기 위해서 Padding을 해야한다.
- error propagation : 각 블록이 독립적으로 동작하므로 한블록에서 에러가 난다고 해도 다른 블록에 영향을 주지 않는다. 해당 블록까지 에러 전파



2. CBC(Cipher Block Chaining) Mode
- 블록 암호화 운영 모드 중 보안 성이 제일 높은 암호화 방법으로 가장 많이 사용된다.
- 평문의 각 블록은 XOR연산을 통해 이전 암호문과 연산되고 첫번째 암호문에 대해서는 IV(Initial Vector)가 암호문 대신 사용된다. 이 때, IV는 제 2의 키가 될수 있다.
- 암호문이 블록의 배수가 되기 때문에 복호화 후 평문을 얻기 위해서 Padding을 해야만 한다.
- 암호화가 병렬처리가 아닌 순차적으로 수행되어야 한다. (단점이죵~)
- error propagation : 깨진 암호문의 해당블록과 다음블록의 평문까지 영향을 미치게 됩니다. 두번째 복호화 그림을 보고 Ciphertext가 깨졌을 때를 생각해보시면 이해가 되실꺼에요~


(출처 : http://blog.daum.net/_blog/BlogTypeView.do?blogid=0Z2do&articleno=2&categoryId=2&regdt=20110616090040#ajax_history_home)

반응형
Posted by Rainfly
l