문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 DES (문단 편집) == 역사 == 갑자기 나온 알고리즘은 아니고 DES가 나오기 이전인 1971년에 IBM에서 '루시퍼'라는 암호 알고리즘을 개발했는데 이를 개량하여 NIST가 국가 표준으로 지정한 알고리즘이 바로 DES. 이름부터 'Data Encryption Standard'로 표준임을 어필하고 있다. 21세기에 와서는 이미 낡아도 한참 낡은 알고리즘이지만 70~80년대 당시에는 강력한 알고리즘이어서 워낙 오랫동안 표준으로 쓰여왔던 터라 오늘날에도 종종 이 기술의 흔적을 마주칠 수 있을 정도다. 블록 암호 기법을 사용하며 16단계의 파이스텔 네트워크(Feistel Network)를 거쳐 암호화를 수행한다. 블록의 단위는 64 비트로 평문을 64 비트 단위로 암호화를 수행하여 64 비트의 암호화 문서를 생성하며 키 길이는 64 비트지만 실제로는 패리티 비트가 8 비트 붙어있어서 실제 키 길이(=암호화 강도)는 56 비트이다. 이는 알고리즘 특성상 키 생성 단계에서 weak key가 존재하기 때문이다. 아직 기술적 근간인 파이스텔 네트워크(Feistel Network)상에서의 구조적인 취약점은 발견되지 않았으며[* 실제로 다른 암호화 알고리즘에서도 여전히 사용하고 있으며 현행 [[AES]]는 파이스텔 네트워크 대신 SPN을 사용하지만 후보안 중에는 파이스텔 네트워크에 기반한 것이 많았다고 한다. 국산 암호 알고리즘인 [[SEED]] 알고리즘도 파이스텔 네트워크를 사용한다.] 알고리즘 자체는 여전히 견고한 편이지만, 문제는 56 비트 키가 오늘날 컴퓨팅 환경에서는 너무 짧다는 것이다. 이미 1998년에 미화 25만 불을 들여 만든 DES 공격 장치를 통해, [[브루트 포스|무차별 공격]](Brutal Force Attack)방식으로 이틀 이내에 암호를 알 수 있었다. 그 이후로도 이러한 공격법은 계속되어서, 2006년엔 미화 1만 불만으로 COPACOBANA와 같은 더 강력한 장치가 개발되기도 했으며, 그보다 더 발전한 2015년을 기준으로 하면 '''암호화의 의미가 없다.''' 평범한 개인용 PC로도 최적화된 방법(SIMD, GPGPU 등등)을 사용하면 수 시간 만에 뚫을 수 있다. 따라서 현대에는 기존에 암호화된 문서를 복호화하는 용도로만 사용하고 신규 암호화 문서를 생성하는 데는 '''절대로''' 사용하지 말 것을 권장하는 암호화 알고리즘이다. 이 문제를 해결하기 위해 IBM이 임시로 만들어 제시한 것이 후술할 3-DES(Triple DES)이다. 이후 NIST에서 2001년 공모전을 통해 새로운 표준 암호 알고리즘을 정하기로 했고 5개의 최종 후보안 중에 선택된 것이 지금의 [[AES]]이다. 이쪽은 기본적으로 최소 128 비트, 최대 256 비트까지의 키를 사용할 수 있다. 공모전을 통해 알고리즘을 선정한다면 알고리즘이 공개되어버릴 것이고 그럼 무용지물이 아닌가 하겠지만 암호 알고리즘은 '''원래부터 공개하는 것이 원칙'''이다. 암호화의 견고함은 알고리즘의 비밀성이 아닌 '''키에 의존'''해야 하며[* 이를 '커크호프의 원리'(Kerkhoff's principle)라고 한다. 원문은 "A cryptosystem should be secure even if everything about the system, except the key, is public knowledge."] 알고리즘은 '''수학적으로 문제가 없는가를 검증'''받아야 하기 때문이다[* 에릭 레이몬드(Eric Raymond)가 커크호프의 원리를 확장한 것으로 "상대방(암호 해독자)이 암호화 시스템의 소스 코드를 확보하지 못할 것이라고 가정하고 만든 시스템은 그 자체로 믿을 수 없다. 공개되지 않은 소스(closed source)는 절대로 신뢰하지 말라"고 했다.].저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기