데이터 암호화 표준
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
데이터 암호화 표준(DES)은 1970년대 미국에서 개발된 블록 암호 알고리즘으로, 미국 정부의 컴퓨터 보안 표준으로 채택되었다. IBM의 루시퍼 암호를 기반으로, 미국 국가안보국(NSA)의 자문을 거쳐 설계되었으며, 56비트 키를 사용하여 64비트 블록을 암호화한다. DES는 무차별 대입 공격에 취약하다는 점이 밝혀지면서, 1990년대 후반부터 대체 알고리즘에 대한 연구가 진행되었고, 2002년 고급 암호화 표준(AES)으로 대체되었다.
더 읽어볼만한 페이지
- 데이터 암호화 표준 - 트리플 DES
트리플 DES는 DES의 보안 취약점을 보완하기 위해 개발된 블록 암호화 알고리즘으로, DES를 세 번 적용하여 112비트 또는 168비트의 유효 키 길이를 제공하지만, 보안 취약점과 낮은 효율성으로 AES로 대체되는 추세이다. - 데이터 암호화 표준 - 루시퍼 (암호)
루시퍼는 1970년대 초 IBM에서 개발된 대칭키 블록 암호의 초기 모델로, DES 개발의 기반이 되었고 128비트 키를 사용하여 강력한 암호로 평가받았으나 차분 공격에 취약한 SPN 구조를 지녔으며 대한민국 암호학 발전에 영향을 미쳤다. - 블록 암호 - 고급 암호화 표준
고급 암호화 표준(AES)은 미국 국립표준기술연구소에서 제정한 대칭 키 암호화 블록 암호 표준으로, 치환-순열 네트워크 구조에 기반하여 128비트 블록 크기와 다양한 키 크기를 지원하며, 빠른 속도와 효율성으로 널리 사용된다. - 블록 암호 - 트리플 DES
트리플 DES는 DES의 보안 취약점을 보완하기 위해 개발된 블록 암호화 알고리즘으로, DES를 세 번 적용하여 112비트 또는 168비트의 유효 키 길이를 제공하지만, 보안 취약점과 낮은 효율성으로 AES로 대체되는 추세이다.
데이터 암호화 표준 | |
---|---|
개요 | |
![]() | |
일반 정보 | |
이름 | 데이터 암호화 표준 |
영어 이름 | Data Encryption Standard |
약칭 | DES (디이에스) DEA (데이터 암호화 알고리즘) |
상세 정보 | |
설계자 | IBM |
발표일 | 1975년 (관보), 1977년 1월 표준화 |
기반 | 루시퍼 |
파생 | 트리플 DES G-DES DES-X LOKI89 ICE |
키 크기 | 56비트 (+8 패리티 비트) |
블록 크기 | 64비트 |
구조 | 균형형 파이스텔 구조 |
라운드 수 | 16 |
암호 해독 | DES는 무차별 대입 공격의 용이성 때문에 처음부터 안전하지 않은 것으로 간주되었다. 이러한 공격은 실제로 시연되었으며 (EFF DES 크래커 참조) 현재는 서비스로 제공되고 있다. 2008년 현재 최상의 분석 공격은 선형 해독법이며, 이는 243개의 기지 평문을 필요로 하며 시간 복잡도는 239–43 (Junod, 2001)이다. 선택 평문을 전제로 하면 데이터 계산량은 4분의 1로 줄어들 수 있다 (Knudsen and Mathiassen, 2000). |
2. 역사
1972년 미국 NBS (National Bureau of Standards, 오늘날의 NIST)는 암호 기술의 필요성을 인식하고 미국 정부 차원의 표준 암호 알고리즘을 개발하기로 했다. 1974년 8월 27일, IBM에서 루시퍼 암호 알고리즘을 제안했고, 이를 수정하여 1975년 3월 17일에 DES를 발표했다.[2]
같은 시기, 엔지니어 모하메드 아탈라는 1972년에 아탈라 코퍼레이션을 설립하고 최초의 하드웨어 보안 모듈(HSM)인 "아탈라 박스"를 개발, 1973년에 상용화했다. 은행과 신용 카드 회사는 아탈라가 시장을 장악할 것을 우려했고, 이는 국제 암호화 표준 개발을 촉진했다.[3] 아탈라는 은행 시장에서 IBM의 초기 경쟁자였으며, DES 표준을 연구한 IBM 직원들에게 영향을 미친 것으로 알려졌다.[4]
1973년 5월 15일, NSA와 협의한 후 NBS는 암호에 대한 제안을 요청했지만, 적합한 것은 없었다. 1974년 8월 27일에 두 번째 요청이 발행되었고, IBM이 호르스트 파이젤의 루시퍼 암호를 기반으로 개발한 암호를 제안했는데, 이는 허용 가능한 것으로 간주되었다. IBM의 암호 설계 및 분석에 참여한 팀에는 파이젤, 월터 터크먼, 돈 코퍼스미스, 앨런 콘하임, 칼 마이어, 마이크 마티아스, 로이 애들러, 에드나 그로스먼, 빌 노츠, 린 스미스, 그리고 브라이언트 터커먼이 포함되었다.
1975년 3월 17일, DES는 ''연방 관보''에 게재되었고, 공개 의견을 요청했다. 공개 키 암호화의 선구자들인 마틴 헬만과 휘트필드 디피는 키 길이가 짧고, "S-box"가 NSA의 부적절한 간섭의 증거라고 비판했다.[6] 미국 상원 정보 특별 위원회는 NSA의 조치를 검토하여, NSA가 IBM에게 축소된 키 크기가 충분하다고 설득했고, S-box 구조 개발에 간접적으로 도움을 주었으며, 최종 DES 알고리즘이 통계적 또는 수학적 약점이 없다고 인증했다고 밝혔다.[9] 그러나 NSA는 알고리즘 설계에 관여하지 않았다고 밝혔다.[10]
S-box에 대한 의혹은 1990년 엘리 비함과 아디 샤미르가 차분 공격을 독자적으로 발견하고 공개하면서 해소되었다. DES의 S-box는 무작위로 선택되었을 경우보다 공격에 훨씬 더 강했으며, 이는 IBM이 1970년대에 이 기술을 알고 있었음을 시사했다.
DES는 1976년 11월 연방 표준으로 승인되었으며, 1977년 1월 15일 FIPS PUB 46으로 게시되었다. 이후 1983년, 1988년(FIPS-46-1), 1993년(FIPS-46-2), 1999년(FIPS-46-3)에 재확인되었으며, 마지막 버전은 트리플 DES를 규정했다. 2002년 5월 26일, 공개 경쟁을 거쳐 고급 암호화 표준(AES)으로 대체되었다. 2005년 5월 19일, FIPS 46-3이 공식적으로 철회되었지만, NIST는 트리플 DES를 2030년까지 승인했다.[18]
DES 도입은 암호학의 학문적 연구에 촉매 역할을 했다.
날짜 | 사건 |
---|---|
1973년 5월 15일 | NBS, 표준 암호화 알고리즘에 대한 첫 번째 요청 발표 |
1974년 8월 27일 | NBS, 암호화 알고리즘에 대한 두 번째 요청 발표 |
1975년 3월 17일 | DES, 의견 수렴을 위해 연방 관보에 게재 |
1976년 8월 | DES에 대한 첫 번째 워크숍 개최 |
1976년 9월 | DES의 수학적 기초에 대한 두 번째 워크숍 개최 |
1976년 11월 | DES, 표준으로 승인 |
1977년 1월 15일 | DES, FIPS 표준 FIPS PUB 46으로 게시 |
1983년 | DES, 처음으로 재확인 |
1988년 1월 22일 | DES, FIPS 46-1으로 두 번째 재확인 (FIPS PUB 46 대체) |
1993년 12월 30일 | DES, FIPS 46-2로 세 번째 재확인 |
1999년 10월 25일 | DES, FIPS 46-3으로 네 번째 재확인 (레거시 시스템에서만 단일 DES 허용, 트리플 DES 사용 선호) |
2001년 11월 26일 | AES, FIPS 197에 게시 |
2002년 5월 26일 | AES 효력 발생 |
2004년 7월 26일 | FIPS 46-3 (및 관련 표준) 철회 제안 (연방 관보에 게재)[23] |
2005년 5월 19일 | NIST, FIPS 46-3 철회[77] |
2. 1. 개발 배경 및 초기 역사
1972년 미국 NBS (National Bureau of Standards, 오늘날의 NIST)는 암호 기술의 필요성을 인식하고 미국 정부 차원의 표준 암호 알고리즘을 개발하기로 했다.[2][62]같은 시기에 엔지니어 모하메드 아탈라는 1972년에 아탈라 코퍼레이션을 설립하고 최초의 하드웨어 보안 모듈(HSM)인 "아탈라 박스"를 개발했다. 이 장치는 1973년에 상용화되었으며, 안전한 PIN 생성 키로 오프라인 장치를 보호하여 상업적으로 성공을 거두었다. 은행과 신용 카드 회사는 아탈라가 시장을 장악할 것을 우려했고, 이는 국제 암호화 표준 개발을 촉진했다.[3] 아탈라는 은행 시장에서 IBM의 초기 경쟁자였으며, DES 표준을 연구한 IBM 직원들에게 영향을 미친 것으로 알려졌다.[4] 이후 IBM 3624는 아탈라 시스템과 유사한 PIN 검증 시스템을 채택했다.[5]
1973년 5월 15일, NSA와 협의한 후 NBS는 엄격한 설계 기준을 충족하는 암호에 대한 제안을 요청했지만, 제출된 제안 중 적합한 것은 없었다. 1974년 8월 27일에 두 번째 요청이 발행되었고, IBM이 호르스트 파이젤의 루시퍼 암호를 기반으로 개발한 암호를 제안했는데, 이는 허용 가능한 것으로 간주되었다. IBM의 암호 설계 및 분석에 참여한 팀에는 파이젤, 월터 터크먼, 돈 코퍼스미스, 앨런 콘하임, 칼 마이어, 마이크 마티아스, 로이 애들러, 에드나 그로스먼, 빌 노츠, 린 스미스, 그리고 브라이언트 터커먼이 포함되었다.
루시퍼와 DES는 호르스트 파이스텔 등이 고안한 파이스텔 구조를 가지고 있으며, 이는 이후의 공통 키 암호 연구에 큰 영향을 미쳤다.
2. 2. NSA의 설계 관여 논란
NSA가 데이터 암호화 표준(DES) 설계에 관여했다는 의혹은 1975년 DES가 연방 관보에 게재된 직후부터 제기되었다. 공개 키 암호화의 선구자인 마틴 헬만과 휘트필드 디피는 짧아진 키 길이와 'S-box'에 NSA의 부적절한 간섭이 있었다고 주장했다.[6] 이는 NSA가 암호화된 메시지를 쉽게 해독할 수 있도록 알고리즘을 은밀하게 약화시켰을 것이라는 의혹이었다.[7] DES 설계자 중 한 명인 앨런 콘하임은 "우리는 S-box를 워싱턴으로 보냈습니다. 그들은 돌아왔고 모두 달랐습니다."라고 언급했다.[8]이에 미국 상원 정보 특별 위원회는 NSA의 부적절한 개입 여부를 조사했다. 1978년에 공개된 기밀 해제 요약본에서 위원회는 NSA가 IBM에게 축소된 키 크기가 충분하다고 설득했고, S-box 구조 개발에 간접적으로 도움을 주었으며, 최종 DES 알고리즘에 자신들이 아는 한 통계적 또는 수학적 약점이 없다고 인증했다고 밝혔다.[9]
그러나 위원회는 또한 NSA가 알고리즘 설계에 어떤 방식으로든 관여하지 않았고, IBM이 알고리즘을 발명하고 설계했으며, 모든 중요한 결정을 내렸고, 합의된 키 크기가 DES가 의도된 모든 상업적 응용 분야에 충분하다고 동의했다고 밝혔다.[10] DES 팀의 또 다른 멤버인 월터 투크만은 "우리는 IBMers를 사용하여 IBM 내에서 완전히 DES 알고리즘을 개발했습니다. NSA는 단 하나의 배선도 지시하지 않았습니다!"라고 말했다.[11]
반면, 기밀 해제된 NSA의 암호학 역사에 관한 책에서는 NSA가 1973년 민간 업계에 DES를 요청한 후, 자체 알고리즘을 개발하기 시작했으며, IBM의 월터 투크만과 협력하여 루시퍼 수정을 진행했다고 진술한다.[12] 또한 NSA가 IBM과 긴밀히 협력하여 무차별 대입 공격을 제외한 모든 공격에 대해 알고리즘을 강화하고 S-box를 강화했으며, IBM에게 키 길이를 64비트에서 48비트로 줄이도록 설득하려 했으나, 결국 56비트 키로 타협했다고 한다.[13][14]
S-box에 숨겨진 약점에 대한 의혹은 1990년 엘리 비함과 아디 샤미르가 차분 공격을 독자적으로 발견하고 공개하면서 해소되었다. DES의 S-box는 무작위로 선택되었을 경우보다 공격에 훨씬 더 강했으며, 이는 IBM이 1970년대에 이 기술에 대해 알고 있었음을 강력하게 시사했다. 1994년 돈 코퍼스미스는 S-box에 대한 원래 설계 기준의 일부를 공개했다.[15] 스티븐 레비에 따르면, IBM 왓슨 연구원들은 1974년에 차분 암호 분석 공격을 발견했고 NSA로부터 해당 기술을 비밀로 유지하라는 요청을 받았다.[16] 코퍼스미스는 IBM의 비밀 결정에 대해 "차분 암호 분석은 매우 강력한 도구가 될 수 있으며, 많은 방식에 사용될 수 있고, 그러한 정보가 공개 영역에 있으면 국가 안보에 부정적인 영향을 미칠 수 있다는 우려가 있었기 때문"이라고 설명한다.[16]
2. 3. 표준 채택 및 폐기
1972년 미국 NBS (National Bureau of Standards, 오늘날의 NIST)가 암호 기술의 필요성을 느껴 미국 정부 차원의 표준 암호 알고리즘을 개발하기로 결정했다. 1974년 8월 27일 IBM이 루시퍼 암호 알고리즘을 제안했고, 이를 수정하여 1975년 3월 17일 DES가 발표되었다.DES는 여러 비판에도 불구하고 1976년 11월 연방 표준으로 승인되었고, 1977년 1월 15일 FIPS PUB 46으로 게시되어 기밀이 아닌 데이터에 사용할 수 있게 되었다. 이후 1983년, 1988년(FIPS-46-1로 개정), 1993년(FIPS-46-2), 1999년(FIPS-46-3)에 표준으로 재확인되었으며, 마지막 버전은 "트리플 DES"를 규정했다.
2002년 5월 26일, DES는 공개 경쟁을 거쳐 AES로 대체되었다. 2005년 5월 19일, FIPS 46-3이 공식적으로 폐지되었지만, NIST는 민감한 정부 정보를 위해 트리플 DES를 2030년까지 승인했다.[18]
DES 알고리즘은 ANSI X3.92 (INCITS 92),[19] NIST SP 800-67,[18] ISO/IEC 18033-3[20]에도 명시되어 있다.
다음은 DES 채택 및 폐기 과정을 나타낸 표이다.
날짜 | 사건 |
---|---|
1973년 5월 15일 | NBS, 표준 암호화 알고리즘에 대한 첫 번째 요청 발표 |
1974년 8월 27일 | NBS, 암호화 알고리즘에 대한 두 번째 요청 발표 |
1975년 3월 17일 | DES, 의견 수렴을 위해 연방 관보에 게재 |
1976년 8월 | DES에 대한 첫 번째 워크숍 개최 |
1976년 9월 | DES의 수학적 기초에 대한 두 번째 워크숍 개최 |
1976년 11월 | DES, 표준으로 승인 |
1977년 1월 15일 | DES, FIPS 표준 FIPS PUB 46으로 게시 |
1983년 | DES, 처음으로 재확인 |
1988년 1월 22일 | DES, FIPS 46-1으로 두 번째 재확인 (FIPS PUB 46 대체) |
1993년 12월 30일 | DES, FIPS 46-2로 세 번째 재확인 |
1999년 10월 25일 | DES, FIPS 46-3으로 네 번째 재확인 (레거시 시스템에서만 단일 DES 허용, 트리플 DES 사용 선호) |
2001년 11월 26일 | AES, FIPS 197에 게시 |
2002년 5월 26일 | AES 효력 발생 |
2004년 7월 26일 | FIPS 46-3 (및 관련 표준) 철회 제안 (연방 관보에 게재)[23] |
2005년 5월 19일 | NIST, FIPS 46-3 철회[77] |
3. 알고리즘 구조
DES는 블록 암호의 일종으로, 고정된 길이의 평문을 복잡한 연산을 통해 같은 길이의 암호문으로 변환한다. DES는 64비트 블록 크기를 가지며, 암호화에는 56비트 키가 사용된다. 겉보기에는 키가 64비트이지만, 8비트는 패리티 비트로 사용되어 실제로는 56비트만 암호화에 사용된다.[27][28]
DES 알고리즘(그림 1)은 16번의 동일한 ''라운드'' 과정을 거친다. 각 라운드 전후에는 초기 순열(IP)과 최종 순열(FP)이 수행되는데, 이들은 서로 역함수 관계이다. 이 순열들은 암호학적으로 큰 의미는 없지만, 1970년대 하드웨어에서 데이터 입출력을 용이하게 하기 위해 포함되었다.[29]
각 라운드에서는 Feistel 구조가 사용된다. 즉, 데이터를 두 개의 32비트 블록으로 나누어 번갈아 가며 처리한다. 이 구조는 암호화와 복호화 과정을 매우 유사하게 만들어 주며, 복호화 시에는 키를 역순으로 적용하는 것 외에는 암호화와 동일한 과정을 거친다.
''F-함수''(그림 2)는 각 라운드에서 데이터 절반과 키 스케줄을 통해 생성된 라운드 키를 섞는다. F-함수는 확장, 키 혼합, 치환, 순열의 네 단계로 구성된다.
키 스케줄(그림 3)은 각 라운드에서 사용될 48비트 라운드 키를 생성한다. 초기 64비트 키에서 56비트를 선택, 두 개의 28비트 블록으로 나눈 후, 각 라운드마다 1비트 또는 2비트씩 왼쪽으로 회전시킨다. 그 후, 각 블록에서 24비트씩 선택하여 총 48비트의 라운드 키를 만든다.
3. 1. 파이스텔 구조
DES는 파이스텔 구조를 기반으로 설계되었다. 파이스텔 구조는 블록 암호의 일종으로, 평문을 두 부분으로 나누어 각 부분에 번갈아 가며 암호화 연산을 적용하는 방식이다.
DES 암호화 과정은 그림 1과 같이 여러 단계의 ''라운드''로 구성된다. 각 라운드에서는 ''F-함수''라는 특별한 함수가 사용된다. 이 함수는 데이터의 절반과 라운드 키를 섞는 역할을 한다. F-함수의 출력은 나머지 데이터 절반과 배타적 논리합(XOR) 연산을 거쳐 다음 라운드로 전달된다.
파이스텔 구조의 특징은 암호화와 복호화 과정이 매우 유사하다는 점이다. 복호화 시에는 암호화 과정과 동일한 단계를 거치지만, 라운드 키를 역순으로 적용한다. 이러한 유사성 덕분에 암호화와 복호화를 위한 별도의 알고리즘을 구현할 필요가 없어 하드웨어 구현이 간편해진다.[29]
⊕ 기호는 배타적 논리합(XOR) 연산을 나타낸다. ''F-함수''는 블록의 절반을 키의 일부와 함께 섞는다. F-함수의 출력은 블록의 다른 절반과 결합된 다음, 다음 라운드 전에 반이 교환된다. 마지막 라운드 후에는 반이 교환되지 않는다. 이것이 암호화와 복호화 과정을 유사하게 만드는 파이스텔 구조의 특징이다.
3. 2. Feistel (F) 함수
F-함수는 한 번에 반 블록(32비트)씩 작동하며, 다음과 같은 네 단계로 구성된다.
1. '''확장'''(Expansion): 32비트 반 블록은 ''확장 순열''(expansion permutation)을 통해 48비트로 확장된다. 이 과정은 다이어그램에서 ''E''로 표시되어 있으며, 일부 비트를 복제하여 비트 수를 늘린다. 출력은 8개의 6비트 조각으로 구성되며, 각 조각은 4개의 해당 입력 비트와 양쪽 인접 비트의 복사본을 포함한다.
2. '''키 혼합'''(Key mixing): 확장된 48비트 데이터는 XOR 연산을 통해 ''부분 키''(subkey)와 결합된다. 각 라운드마다 16개의 48비트 부분 키가 사용되며, 이 부분 키들은 키 스케줄을 통해 주 키(main key)로부터 생성된다.
3. '''치환'''(Substitution): 부분 키와 혼합된 데이터는 8개의 S-box에 입력되기 전에 6비트 조각 8개로 나뉜다. 각 S-box는 룩업 테이블 형태로 제공되는 비선형 변환을 통해 6개의 입력 비트를 4개의 출력 비트로 대체한다. S-box는 데이터 암호화 표준(DES)의 보안에 핵심적인 역할을 하며, S-box가 없으면 암호는 선형이 되어 쉽게 해독될 수 있다.
4. '''순열'''(Permutation): 마지막으로, S-box에서 나온 32개의 출력 비트는 고정된 순열인 ''P-box''에 의해 재배열된다. 이 재배열을 통해 각 S-box의 출력 비트들이 다음 라운드에서 서로 다른 4개의 S-box로 분산되도록 한다.
S-box의 치환, P-box의 순열, E-확장의 비트 순열이 교대로 수행되면서 클로드 섀넌이 1940년대에 안전하고 실용적인 암호의 필수 조건으로 제시한 "혼돈과 확산"을 제공한다.[79][80]
3. 3. 키 스케줄
키 스케줄은 DES 암호화 과정에서 각 라운드에 사용될 서브키(라운드 키)를 생성하는 알고리즘이다. 초기 64비트 키 중 56비트가 ''순열 선택 1''(PC-1)을 통해 선택되고, 나머지 8비트는 패리티 검사에 사용되거나 버려진다. 56비트는 각각 28비트씩 두 부분으로 나뉘어 처리된다.
각 라운드마다 두 부분은 1비트 또는 2비트씩 왼쪽으로 회전 (1비트 왼쪽 시프트, 2비트 왼쪽 시프트)되며, 이 회전된 비트들 중 48비트가 ''순열 선택 2''(PC-2) (순열 선택 2)를 통해 선택되어 해당 라운드의 서브키로 사용된다. 각 28비트에서 24비트씩 선택되며, 순열 선택에 의해 재배열된다. 이러한 회전 덕분에 각 라운드마다 다른 비트 조합이 서브키로 사용될 수 있다.
복호화 과정에서는 서브키가 암호화 때와 반대 순서로 적용되는 것을 제외하면, 키 스케줄은 암호화 과정과 거의 동일하다.
4. 보안 및 암호 분석
데이터 암호화 표준(DES)의 암호 해독에 관해서는 다른 블록 암호보다 많은 정보가 공개되었지만, 현재 가장 실용적인 공격 방법은 무차별 대입 공격이다. 다양한 암호 분석적 특성이 알려져 있으며, 이론적으로 무차별 대입 공격보다 복잡성이 낮은 세 가지 공격 방법(차분 공격, 선형 공격, 데이비스 공격)이 가능하다. 그러나 이러한 공격은 실행하기 위해 비현실적인 수의 평문 또는 선택 평문이 필요하며, 실제로는 문제가 되지 않는다.[38]
DES는 몇 가지 암호학적 특성을 가지고 있다.
- 보완 속성: 평문과 키를 모두 반전시키면 암호문도 반전된다. 즉, 이다. 여기서 는 의 비트 보수, 는 키 로 암호화, 는 평문, 는 암호문을 의미한다. 이 속성은 선택 평문 공격을 가정할 때 전수 공격에 필요한 노력을 절반으로 줄여준다.[48]
- 약한 키: 암호화와 복호화 과정이 동일하게 작동하는 키이다. 즉, 또는 이다. DES에는 4개의 약한 키가 존재한다.
- 반-약한 키: 한 쌍의 키(, ) 중 하나로 암호화한 결과가 다른 키로 복호화한 결과와 같은 키이다. 즉, 또는 이다. DES에는 6쌍의 반-약한 키가 존재한다.
약한 키와 반-약한 키는 키를 무작위로 선택하면 쉽게 피할 수 있으며, 실제로 이러한 키가 선택될 확률은 매우 낮다. 또한, 이러한 키들이 암호 해독에 특별한 이점을 제공하지 않기 때문에 다른 키보다 실제로 약하지 않다.
DES는 함수 합성에 대해 군을 이루지 않는다는 것이 증명되었다. 이는 DES가 여러 번 암호화해도 보안성이 크게 향상되지 않는다는 것을 의미한다.[49][50]
4. 1. 무차별 대입 공격
암호에 대한 가장 기본적인 공격 방법은 무차별 대입 공격으로, 가능한 모든 키를 차례로 시도하는 것이다. 키 길이는 가능한 키의 수를 결정하므로 이 접근 방식의 실현 가능성을 결정한다. DES의 경우, 표준으로 채택되기 전부터 키 크기의 적절성에 대한 의문이 제기되었으며, 이론적인 암호 분석보다는 작은 키 크기가 알고리즘을 교체해야 할 필요성을 결정했다. 미국 국가 안보국(NSA)을 포함한 외부 컨설턴트와의 논의 결과, 키 크기는 단일 칩에 맞게 256비트에서 56비트로 줄었다.[30]
학계에서는 DES 크래킹 머신에 대한 다양한 제안이 제시되었다. 1977년, 디피와 헬만은 하루 만에 DES 키를 찾을 수 있는 약 2000만달러의 비용이 드는 머신을 제안했다.[6][31] 1993년까지 비너는 7시간 이내에 키를 찾을 수 있는 100만달러의 키 검색 머신을 제안했다. 그러나 이러한 초기 제안은 실제로 구현되지 않았거나 적어도 구현이 공개적으로 인정되지 않았다. DES의 취약성은 1990년대 후반에 실제로 입증되었다.[32] 1997년, RSA 시큐리티는 DES로 암호화된 메시지를 깨는 첫 번째 팀에 10000USD의 상금을 제공하는 일련의 콘테스트를 후원했다. 이 콘테스트는 인터넷을 통해 수천 대의 컴퓨터 유휴 사이클을 사용하여 로키 버서, 맷 커틴, 저스틴 돌스케가 이끄는 DESCHALL 프로젝트가 우승했다.
DES 크래킹의 실현 가능성은 1998년에 사이버스페이스 시민 단체인 전자 프론티어 재단(EFF)이 약 250000USD의 비용으로 맞춤형 DES 크래커를 구축하면서 빠르게 입증되었다(EFF DES 크래커 참조). 그들의 동기는 DES가 이론뿐만 아니라 실제로도 깨질 수 있음을 보여주는 것이었다. "어떤 사람들은 직접 눈으로 확인하기 전까지는 진실을 믿지 않을 것입니다. 며칠 만에 DES를 깨는 물리적인 머신을 보여주는 것이 DES에 보안을 맡길 수 없다는 것을 확신시키는 유일한 방법입니다." 그 머신은 이틀이 조금 넘는 시간 동안 검색하여 키를 무차별 대입했다.
다음으로 확인된 DES 크래커는 2006년 보훔 루르 대학교와 킬 대학교(모두 독일)의 팀이 제작한 COPACOBANA 머신이었다. EFF 머신과 달리 COPACOBANA는 상업적으로 이용 가능한 재구성 가능한 집적 회로로 구성된다. 120개의 XILINX Spartan-3 1000 유형 필드 프로그래머블 게이트 어레이(FPGA)가 병렬로 실행된다. 이들은 각각 6개의 FPGA를 포함하는 20개의 DIMM 모듈로 그룹화된다. 재구성 가능한 하드웨어의 사용은 머신을 다른 코드 브레이킹 작업에도 적용할 수 있게 해준다.[33] COPACOBANA의 가장 흥미로운 측면 중 하나는 비용 요소이다. 하나의 머신은 약 10000USD에 구축할 수 있다.[34] EFF 머신에 비해 비용이 약 25배 감소한 것은 디지털 하드웨어의 지속적인 개선의 예이다. — 무어의 법칙을 참조하십시오. 8년 동안의 인플레이션을 감안하면 약 30배의 더 높은 개선이 이루어진다.
2007년부터 COPACOBANA의 두 프로젝트 파트너의 스핀오프 회사인 SciEngines GmbH는 COPACOBANA의 후속 제품을 개선하고 개발해 왔다. 2008년에는 COPACOBANA RIVYERA가 128개의 Spartan-3 5000을 사용하여 DES를 깨는 시간을 하루 미만으로 단축했다. SciEngines RIVYERA는 128개의 Spartan-3 5000 FPGA를 활용하여 DES를 무차별 대입하는 기록을 보유했다.[35] 256개의 Spartan-6 LX150 모델은 이 시간을 더욱 단축했다.
2012년, 데이비드 헐튼과 목시 말린스파이크는 48개의 Xilinx Virtex-6 LX240T FPGA를 갖춘 시스템을 발표했다. 각 FPGA에는 400 MHz에서 실행되는 40개의 완전 파이프라인 DES 코어가 포함되어 있어 총 768기가키/초의 용량을 제공한다. 이 시스템은 약 26시간 만에 전체 56비트 DES 키 공간을 철저히 검색할 수 있으며 이 서비스는 온라인에서 유료로 제공된다.[36][37]
4. 2. 이론적 공격
DES에 대한 암호 분석은 다른 블록 암호보다 많이 공개되었지만, 가장 실용적인 공격 방법은 여전히 무차별 대입 공격이다. 여러 이론적 공격 방법들이 존재하지만, 이들은 실행하기 위해 비현실적인 수의 평문 또는 선택 평문을 필요로 하기 때문에 실제로는 큰 문제가 되지 않는다.[38]- 차분 공격: 1980년대 후반 엘리 비함과 아디 샤미르가 재발견한 공격 방법으로, 247개의 선택 평문이 필요하다.[39] DES는 이 공격에 대한 내성을 갖도록 설계되었다.
- 선형 공격: 미츠루 마츠이가 발견한 공격 방법으로, 243개의 기지 평문이 필요하다.[40] 구현된 사례가 보고되었으며, DES에 대한 최초의 실험적 암호 분석으로 알려져 있다.
- 데이비스 공격: 도널드 데이비스가 처음 제안하고 비류코프가 개선한 공격 방법으로, 가장 강력한 형태는 250개의 기지 평문과 250의 계산 복잡도를 필요로 하며, 51%의 성공률을 보인다.[44]
이러한 공격들은 이론적이며 실제 실행하기 어렵다고 일반적으로 간주된다.[38]
4. 3. 기타 암호 분석 특성
DES는 보완 속성, 약한 키, 반-약한 키와 같은 몇 가지 암호 분석 특성을 가지고 있다.- 보완 속성: 평문과 키를 모두 반전시키면 암호문도 반전된다. 즉, 이다. 여기서 는 의 비트 보수, 는 키 로 암호화, 는 평문, 는 암호문을 의미한다. 이 속성은 선택 평문 공격을 가정할 때 전수 공격에 필요한 노력을 절반으로 줄여준다.[48]
- 약한 키: 암호화와 복호화 과정이 동일하게 작동하는 키이다. 즉, 또는 이다. DES에는 4개의 약한 키가 존재한다.
- 반-약한 키: 한 쌍의 키(, ) 중 하나로 암호화한 결과가 다른 키로 복호화한 결과와 같은 키이다. 즉, 또는 이다. DES에는 6쌍의 반-약한 키가 존재한다.
약한 키와 반-약한 키는 키를 무작위로 선택하면 쉽게 피할 수 있으며, 실제로 이러한 키가 선택될 확률은 매우 낮다. 또한 이러한 키들이 암호 해독에 특별한 이점을 제공하지 않기 때문에 다른 키보다 실제로 약하지 않다.
DES는 함수 합성에 대해 군을 이루지 않는다는 것이 증명되었다. 이는 DES가 여러 번 암호화해도 보안성이 크게 향상되지 않는다는 것을 의미한다.[49][50]
5. 대체 알고리즘
1980년대 후반과 1990년대 초반, 소프트웨어에서 DES의 보안에 대한 우려와 상대적으로 느린 작동 속도 때문에 연구자들은 다양한 대체 블록 암호 설계를 제안했다. 이러한 설계에는 RC5, 블로우피쉬, IDEA, NewDES, SAFER, CAST5, FEAL 등이 포함되었다.[75] 이들 대부분은 DES와 동일한 64비트 블록 크기를 유지하여 "드롭인" 교체가 가능하도록 설계되었지만, 일반적으로 64비트 또는 128비트 키를 사용했다. 소련에서는 64비트 블록 크기와 256비트 키를 사용하는 GOST 28147-89 알고리즘이 도입되었고, 이후 러시아에서도 사용되었다.
DES 자체를 더 안전하게 재사용하는 방법도 고안되었다. 많은 이전 DES 사용자들이 트리플 DES(TDES)를 사용했는데, 이는 DES의 특허권자 중 한 명이 설명하고 분석한 방식이다(FIPS Pub 46-3 참조). TDES는 두 개(2TDES) 또는 세 개(3TDES)의 서로 다른 키를 사용하여 DES를 세 번 적용하는 방식이다. TDES는 충분히 안전하지만 상당히 느리다는 단점이 있다. 계산 비용이 적게 드는 대안으로는 DES-X가 있는데, 이는 DES 전후에 추가 키 자료를 XOR하여 키 크기를 늘리는 방식이다. GDES는 암호화를 가속화하기 위해 제안된 DES 변형이었지만, 차분 공격에 취약한 것으로 밝혀졌다.
1997년 1월 2일, 미국 국립표준기술연구소(NIST)는 DES를 대체할 알고리즘을 선정하겠다고 발표했다.[60] 2001년, 국제 경쟁을 거쳐 NIST는 새로운 암호인 고급 암호화 표준(AES)을 대체 암호로 선정했다.[61] AES로 선정된 알고리즘은 설계자들이 Rijndael이라는 이름으로 제출한 것이었다. NIST AES 공모전의 다른 결선 진출자로는 RC6, 서펜트, MARS, 투피쉬가 있었다.
참조
[1]
웹사이트
The Legacy of DES - Schneier on Security
https://www.schneier[...]
2004-10-06
[2]
Conference
A brief history of the data encryption standard
ACM Press/Addison-Wesley Publishing Co. New York, NY, USA
[3]
서적
Cash and Dash: How ATMs and Computers Changed Banking
https://books.google[...]
Oxford University Press
2018
[4]
웹사이트
The Economic Impacts of NIST's Data Encryption Standard (DES) Program
https://www.nist.gov[...]
United States Department of Commerce
2001-10
[5]
간행물
Automated teller machines: their history and authentication protocols
https://slideheaven.[...]
2016-04-01
[6]
간행물
Exhaustive Cryptanalysis of the NBS Data Encryption Standard
http://origin-www.co[...]
1977-06
[7]
웹사이트
Has DES been broken?
http://www.emc.com/e[...]
2009-11-08
[8]
서적
Applied Cryptography
[9]
서적
Security for computer networks, 2nd ed.
John Wiley & Sons
[10]
간행물
On foiling computer crime
1979-07
[11]
간행물
Data Encryption Gurus: Tuchman and Meyer
1978-10
[12]
웹사이트
American Cryptology during the Cold War, 1945-1989.Book III: Retrenchment and Reform, 1972-1980, page 232
http://www.nsa.gov/p[...]
National Security Agency
2009-12-18
[13]
웹사이트
American Cryptology during the Cold War, 1945-1989.Book III: Retrenchment and Reform, 1972-1980, page 232
http://nsarchive.gwu[...]
National Security Agency
2009-12-18
[14]
웹사이트
American Cryptology during the Cold War, 1945-1989.Book III: Retrenchment and Reform, 1972-1980, page 232
http://nsarchive.gwu[...]
National Security Agency
2009-12-18
[15]
서적
Computer Security and Cryptography
[16]
문서
Levy, Crypto, p. 55
[17]
뉴스
Saluting the data encryption legacy
http://www.cnet.com/[...]
2004-09-27
[18]
웹사이트
NIST Special Publication 800-67 Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher, Version 1.1
http://csrc.nist.gov[...]
National Institute of Standards and Technology
[19]
문서
American National Standard, Data Encryption Algorithm
American National Standards Institute
[20]
웹사이트
ISO/IEC 18033-3:2010 Information technology—Security techniques—Encryption algorithms—Part 3: Block ciphers
http://www.iso.org/i[...]
Iso.org
2010-12-14
[21]
문서
Bruce Schneier, Applied Cryptography, Protocols, Algorithms, and Source Code in C, Second edition, John Wiley and Sons, New York (1996) p. 267
[22]
웹사이트
William E. Burr, "Data Encryption Standard", in NIST's anthology "A Century of Excellence in Measurements, Standards, and Technology: A Chronicle of Selected NBS/NIST Publications, 1901–2000.
http://nvl.nist.gov/[...]
[23]
웹사이트
FR Doc 04-16894
http://edocket.acces[...]
Edocket.access.gpo.gov
[24]
문서
S. Kumar, C. Paar, J. Pelzl, G. Pfeiffer, A. Rupp, M. Schimmler, "How to Break DES for Euro 8,980". 2nd Workshop on Special-purpose Hardware for Attacking Cryptographic Systems—SHARCS 2006, Cologne, Germany, April 3–4, 2006.
[25]
웹사이트
8x1080Ti.md
https://gist.github.[...]
[26]
웹사이트
Crack.sh | the World's Fastest DES Cracker
https://crack.sh
[27]
웹사이트
FIPS 81 - Des Modes of Operation
http://csrc.nist.gov[...]
csrc.nist.gov
[28]
웹사이트
FIPS 74 - Guidelines for Implementing and Using the NBS Data
http://www.itl.nist.[...]
Itl.nist.gov
[29]
서적
Applied Cryptography
[30]
문서
Stallings, W. Cryptography and network security: principles and practice. Prentice Hall, 2006. p. 73
[31]
웹사이트
Bruting DES
http://hamburgsteak.[...]
[32]
문서
A Known-Plaintext Attack on Two-Key Triple Encryption
Springer Berlin Heidelberg
1991
[33]
웹사이트
Getting Started, COPACOBANA — Cost-optimized Parallel Code-Breaker
http://www.copacoban[...]
2006-12-12
[34]
서적
Cryptology Unlocked
https://archive.org/[...]
John Wiley & Sons
2007-10-16
[35]
웹사이트
Break DES in less than a single day
http://www.sciengine[...]
[36]
웹사이트
The World's fastest DES cracker
http://crack.sh
[37]
문서
"Think Complex Passwords Will Save You?," David Hulton, Ian Foster, BSidesLV 2017
[38]
논문
New Comparative Study Between DES, 3DES and AES within Nine Factors
2010
[39]
서적
Differential cryptanalysis of the data encryption standard
https://link.springe[...]
Springer-Verlag
1993
[40]
서적
Advances in Cryptology — EUROCRYPT '93
Springer, Berlin, Heidelberg
1993-05-23
[41]
서적
Advances in Cryptology – CRYPTO 2004
Springer, Berlin, Heidelberg
2004-08-15
[42]
서적
Fast Software Encryption
Springer, Berlin, Heidelberg
2000-04-10
[43]
서적
Selected Areas in Cryptography
Springer, Berlin, Heidelberg
2001-08-16
[44]
논문
Investigation of a potential weakness in the DES algorithm, Private communications
https://scholar.goog[...]
1987
[45]
논문
An improvement of Davies' attack on DES
1997-06-01
[46]
서적
Advances in Cryptology — CRYPTO '94
Springer, Berlin, Heidelberg
1994-08-21
[47]
서적
Advances in Cryptology — ASIACRYPT 2002
Springer, Berlin, Heidelberg
2002-12-01
[48]
서적
Handbook of Applied Cryptography
https://archive.org/[...]
CRC Press
1996
[49]
서적
Campbell and Wiener, 1992
http://dl.acm.org/ci[...]
1992-08-16
[50]
웹사이트
Double DES
https://www.nku.edu/[...]
[51]
간행물
Image Encryption using Simplified Data Encryption Standard (S-DES)
http://research.ijca[...]
2014
[52]
서적
Introduction to Cryptography with Open-Source Software
https://books.google[...]
2012
[53]
간행물
Appendix G: Simplified DES
http://mercury.webst[...]
2010
[54]
간행물
Cryptanalysis of Simplified Data Encryption Standard via Optimisation Heuristics
http://citeseerx.ist[...]
2006
[55]
간행물
Simplified DES
http://doc.sagemath.[...]
2009
[56]
서적
Cryptography and Network Security
https://books.google[...]
[57]
간행물
A Simplified Data Encryption Standard Algorithm
1996
[58]
간행물
Breaking of Simplified Data Encryption Standard Using Binary Particle Swarm Optimization
http://ijcsi.org/pap[...]
2012
[59]
웹사이트
Cryptography Research: Devising a Better Way to Teach and Learn the Advanced Encryption Standard
https://web.archive.[...]
[60]
웹사이트
Announcing Development of FIPS for Advanced Encryption Standard | CSRC
http://csrc.nist.gov[...]
2017-01-10
[61]
문서
November 26, 2001
http://csrc.nist.gov[...]
[62]
학회자료
A brief history of the data encryption standard
ACM Press/Addison-Wesley Publishing Co. New York, NY, USA
[63]
웹사이트
Has DES been broken?
http://www.rsa.com/r[...]
2009-05-27
[64]
서적
Applied Cryptography
[65]
서적
Security for computer networks, 2nd ed.
John Wiley & Sons
[66]
논문
On foiling computer crime
IEEE
1979-07
[67]
논문
Data Encryption Gurus:Tuchman and Meyer
1978-10
[68]
논문
American Cryptology during the Cold War, 1945-1989.Book III:Retrenchment and Reform, 1972-1980
[69]
서적
Computer Security and Cryptography
[70]
문서
Crypto
[71]
웹사이트
NIST Special Publication 800-67 ''Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher'', Version 1.1
http://nvlpubs.nist.[...]
National Institute of Standards and Technology
2016-10-09
[72]
간행물
American National Standard, Data Encryption Algorithm
American National Standards Institute
1981
[73]
웹사이트
ISO/IEC 18033-3:2005 Information technology — Security techniques — Encryption algorithms — Part 3:Block ciphers
http://www.iso.org/i[...]
Iso.org
2008-10-15
[74]
서적
Applied Cryptography, Protocols, Algorithms, and Source Code in C, Second edition
John Wiley and Sons
1996
[75]
간행물
Data Encryption Standard
http://nvl.nist.gov/[...]
NIST
1901–2000
[76]
웹사이트
FR Doc 04-16894
http://edocket.acces[...]
Edocket.access.gpo.gov
2009-06-02
[77]
웹사이트
Federal Register vol 70, number 96
https://www.gpo.gov/[...]
Office of the Federal Register, National Archives and Records Administration
2005-05-19
[78]
간행물
How to Break DES for Euro 8,980
2nd Workshop on Special-purpose Hardware for Attacking Cryptographic Systems — SHARCS
2006-04-03
[79]
웹사이트
FIPS 81 - Des Modes of Operation
http://csrc.nist.gov[...]
Itl.nist.gov
2016-10-09
[80]
웹사이트
FIPS 74 - Guidelines for Implementing and Using the NBS Data
http://www.itl.nist.[...]
Itl.nist.gov
2016-10-09
[81]
서적
Cryptography and network security:principles and practice
Prentice Hall
2006
[82]
웹사이트
US GOVERNMENT'S ENCRYPTION STANDARD BROKEN IN LESS THAN A DAY
https://www.distribu[...]
distributed.net
1999-01-19
[83]
논문
Exhaustive Cryptanalysis of the NBS Data Encryption Standard
http://origin-www.co[...]
1977-06
[84]
웹인용
RSA Code-Breaking Contest Again Won by Distributed.Net and Electronic Frontier Foundation (EFF)
http://w2.eff.org/Pr[...]
2009-07-12
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com