문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 암호 (문단 편집) === 전후 === 제2차 세계 대전이 끝난후, 연합국은 식민지에서 해방된 신흥국들에게 독일제 에니그마를 나눠 주었고 이들은 유용하게 사용했다. 최소한 그 국가들은 옆 국가가 자신들의 암호를 풀지 못하는 것에 만족했다. 그 후, 그 기계들이 다 고장날 무렵인 1960년도부터 영국과 미국에서 에니그마 관련 자료를 풀기 시작했다. 전후 컴퓨터의 급속한 발전으로 암호 해석이 전보다 수월하게 된다. 또한 [[미국 의회]] 조사청문회에서 나온 말과 같이 암호 해독은 적의 실패에 지대한 공헌을 하였으며, 또한 전쟁을 단축시키는데 힘을 실었으며 덩달아 수천명의 인원을 구한 공로를 인정받아 [[NSA]]를 발족시켰다. 냉전이 가속화하는 등 여러가지 이유로 1977년 [[IBM]]에서 만든 루시퍼란 블록 암호를 1979년 [[DES]]란 이름으로 표준화했다. 그런데 이 때 IBM은 NSA와의 내용이 공개되지 않은 모종의 협의 후 키의 크기를 56비트(64비트에서 8개의 비트는 오류를 검출하기 위한 패리티 비트로 사용)로 줄였다. 이 때문에 NSA 측에서 DES를 우회할 [[백도어]]를 만들어 달라고 IBM에게 요청해서 IBM이 그 백도어를 만들기 위해 변형을 했다는 [[음모론]]이 지금까지도 존재한다. 그러나 현재까지 그 백도어를 발견한 사람은 없다. 이런 음모론이 나오게 된 것은 DES에서 사용하는 테이블이 어떤 원리에 의해서 만들어진 것인지 IBM에서 명확하게 밝힌 적이 없다는 점에도 기인한다. 비록 IBM에서 어떤 문제를 '피하려고' 했는지에 대해서 어느 정도 밝히기는 했지만 그것만으로는 충분하지 않았다. IBM과 NSA의 협의 내용에 대해서는 90년대에 해명이 나왔다. 90년대에 블록 암호에 대한 새로운 공격방식인 차분 공격(differential attack)이 개발되어 그 전에 나온 여러 블록 암호들이 깨지는 사태가 벌어졌는데, 뜻밖에도 오래된 암호인 DES는 이러한 공격이 큰 효과가 없었다. 따라서 연구자들은 DES를 설계한 IBM의 연구자들이 차분 공격을 그 당시에 이미 알고 있었으며 이에 대비했음이 분명하다는 결론을 내렸다. 그러자 IBM에서도 이를 인정하는 발표를 했는데, NSA와의 협의에서 NSA가 요청한 것은 DES를 변형시키라는 것이 아니고 바로 차분 공격에 대해서는 공개하지 말라는 것이었다고 한다. 공개하지 말라는 요청에는 '다른 암호가 깨져서 혼란이 생기는 것을 방지하기 위해서'라는 설명이 붙었지만, 이는 NSA가 다른 암호를 깰 수 있는 공격법 하나를 비밀스럽게 가지고 있게 되는 결과가 된다. (IBM과 함께...) 물론 이것은 적당히 그럴듯한 스토리일 뿐이라며 DES에 백도어가 있을 것이라고 생각하는 사람도 여전히 많다. 현대에는 DES를 깰 수 있다. 이는 특별한 약점이 발견되었기 때문이 아니라 56비트는 너무 짧기 때문에 현대의 컴퓨터로 [[브루트 포스|모든 가능한 키를 전부 검사해 보는 것]]이 가능해졌기 때문이다. 이 문제는 Triple DES[* DES를 3번돌리는 방식.]나 DES-X 등의 변형판을 이용하면 대처할 수 있으나, 문제를 근본적으로 해결하고 블록 암호를 개선하기 위해서 미국은 블록암호 방식인 Rijndael을 도입하여 새로운 표준인 [[AES]]를 정의한다. AES에서는 128비트, 192비트, 256비트인 경우를 표준으로 하지만 Rijndael은 키의 크기가 32비트의 배수인 모든 경우에 대해서 정의되어 있으므로 필요한 경우 쉽게 확장할 수 있다. 또한 AES를 어떤 원리로 설계했는가가 전부 공개되어 있다. 그리고 소프트웨어로 구현하는 경우 AES가 DES보다 빠른데, 그 이유는 DES는 회로를 이용해서 직접 구현하는 것만을 가정한 디자인이지만 AES는 소프트웨어로 구현하는 것 역시 고려했기 때문이다. AES와 유사한 방식으론 한국을~~ [[만악의 근원]]~~ [[ActiveX]] 천국으로 만든 [[SEED#s-4]]가 있다. 블록 암호는 특정 크기의 메시지 블록을 같은 길이의 다른 블록으로 변환하는 암호계이다. 메시지 블록이 어떤 블록으로 변환될 것인지는 키에 달려있으며, 동일한 키로 변환된 블록을 역변환하여 원래의 메시지 블록을 얻어낼 수 있다. 블록 암호는 그 자체로 안전한 암호계는 아니며, 어디까지나 안전한 암호계를 만들기 위한 구성 요소로 사용된다. 블록 암호로 안전한 암호계를 만들기 위한 방법들은 영문 위키피디아의 [[http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation|Block cipher mode of operation]] 참조. 1976년에는 [[RSA]] 암호방식과 함께 공개키 암호계가 나타났다. 공개키 암호계는 암호를 만들기 위한 키와 해석하기 위한 키가 서로 다른 것으로, 암호를 만들기 위한 키는 공개키로서 공개하여 모든 사람이 암호를 만들 수 있지만 그 암호를 해독하는 것은 비밀키가 있어야 가능하도록 만드는 것이다. 공개키 암호계 중에서 최초로 개발된 RSA 방식은 소인수분해를 이용한 방식이며, 대부분의 상용 시스템은 RSA 방식에 기반을 두고 있기 때문에 만약 큰 수의 소인수분해가 빨라지게 되면(대표적으로 '''[[양자컴퓨터]]의 실용화''') 대부분의 시스템을 뜯어고쳐야 하는 불상사가 발생한다. 그리고 암호학에서 제일 큰 영향을 미친 [[PGP]]가 등장하게 된다. Pretty Good Privacy란 이름의 프로그램인데, 이 프로그램은 국가기간에만 치중되어 있던 암호기술을 개인까지 내리는 역할을 하였다. 그래서 NSA에선 테러리스트들이 이걸 쓰면 어쩌냐고 하지만, 아직까지 잘 쓰이고 있다. 이 프로그램의 제작사는 현재 시만텍이지만, GNUPG(GNU Prvacy Guard)라든가 OpenPGP등의 오픈소스로도 나오고 있다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기