반응형
DES
- AES를 사용하기 전, NBS에서 국가 표준으로 지정한 56bit의 키와 8bit의 패리티로 구성된 64bit 블록 암호 알고리즘
- 70~80년대 당시엔 상당히 강력한 알고리즘이었고, AES가 표준화되기 전까지 세계적으로 널리 사용되었다.
- 1972년 NBS(National Bureau of Standards, 현 NIST)는 미국 정부 규모의 표준적인 암호 알고리즘을 개발하기로 하였고, 이에 IBM에서 1971년에 만든 Lucifer 암호 알고리즘을 제안하였다.
- 이후 NSA에서 Lucifer 암호 알고리즘을 수정하고 1 1975년 3월 17일에 DES를 발표하였다.
- 1979년에는 미국 NBS가 국가 표준 암호 알고리즘으로 지정되었다.
DES의 구조
DES 라운드 함수
DES 함수 F
- 라운드 함수에 사용된 $f(R_{i-1},K_i)$를 가리킨다.
- Expansion P-Box, Straight P-Box, S-Box * 8, K가 사용된다.
DES의 취약점
- 1997년 미국의 보안회사 RSA Security에서 DES Challenge라는 DES를 해독하는 대회를 열었다.
- 1998년 두 번째 DES Challenge에서 Electronic Frontier Foundation(EFF)에서 개발한 Deep Crack가 56시간 만에 DES를 해독하는 데 성공하였다. 이때, 대회의 상금은 10,000달러였지만, Deep Crack의 개발비만 250,000달러가 들어갔다,
- 1999년 세 번째 DES Challenge에서는 22시간 15분 만에 해독에 성공하였다.
- 2006년에는 $10,000만으로 COPACOBANA(Cost-Optimized Parallel COde Breaker)와 같은 강력한 장치가 개발되었다.
- 처리 속도가 월등히 빨라진 현재를 기준으로는 몇 시간 안에 해독이 가능하기 때문에 DES 암호화 의미가 없다.
3DES
- DES의 가장 큰 단점은 56bit의 짧은 키이다.
이 문제를 해결하기 위해 IBM은 새로운 블록 암호 알고리즘을 설계할 필요 없이 DES를 3중으로 적용하여 키 길이를 늘리는 비교적 간단한 방식을 제시했다. 4 5 - 암호화/복호화에 소요되는 시간이 약 3배 늘어나긴 했지만, DES가 널리 사용되고 있었기 때문에 비용적인 측면에서나 기술적인 측면에서나 유용한 해결책이었다.
- 현재는 보다 빠르고 강력한 AES가 미국 표준으로 승인되었기 때문에 3DES를 사용하지 않는다.
두 개의 키를 갖는 3DES
- 키 $k_1$와 키 $k_2$만을 사용하는 방식이다.
- 첫 번째와 세 번째 암호화 단계에서는 $k_1$을, 두 번째 복호화 단계에서는 $k_2$를 사용한다.
- Known-Plaintext attack에 대한 위험이 있다.
세 개의 키를 갖는 3DES
- 키 $k_1$, $k_2$, $k_3$ 총 세 개를 사용하는 방식이다.
- 3DES의 복호화는 암호화의 역이 된다.
- Lucifer/DES가 만들어질 당시에 민간 학계에 알려지지 않은 차분 공격 방식(differential cryptanalysis)에 루시퍼가 취약했기 때문에 NSA가 S-Box를 수정/보완하였다. 당시에는 취약한 공격을 감추기 위해 정확한 이유를 알리지 않았고 이 때문에 여러 루머가 돌아다니기도 하였다. [본문으로]
- 초기 전치(initial permutation)와 최종 전치(final permutation) [본문으로]
- 교환기는 명백히 역연산이 가능하다. [본문으로]
- 단순히 키를 늘리는 방식이라 할지라도 키 길이가 1비트만 늘어나면 무차별 공격에 필요한 대입 횟수는 2배로 늘어나기 때문에 키 길이를 늘리는 것은 효과적인 방법이다. [본문으로]
- 물론 3DES가 3중으로 적용돼 112~168bit의 키를 갖는다 할 지라도 현재는 '취약한 암호'로 간주된다. OpenSSL은 버전 1.1.0부터 3DES를 포함하지 않는다. [본문으로]
반응형
'공부 > 정보보안' 카테고리의 다른 글
블록 암호 운용 방식 (0) | 2019.08.06 |
---|---|
키 배송 문제(key distribution problem) (0) | 2019.08.04 |
P-Box, S-Box (0) | 2019.07.27 |
암호 해독/분석(Cryptanalysis) 공격 (0) | 2019.07.22 |
치환암호(Substitution Cipher), 전치암호(Transpostition Cipher) (0) | 2019.07.22 |
댓글