트리플 DES
Triple DES일반 | |
---|---|
초판 | 1981 |
유래 | DES |
암호 상세 | |
키 사이즈 | 112 또는 168비트 |
블록 크기 | 64비트 |
구조. | 파이스텔 네트워크 |
라운드 | 48 DES 상당 라운드 |
최고의 퍼블릭 암호 분석 | |
행운: 알려진32 2개의 평문113, 2개의 DES 암호화88, 2개의 메모리를 포함한90 2개의 조작, Biham: 키당 몇 개의 평문 선택과84 2개의 암호화로 2개의 타깃 키 중 하나를28 찾습니다. |
암호학에서 Triple DES(3DES 또는 TDES)는 공식적으로 Triple Data Encryption Algorithm(TDEA 또는 Triple DEA)이라는 대칭키 블록 암호로 각 데이터 블록에 DES 암호 알고리즘을 3회 적용합니다.Data Encryption Standard(DES; 데이터 암호화 표준)의 56비트 키는 최신 암호 분석 기술과 슈퍼 컴퓨팅 능력 앞에서 더 이상 적절하지 않습니다.2016년에 출시된 CVE, CVE-2016-2183에서는 DES 및 3DES 암호화 알고리즘의 주요 보안 취약성이 공개되었습니다.이 CVE는 DES 및 3DES의 부적절한 키 크기와 함께 NIST는 2017년 신규 애플리케이션 및 2023년까지 모든 애플리케이션에 대해 DES 및 3DES를 권장하지 않습니다.보다 안전하고 견고한 AES로 대체되었습니다.
정부 및 업계 표준에서는 알고리즘의 이름을 TDES(Triple DES) 및 TDEA(Triple Data Encryption Algorithm)[1]로 약칭하고 있지만 RFC 1851에서는 아이디어를 처음 발표한 시점부터 3DES로 표기하고 있으며 이후 대부분의 벤더, 사용자 및 [2][3][4][5]암호학자에 의해 널리 사용되고 있습니다.
역사
1978년, Walter Tuchman에 의해 56비트 키 2개를 가진 DES를 사용하는 트리플 암호화 방식이 제안되었습니다. 1981년 Merkle과 Hellman은 112비트의 [6]보안을 갖춘 보다 안전한 3DES 버전을 제안했습니다.
표준
트리플 데이터 암호화 알고리즘은 다음과 같은 표준 문서에서 다양하게 정의되어 있습니다.
- RFC 1851 ESP 트리플 DES[7] 트랜스폼(1995년 승인)
- ANSI ANS X9.52-1998 트리플 데이터 암호화 알고리즘 동작[8] 모드(1998년 승인, 2008년 철회[9])
- FIPS PUB 46-3 Data Encryption Standard(DES;[10] 데이터 암호화 규격)(1999년 승인, 2005년[11] 철회)
- NIST TDEA(Triple Data Encryption Algorithm) 블록 암호에 대한 NIST 특별[12] 간행물 800-67 개정 2 권고(2017년 승인)
- ISO/IEC 18033-3:2010: 제3부: 블록 암호[13] (2005년 승인)
알고리즘.
원래 DES 암호의 키 크기인 56비트는 이 알고리즘이 설계되었을 때 일반적으로 충분했지만, 연산 능력의 증가로 인해 무차별 공격도 가능했습니다.트리플 DES는 완전히 새로운 블록 암호 알고리즘을 설계할 필요 없이 이러한 공격으로부터 보호하기 위해 DES의 키 크기를 늘리는 비교적 간단한 방법을 제공합니다.
짧은 키 길이(DES 등)로 블록 암호화 알고리즘의 강도를 높이기 위한 간단한 접근법은 1개가 아닌 2개의 키1,2)를하여 각 블록을 2회 암호화하는 것입니다. K ( 1 ( ) 원래 키 길이가 비트인 경우 이 스킴은 비트를 사용하는 것과 동등한 보안을 제공합니다.유감스럽게도 이 접근법은 중간자와의 만남 공격에 취약합니다.의 평문쌍,) { ) { displaystyle _ { ( x ) { y _ { } ( { } ( x ) { displaystyle } ) 、 1 、 、 1 、 、 、 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 、 1。}단계는 })의 스텝이 아니라 2n)의 키를 가진 인 보안 에서 기대할 수 있습니다
따라서 Triple DES는 패리티 비트 제외), K2 K3의 3개의 DES 키로 구성된 "키 번들"을 사용합니다.암호화 알고리즘은 다음과 같습니다.
즉, DES는 K1로 암호화하고 DES는 K2로 복호화하며 DES는 K3로 암호화합니다.
복호화는 그 반대입니다.
즉, K3로 복호화하고 K2로 복호화한 다음 K1로 복호화합니다.
각 3중 암호화는 64비트의 데이터를 1블록씩 암호화합니다.
두 경우 모두 중간 연산은 처음과 마지막의 역연산이 됩니다.이것에 의해, 키 입력 옵션2 를 사용할 때의 알고리즘의 강도가 향상해, 키 입력 옵션3과의 DES와의 하위 호환성이 실현됩니다.
키 입력 옵션
표준에서는 다음 3가지 키잉옵션을 정의합니다.
- 키 입력 옵션 1
- 3개의 키는 모두 독립적입니다.3TDEA[14] 또는 트리플렝스 [15]키라고도 합니다.
- 이것은 3 × 56 = 168의 독립 키 비트로 가장 강력합니다.중간자와의 만남 공격에 여전히 취약하지만 공격에는 두 가지 단계가2 × 56 필요합니다.
- 키 입력 옵션 2
- K와12 K는 독립적이며3 K = K1. 2TDEA[14] 또는 이중 길이 [15]키라고도 합니다.
- 이로 인해 키 길이가 112비트로 짧아지고 DES 옵션1과 키잉 옵션1이 합리적으로 타협할 수 있게 됩니다.[16]상기와 같은 주의사항이 있습니다.이는 공격에 2단계만 필요한56 "double DES"에 비해 개선된 것입니다.NIST는 이 [14]옵션을 권장하지 않습니다.
- 키 입력 옵션 3
- K = K2 = K3 = K 등1 3개의 키는 모두 동일합니다.
- 이것은, 2개의 조작이 취소되기 때문에, DES 와의 하위 호환성이 있습니다.ISO/IEC 18033-3은 이 옵션을 허용하지 않았으며, NIST는 더 이상 K = K2 또는2 K =[14][12] K를3 허용하지1 않습니다.
각 DES 키는 8개의 홀수 패리티 바이트로, 56비트의 키와 8비트의 [8]오류 검출이 포함됩니다.키 번들에는 옵션1의 경우 24바이트, 옵션2의 경우 16바이트, 옵션3의 경우 8바이트가 필요합니다.
또한 NIST(및 Trusted Platform Module에 대해 승인된 알고리즘의 현재 TCG 사양 버전 2.0)에서는 64비트 이후의 값 중 하나를 모든 키에 사용할 수 없습니다(이 중 32개는 다른 32개의 바이너리 보완 키입니다.또, 이 중 32개는 다른 32개의 바이트의 역순열입니다).xadecimal (각 바이트에서 최하위 비트는 홀수 비트 생성 비트입니다.유효한 56비트키를 형성하면 폐기됩니다)
01.01.01.01.01.01.01, FE.FE.FE.FE.FE.FE.FE.FE.FE.FE, E0.FEFE.E0.F1.FE.F1, 1F.01.01.1F.0E.01.0E, 01.01.FE.01.01.FE, FEFE.01.01.FE.01.01, E0.FE.01.1F.F1.FE.01.0E, 1F.01.FE.E0.0E.01FE.F1, 01.01E0.E0.01.01.F1.F1, FEFE.1F.1FFE.FE.0E, E0.FE.1F.01.F1.FE.0E.01, 1F.01.E0.FE.0E.01.F1.FE, 01.01.1F1F.01.0E.0E, FEFE.E0.E0.E0.FE.F1F1, E0.FEE0.FE.F1.FE.F1.FE, 1F.01.1F.01.0E.01E.01, 01.FE.01.FE.01.FE.01.FE, FE.01.FE.01.FE.01.FE.01, E0.01FE.1F.F1.01.FE.0E, 1FFE.01.E0.0EFE.01.F1, 01.FE.01.01.FE.01, FE.01.01FE.01.01.FE, E0.01.01.E0.F1.01.01.F1, 1F.FEFE.1F.0EFE.0E, 01FE.E0.1F.01.FE.F1.0E, FE.01.1FE0.FE.01.0EF1, E0.011FE.F1.01.0EFE, 1F.FE.E0.01.0EFE.F1.01, 01FE.1F.E0.01.FE.0E.F1, FE.01E0.1F.FE.01.F1.0E, E0.01E0.01.F1.01.F1.01, 1FFE.1FE.0EFE.0E.FE, 01E0.01.E0.01.F1.01.F1, FE.1FFE.1FE.0EFE.0E, E0.1FFE.01.F1.0EFE.01, 1FE0.01.FE.0EF1.01.FE, 01.E0.FE.1F.01.F1.FE.0E, FE.1F.01.E0.FE.0E.01.F1, E0.1F.01.FE.F1.0E.01.FE, 1F.E0.FE.01.0E.F1.FE.01, 01.E0.E0.01.01.F1.F1.01, FE.1F.1FFE.0E.0EFE, E0.1F1F.E0.F10E.0E.F1, 1FE0.E0.1F.0EF1.F1.0E, 01.E0.1F.FE.01.F1.0E.FE, FE.1FE0.01.FE.0EF1.01, E0.1FE0.1F.F1.0EF1.0E, 1FE0.1F.E0.0EF1.0E.F1, 01.1F.01.0E.01E, FEE0.FE.E0.FE1.FEF1, E0.E0.FE.F1F1.FE.FE, 1F.1F.01.01.0E.0E.01.01, 01.1FFE0.01.0EFE.F1, FEE0.01.1FFE.F1.01.0E, E0.E0.01.01.F1.F1.01.01, 1F.1FFE.0E.0EFE, 01.1FE0.FE.01.0EF1.FE, FEE0.1F.01.FE.F1.0E.01, E0.E0.1F.1FF1.F1.0E.0E, 1F.1FE0.E0.0E.0EF1.F1, 01.1F1F.01.0E.0E.01, FE.E0.E0.FEFE.F1.F1.F1.FE, E0.E0.E0.E0.F1.F1.F1.F1, 1F.1F.1F1F.0E.0E.0E,
허용된 키에 대한 이러한 제한으로 Triple DES는 키 입력 옵션1과 키 입력 옵션2만으로 재승인되었습니다.일반적으로 3개의 키는 강력한 랜덤 생성기에서24바이트를 취득하여 생성되며 키 입력 옵션1만 사용해야 합니다(옵션2는 16개의 랜덤바이트만 필요하지만 강력한 랜덤 생성기는 단언하기 어렵고 옵션1만 사용하는 것이 베스트 프랙티스로 간주됩니다).
여러 블록 암호화
모든 블록 암호와 마찬가지로, 여러 블록의 데이터 암호화 및 복호화는 일반적으로 블록 암호 알고리즘과는 독립적으로 정의될 수 있는 다양한 동작 모드를 사용하여 수행할 수 있습니다.그러나 ANS X9.52에는 직접 명시되어 있으며, NIST SP 800-67에는[17] SP 800-38A를 통해 일부 모드는 해당 모드의 일반 사양에 적용되지 않는 특정 제약 조건에서만 사용되어야 한다고 명시되어 있습니다.예를 들어 ANS X9.52는 암호 블록 체인의 경우 초기화 벡터는 매번 달라야 하지만 ISO/IEC 10116은[18] 달라야 한다고 규정하고 있습니다.FIPS PUB 46-3 및 ISO/IEC 18033-3에서는 단일 블록 알고리즘만 정의하고 여러 블록의 동작 모드에는 제한을 두지 않습니다.
보안.
일반적으로 3개의 독립된 키(키옵션 1)를 가진 트리플 DES의 키 길이는 168비트(3개의 56비트 DES 키)이지만, 미트인더미들 공격에 의해 유효한 보안은 112비트밖에 [14]되지 않습니다.키 입력 옵션2는 유효 키 크기를 112비트로 줄입니다(세 번째 키가 첫 번째 키와 같기 때문입니다).단, 이 옵션은 특정 선택 플레인텍스트 또는 기존 플레인텍스트 [19][20]공격에 취약하기 때문에 NIST에 의해 보안은 [14]80비트만 사용하도록 지정되어 있습니다.이는 안전하지 않은 것으로 간주될 수 있으며, 그 결과 2017년 [21]NIST에 의해 트리플 DES가 폐지되었다.
블록 사이즈가 64비트로 짧기 때문에 3DES가 같은 키로 대량의 데이터를 암호화하는 데 사용될 경우 블록 충돌 공격에 취약해집니다.Sweet32 공격은 TLS 및 OpenVPN에서 [22]이를 어떻게 이용할 수 있는지를 보여줍니다.TLS에서 3DES 기반의 암호 스위트32를 공격하려면 전체 공격에 의 366 (이 했지만 연구자들은 불과 25분밖에 걸리지 않은 약 의 직후에 충돌할 수 있었습니다.
TDEA의 보안은 1개의 키번들로 처리되는 블록 수에 영향을 받습니다.({ 2 의 64비트 데이터 블록을 암호화하기 위해 하나의 키 번들을 사용할 수 없습니다.
--
OpenSSL은 버전 1.1.0(2016년 8월) 이후 기본적으로 3DES를 포함하지 않으며 "취약 암호"[23]로 간주합니다.
사용.
전자결제업계는 Triple DES를 사용하고 있으며 EMV 등 [24]이를 기반으로 한 표준을 개발 및 공표하고 있다.
이전 버전의 Microsoft OneNote,[25] Microsoft Outlook[26] 2007 및 Microsoft System Center Configuration Manager[27] 2012는 트리플 DES를 사용하여 사용자 콘텐츠 및 시스템 데이터를 비밀번호로 보호합니다.그러나 2018년 12월 마이크로소프트는 Office 365 서비스를 [28]통해 3DES의 폐기를 발표했습니다.
Firefox 및 Mozilla[29] Thunderbird는 마스터 비밀번호를 사용할 때 CBC 모드에서 Triple DES를 사용하여 웹 사이트 인증 로그인 자격 정보를 암호화합니다.
실장
다음은 Triple DES를 지원하는 암호화 라이브러리 목록입니다.
위의 일부 구현에서는 기본 빌드에 3DES가 포함되어 있지 않거나 최신 버전이 포함되어 있을 수 있습니다.
「 」를 참조해 주세요.
- DES-X
- Advanced Encryption Standard(Advanced Encryption Standard)
- 파이스텔 암호
- 월터 터치먼
레퍼런스 및 메모
- ^ "Triple DES Encryption". IBM. Retrieved 2010-05-17.
- ^ Alanazi, Hamdan. O.; Zaidan, B. B.; Zaidan, A. A.; Jalab, Hamid A.; Shabbir, M.; Al-Nabhani, Y. (March 2010). "New Comparative Study Between DES, 3DES and AES within Nine Factors". Journal of Computing. 2 (3). arXiv:1003.4085. Bibcode:2010arXiv1003.4085A. ISSN 2151-9617.
- ^ "Cisco PIX 515E Security Appliance Getting Started Guide: Obtaining a DES License or a 3DES-AES License" (PDF). Cisco. 2006. Retrieved 2017-09-05.
- ^ "3DES Update: Most Banks Are Done, But..." ATM & Debit News. 2007-03-29. Archived from the original on 2013-05-10. Retrieved 2017-09-05.
- ^ RFC 2828 및 RFC 4949
- ^ Merkle, R., M.Hellman, "복수 암호화의 보안에 대하여", ACM 통신, vol. 24, no. 7, 페이지 465-467, 1981년 7월.
- ^ Karn, P.; Metzger, P.; Simpson, W. (September 1995). The ESP Triple DES Transform. doi:10.17487/RFC1851. RFC 1851.
- ^ a b "ANSI X9.52-1998 Triple Data Encryption Algorithm Modes of Operation". Retrieved 2017-09-05. ANSI X3.92-1981 데이터 암호화 알고리즘을 확장합니다.
- ^ "ANSI Standards Action" (PDF). Vol. 39, no. 46. ANSI. 2008-11-14. Retrieved 2017-09-05.
{{cite magazine}}
:Cite 매거진의 요건magazine=
(도움말) - ^ "FIPS PUB 46-3: Data Encryption Standard (DES)" (PDF). United States Department of Commerce. Oct 25, 1999. Retrieved 2017-09-05.
- ^ "Announcing Approval of the Withdrawal of Federal Information Processing Standard (FIPS) 46–3..." (PDF). Federal Register. 70 (96). 2005-05-19. Retrieved 2017-09-05.
- ^ a b c Barker, Elaine; Mouha, Nicky (November 2017). "NIST Special Publication 800-67 Revision 2: Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher". NIST. doi:10.6028/NIST.SP.800-67r2.
{{cite journal}}
:Cite 저널 요구 사항journal=
(도움말) - ^ "ISO/IEC 18033-3:2010 Information technology -- Security techniques -- Encryption algorithms -- Part 3: Block ciphers". ISO. December 2010. Retrieved 2017-09-05.
- ^ a b c d e f Barker, Elaine (January 2016). "NIST Special Publication 800-57: Recommendation for Key Management Part 1: General" (PDF) (4 ed.). NIST. Retrieved 2017-09-05.
- ^ a b "The Cryptography Guide: Triple DES". Cryptography World. Archived from the original on 2017-03-12. Retrieved 2017-09-05.
- ^ Katz, Jonathan; Lindell, Yehuda (2015). Introduction to Modern Cryptography. Chapman and Hall/CRC. p. 223. ISBN 9781466570269.
- ^ NIST 특별 간행물 800-38A, 블록 암호 모드 운영, 방법 및 기법에 대한 권장사항, 2001년판(PDF)
- ^ "ISO/IEC 10116:2006 Information technology -- Security techniques -- Modes of operation for an n-bit block cipher" (3 ed.). February 2006. Retrieved 2017-09-05.
- ^ Merkle, Ralph; Hellman, Martin (July 1981). "On the Security of Multiple Encryption" (PDF). Communications of the ACM. 24 (7): 465–467. CiteSeerX 10.1.1.164.251. doi:10.1145/358699.358718. S2CID 11583508.
- ^ van Oorschot, Paul; Wiener, Michael J. (1990). A known-plaintext attack on two-key triple encryption. EUROCRYPT'90, LNCS 473. pp. 318–325. CiteSeerX 10.1.1.66.6575.
- ^ "Update to Current Use and Deprecation of TDEA". nist.gov. 11 July 2017. Retrieved 2 August 2019.
- ^ "Sweet32: Birthday attacks on 64-bit block ciphers in TLS and OpenVPN". sweet32.info. Retrieved 2017-09-05.
- ^ Salz, Rich (2016-08-24). "The SWEET32 Issue, CVE-2016-2183". OpenSSL. Retrieved 2017-09-05.
- ^ "Annex B Approved Cryptographic Algorithms – B1.1 Data Encryption Standard (DES)". EMV 4.2: Book 2 – Security and Key Management (4.2 ed.). EMVCo. June 2008. p. 137.
The double-length key triple DES encipherment algorithm (see ISO/IEC 18033-3) is the approved cryptographic algorithm to be used in the encipherment and MAC mechanisms specified in Annex A1. The algorithm is based on the (single) DES algorithm standardised in ISO 16609.
- ^ Daniel Escapa의 OneNote 블로그, Encryption for Password Protected Sections, 2006년 11월
- ^ "Encrypt e-mail messages – Outlook – Microsoft Office Online". office.microsoft.com. Archived from the original on 2008-12-25.
Applies to: Microsoft Office Outlook 2007
- ^ Microsoft TechNet 제품 매뉴얼, Technical Reference for Cryptographic Controls Used in Configuration Manager, 2012년 10월
- ^ https://portal.office.com/AdminPortal/home?switchtomodern=true#/MessageCenter?id=MC171089
- ^ Mozilla NSS 소스 코드.배경 정보는 디렉토리 구조(특히 "개론" 및 "보안" 섹션)의 설명을 참조하십시오.