블로그 구독

암호화는 신생 과학입니다.

수천 년 동안 비밀 메시지를 숨기는 데 사용되었지만, 과학(그리고 아마도 기술)으로서의 암호화에 대한 체계적인 연구는 약 100년 전에 시작되었습니다.

암호화 사용에 대한 최초의 알려진 증거(어떤 형태로든)는 기원전 1,900년경 이집트의 귀족 크눔호테프 2세(Khnumhotep II)의 무덤 주실에 새겨진 비문에서 발견되었습니다. 이 암호를 쓴 사람은 여기저기서 좀 더 일반적인 기호 대신 특이한 상형 문자를 사용했습니다. 그 목적은 메시지를 숨기는 것이 아니라, 품위 있게 보이도록 형식을 변경하는 것이었습니다. 비문은 비밀 글의 한 형태가 아니었지만, 원본 텍스트의 변형을 포함했으며, 알려진 변형 텍스트 중 가장 오래된 것입니다. 암호화가 일부 사용되었다는 증거는 대부분의 주요 초기 문명에서 찾아볼 수 있습니다. "아르타샤스트라(Arthshashtra)"는 카우틸랴(Kautalya)가 저술한 통치술에 대한 고전적인 저작으로, 인도의 첩보 활동에 대해 설명하고 "비밀 문서"에서 고대 버전의 제임스 본드와 같이 스파이에게 임무를 부여하는 내용을 언급하고 있습니다.

기원전 약 100년으로 거슬러 올라가면, 율리우스 카이사르(Julius Caesar)는 일종의 암호화를 사용하여 전선에 배치된 군 장성들에게 비밀 메시지를 전달한 것으로 알려져 있습니다. 카이사르 암호(Caesar cipher)로 알려진 이 치환 암호는 아마도 학술 문헌에서 가장 많이 언급된 역사적인 암호일 것입니다. (암호는 암호화 또는 암호 해독에 사용되는 알고리즘입니다.) 치환 암호에서는 일반 텍스트(일반 텍스트는 암호화해야 하는 메시지)의 각 문자가 다른 문자로 대체되어 암호 텍스트(암호 텍스트는 암호화된 메시지)를 형성합니다. 카이사르가 사용한 변형은 3칸씩 이동하는 암호화 방식이었습니다. 각 문자는 3자리씩 이동되었으므로 문자 'A'는 'D'로, 'B'는 'E'로 바뀌는 식입니다. 문자는 끝에서 줄 바꿈되므로 'X'는 'A'로 바뀝니다.

Figure 1.

이러한 암호는 암호화 키가 아니라 시스템의 보안성에 의존한다는 것을 쉽게 알 수 있습니다. 시스템이 알려지면 이러한 암호화된 메시지를 쉽게 해독할 수 있습니다. 실제로 치환 암호는 언어의 문자 빈도를 사용하여 해독할 수 있습니다.

16세기에 비즈네르(Vigenere)는 암호화 키를 사용한 최초의 암호로 추정되는 암호를 설계했습니다. 그의 암호 중 하나에서는 전체 메시지에 걸쳐 암호화 키를 여러 번 반복한 다음 키 문자 modulo 26을 사용하여 메시지 문자를 추가하여 암호 텍스트를 생성했습니다. (Modulo 또는 mod는 한 숫자를 다른 숫자로 나눌 때 나눗셈의 나머지를 계산하는 수식입니다.) 카이사르 암호와 마찬가지로 비즈네르의 암호도 쉽게 해독될 수 있습니다. 그러나 비즈네르의 암호는 제대로 실행되지는 않았지만 암호화 키를 도입하는 아이디어를 구현했습니다. 이를 카이사르 암호와 비교하면 메시지의 보안은 시스템의 보안이 아니라 암호화 키의 보안에 따라 달라집니다.

Figure 2.

모든 것이 전기화되는 19세기 초, 허번(Hebern)은 허번 로터 기계라고 하는 전기-기계 장치를 설계했습니다. 한 개의 로터를 사용하며, 비밀 키가 회전하는 디스크에 내장되어 있습니다. 키는 치환 테이블을 인코딩했으며 키보드에서 키를 누를 때마다 암호 텍스트가 출력되었습니다. 이렇게 하면 디스크가 한 단계 회전되며 다른 테이블이 다음 일반 텍스트 문자에 사용됩니다. 이것은 문자 빈도를 사용하여 다시 해독되었습니다.

