본문 바로가기

Crypto

3(Triple)-DES [Crypto]

3DES를 시작하기 전에 2DES부터 설명합니다.

- 2DES

하드웨어와 소프트웨어가 점점 발전하면서 처리속도는 매우 빨라지게 됩니다. 그로인해 안전하다고 생각했던 DES는 점점 해독시간이 짧아지게 되고 DES암호를 대체할 여러 암호화 시스템을 발표하였지만 힘든상황이였습니다. 그 때 'DES암호를 연속으로 2번한다면 해독시간이 두배로 늘어나지 않을까?' 라는 생각을 하게되고 2DES를 만들게 됩니다. 2DES는 이름 그대로 DES암호화를 2번 하는 방식입니다. 서로 다른 키로 중복하여 암호화할 경우 안전성이 높아질 것이라는 의견을 제시했습니다. 암호해독자는 최악의 경우 2^56+56 = 2^112번 시도해야할 것으로 예상한 것입니다.

EK1                        ▶ EK2                      M

그러나 1997년, Diffie와 Hellman은 Meet-In-The-Middle Attack 기법을 제시하게 됩니다. 공격자는 충분한 메모리 공간을 갖고 있다고 가정하고 해당 공격을 진행할 경우 2^112이 아닌 2^56+1에 불과함을 증명하게 됩니다.


-3DES

2DES는 실패로 돌아갔지만 DES암호를 3번했을 때는 결과가 달랐습니다. 최대 2^112의 효과를 내게 되어 대략 2030년 까지 사용할만한 암호가 되었습니다. 이렇게 까지 DES에 매달리는 이유는 1980년대 DES장비를 갖고있는 사람이 많았고 그러한 상황에서 다른 암호화 장비로 교체하는 것은 비용이 너무 많이 들었기 때문에 3DES를 이용한 DES와의 호환성, 즉 서로 통신이 가능하게 하기위해 사용했습니다. 3DES는 DES연산을 3회 반복하는 것이지만 3회를 전부 암호화를 하는 것이 아닌 암호화 과정시 '암호화 > 복호화 > 암호화'를 진행하고 복호화 시 '복호화 > 암호화 > 복호화'를 진행합니다.

M            ▶ EK1          DK2          EK3          C
C            DK1          EK2          DK3          M

- 이러한 3DES는 3가지 모드가 있습니다.

1. K1 ≠ K2 ≠ K3 : 64 * 3 = 192비트의 키를 사용하는 경우 → 168비트의 키의 효과 (사실상 112비트)  ▶  가장안전

2. K1 = K3 ≠ K2 : 64 * 2 = 128비트의 키를 사용하는 경우 → 112비트의 키의 효과 (사실상 80비트)

★ K1 K2 의 경우를 사용하지 않는 이유는 Meet-In-The-Middle Attack에 취약하기 때문입니다.

3. K1 = K2 = K3 : 64 * 1 = 64비트의 키를 사용하는 경우 56비트의 키의 효과

★ 기존 DES와 동일한 결과가 나옵니다. (기존 DES와 호환성을 위해 사용)

 

- 위의 3가지 모드 중 1번의 안전성은 2^32개의 평문-암호문 쌍, 2^113 단계의 연산, 2^90번의 DES 암호화, 2^88개의 메모리를 필요로 합니다.

반응형

'Crypto' 카테고리의 다른 글

공개키 암호시스템 [Crypto]  (0) 2020.03.14
비밀키 암호시스템 MOO(Modes Of Operation)  (0) 2020.03.09
DES의 특성 [Crypto]  (0) 2020.03.01
DES 암호 [Crypto]  (0) 2020.02.28
암호의 해독 [Crypto]  (0) 2020.02.23