에니그마 기계는 1차 세계 대전이 끝날 때 독일 엔지니어 아르투르 슈르비우스(Arthur Scherbius)가 발명했으며 2차 세계 대전 중에 독일군이 많이 사용했습니다. 에니그마 기계는 3~4개 또는 그 이상의 로터를 사용했습니다. 로터는 키보드에 입력할 때 다른 속도로 회전하고 적절한 암호 텍스트 글자를 출력합니다. 이 경우 핵심은 로터의 초기 설정이었습니다.

에니그마 기계 암호는 결국 폴란드에 의해 해독되었으며, 나중에 이 기술은 일일 키를 얻기 위한 수단을 설계한 영국 암호 작성자에게 이전되었습니다.

Figure 3.

2차 세계 대전까지 대부분의 암호화 작업은 군사용으로 주로 군사 기밀 정보를 숨기는 데 사용되었습니다. 그러나 암호화는 전후 경쟁업체로부터 데이터를 보호하려는 기업들과 함께 상업적인 관심을 끌었습니다.

1970년대 초, IBM은 고객이 어떤 형태로든 암호화를 요구하고 있음을 깨닫고 호르스트 파이스텔(Horst-Feistel)이 이끄는 "암호화 그룹"을 결성했습니다. 그들은 루시퍼(Lucifer)라는 암호를 설계했습니다. 1973년에 미국의 국립표준기술연구소(현 NIST)는 국가 표준이 될 블록 암호에 대한 제안을 요청했습니다. 그들은 제대로 된 암호화 지원 없이 많은 상용 제품을 구매하고 있다는 사실을 확실히 깨달았습니다. 결국 루시퍼가 채택되어 DES, 즉 데이터 암호화 표준(Data Encryption Standard)라고 불렸습니다. 1997년부터 몇 년간 DES는 전수 조사 공격으로 해독되었습니다. DES의 주요 문제는 작은 크기의 암호화 키였습니다. 컴퓨팅 성능이 향상됨에 따라 가능한 일반 텍스트 메시지를 얻기 위해 다양한 키 조합을 무차별 대입하는 것이 쉬워졌습니다.

1997년에 NIST는 새로운 블록 암호에 대한 제안을 다시 요청했습니다. 50건의 제출이 접수되었습니다. 2000년에 레인달(Rijndael)을 승인하고 AES, 즉 고급 암호화 표준(Advanced Encryption Standard)으로 명명했습니다. 오늘날 AES는 대칭 암호화에 널리 사용되는 표준입니다.

최근에는 양자 컴퓨터의 발전으로 인해 양자 후 암호화(Post Quantum Cryptography)가 주목받기 시작했습니다. 2016년에 NIST는 "미래 양자 컴퓨터의 공격을 견디는"데 도움이 되는 양자 내성 알고리즘을 설계하는 데 대중의 도움을 구하는 "제안 요청"을 선언했습니다. 2020년 NIST는 4명의 결선 진출자를 발표했습니다.

결론적으로, 역사는 우리에게 다음과 같은 교훈을 줍니다.

  1. 메시지의 보안은 항상 암호화 시스템의 보안이 아닌 키의 보안에 따라 달라집니다. (이를 케르크호프스(Kerckhoffs)의 원리라고 합니다.)
  2. 이와 관련하여 공개적으로 검토되고 표준으로 설정된 암호를 항상 사용합니다. "비밀 암호"를 사용하는 것은 좋지 않습니다. 카이사르 암호와 마찬가지로 시스템이 알려지면 모든 메시지를 해독할 수 있기 때문입니다. 예를 들어 키가 손상된 경우 공격자가 메시지에 액세스할 수 있습니다. 그러나 공격자가 암호화 시스템 자체를 손상시킬 수 있는 경우 해당 시스템에서 암호화된 모든 메시지(한 사람뿐만이 아님)의 일반 텍스트를 얻을 수 있습니다.

저자 소개

Huzaifa Sidhpurwala is a principal Product Security Engineer, working for Red Hat Product Security Team.

 
Read full bio

채널별 검색

automation icon

오토메이션

기술, 팀, 인프라를 위한 IT 자동화 최신 동향

AI icon

인공지능

고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트

open hybrid cloud icon

오픈 하이브리드 클라우드

하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요

security icon

보안

환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보

edge icon

엣지 컴퓨팅

엣지에서의 운영을 단순화하는 플랫폼 업데이트

Infrastructure icon

인프라

세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보

application development icon

애플리케이션

복잡한 애플리케이션에 대한 솔루션 더 보기

Original series icon

오리지널 쇼

엔터프라이즈 기술 분야의 제작자와 리더가 전하는 흥미로운 스토리