
암호학은 적대적 행위가 존재하는 상황에서 안전한 통신을 위한 기술을 연구하고 실천하는 학문입니다. 디지털 시대를 살아가는 우리는 매일 암호학의 보호 아래에서 개인정보를 주고받고 있습니다. 인터넷 뱅킹부터 메신저 대화까지, 보이지 않는 곳에서 암호학은 우리의 정보를 지키고 있습니다. 현대 암호학은 수학, 컴퓨터 과학, 정보 보안 등 여러 학문의 교차점에 존재하며, 데이터 기밀성, 데이터 무결성, 인증 및 부인 방지라는 핵심 개념을 중심으로 발전해 왔습니다.
대칭키 암호화의 원리와 진화
대칭키 암호화는 암호화와 복호화에 하나의 키를 사용하는 방식입니다. 이는 1976년 6월까지 공개적으로 알려진 유일한 암호화 방법이었으며, 암호학의 근간을 이루는 기술입니다. 현대 이전의 암호학은 사실상 암호화와 동의어였으며, 읽을 수 있는 정보인 평문을 이해할 수 없는 무의미한 텍스트인 암호문으로 변환하는 것을 의미했습니다. 암호문은 역과정인 복호화를 통해서만 읽을 수 있었고, 암호화된 메시지의 발신자는 적의 접근을 막기 위해 의도된 수신자에게만 복호화 기술을 공유했습니다.
역사적으로 가장 잘 알려진 대칭키 암호 중 하나는 시저 암호입니다. 이 암호는 2,000년 전 율리우스 카이사르가 사용했다고 믿어지며, 알파벳의 문자를 한 방향으로 3만큼 이동시켜 암호화하고 다른 방향으로 3만큼 이동시켜 복호화하는 단순한 방식이었습니다. 예를 들어 평문에서 D가 A로, E가 B로 바뀌는 식이었습니다. 하지만 이러한 고전 암호는 빈도 분석이 발견된 후 정보에 정통한 공격자에 의해 쉽게 해독될 수 있었습니다. 아랍의 수학자이자 박식가인 알킨디는 빈도 분석 암호 분석 기법의 최초 사용을 기술한 암호학 서적을 저술했습니다.
현대에 들어서는 데이터 암호화 표준(DES)과 고급 암호화 표준(AES)이 미국 정부에서 암호화 표준으로 지정되었습니다. DES는 제2차 세계 대전 중 에니그마 기계와 같은 복잡한 전기 기계식 암호 장치의 등장 이후 개발된 알고리즘으로, IBM 직원들이 설계했습니다. AES는 DES를 대체하여 현재 가장 일반적으로 사용되는 암호화 알고리즘이 되었으며, AES-NI를 지원하는 모든 x86 기반 프로세서에서 하드웨어 가속을 제공합니다. 대칭 키 암호는 블록 암호 또는 스트림 암호로 구현됩니다. 블록 암호는 평문 블록 단위로 입력을 암호화하며, 스트림 암호는 개별 문자 입력 방식을 사용합니다.
사용자의 관점에서 보면 대칭키 암호화는 신뢰의 전제가 필요한 기술입니다. 송신자와 수신자가 동일한 키를 공유해야 하기 때문에, 이 키를 안전하게 전달하고 관리하는 것이 핵심입니다. 네트워크 구성원 수가 증가할수록 필요한 키의 개수는 제곱에 비례하여 증가하므로, 모든 키를 일관되고 비밀스럽게 유지하려면 매우 복잡한 키 관리 체계가 필요합니다. 이것은 단순히 감추는 것이 아니라 지키기 위한 선택이며, 복잡한 세상 속에서 나의 것을 지킬 수 있다는 안심을 제공하는 기술입니다.
| 암호 유형 | 특징 | 대표 알고리즘 |
|---|---|---|
| 블록 암호 | 평문 블록 단위로 암호화 | DES, AES |
| 스트림 암호 | 개별 문자 단위로 암호화 | RC4, ChaCha20 |
공개키 암호화의 혁명적 등장
1976년 획기적인 논문에서 Whitfield Diffie와 Martin Hellman은 공개키 암호화라는 개념을 제안했습니다. 이 개념에서는 서로 다르지만 수학적으로 관련된 두 개의 키, 즉 공개키와 개인키가 사용됩니다. 역사가 David Kahn은 공개키 암호화를 "르네상스 시대에 다중 알파벳 치환이 등장한 이후 이 분야에서 가장 혁명적인 새로운 개념"이라고 설명했습니다. 공개키 암호 시스템에서 공개키는 자유롭게 배포될 수 있지만, 쌍을 이루는 개인키는 비밀로 유지되어야 합니다.
Diffie와 Hellman은 그러한 시스템을 직접 찾지는 못했지만, Diffie-Hellman 키 교환 프로토콜을 제시하여 공개키 암호화가 실제로 가능하다는 것을 보여주었습니다. 이 프로토콜은 현재 두 당사자가 공유 암호화 키에 대해 비밀리에 합의할 수 있도록 하는 안전한 통신에 널리 사용되는 솔루션입니다. Diffie와 Hellman의 출판은 실용적인 공개키 암호화 시스템을 찾기 위한 광범위한 학문적 노력을 촉발시켰습니다. 이 경쟁은 결국 1978년에 Ronald Rivest, Adi Shamir, Len Adleman에 의해 승리했으며, 그들의 솔루션은 이후 RSA 알고리즘으로 알려지게 되었습니다.
RSA 알고리즘과 Diffie-Hellman 알고리즘은 고품질 공개키 알고리즘의 최초 공개 사례일 뿐만 아니라 가장 널리 사용된 알고리즘 중 하나입니다. 다른 비대칭 키 알고리즘으로는 크래머-쇼프 암호 시스템, 엘가말 암호화, 그리고 다양한 타원 곡선 기법이 있습니다. 공개키 암호화는 디지털 서명 체계를 구현하는 데에도 사용됩니다. 디지털 서명은 일반 서명과 유사하게 사용자가 쉽게 생성할 수 있지만 다른 사람이 위조하기는 어렵다는 특징을 가지고 있습니다. 디지털 서명은 서명되는 메시지의 내용에 영구적으로 연결될 수 있으므로, 한 문서에서 다른 문서로 이동할 수 없으며 이동을 시도하면 감지됩니다.
흥미로운 점은 영국 정보기관인 정부통신본부(GCHQ)가 1997년에 발표한 문서에 따르면, GCHQ의 암호학자들이 여러 학문적 발전을 예측했던 것으로 밝혀졌다는 사실입니다. 알려진 바에 따르면 1970년경 James H. Ellis는 비대칭 키 암호화의 원리를 구상했고, 1973년에는 Clifford Cocks가 RSA와 설계 논리가 매우 유사한 솔루션을 발명했습니다. 1974년에는 Malcolm J. Williamson이 Diffie-Hellman 키 교환을 개발했다고 주장됩니다. 이는 암호학의 발전이 공개된 학술 연구보다 앞서 비밀리에 진행되었음을 보여줍니다.
사용자의 시각에서 공개키 암호화는 관계를 이어주는 학문입니다. 서로를 직접 볼 수 없는 상황에서도 안전하게 연결될 수 있도록 돕는 역할을 하기 때문입니다. 공개키 시스템의 장점은 공개키를 자유롭게 공개할 수 있어 당사자들이 공유 비밀키 없이도 안전한 통신을 구축할 수 있다는 것입니다. 실제로 비대칭 시스템은 먼저 비밀키를 교환한 다음, 해당 키를 사용하는 보다 효율적인 대칭 시스템을 통해 안전한 통신을 진행하는 데 사용됩니다.
| 구분 | 대칭키 암호화 | 공개키 암호화 |
|---|---|---|
| 키 개수 | 1개 (동일 키 사용) | 2개 (공개키, 개인키) |
| 속도 | 빠름 | 느림 |
| 키 관리 | 복잡함 | 상대적으로 용이함 |
| 대표 알고리즘 | AES, DES | RSA, Diffie-Hellman |
해시함수와 암호해독의 세계
암호화 해시함수는 가변 길이 입력을 받아 고정 길이 출력을 반환하는 함수로, 디지털 서명에 사용될 수 있습니다. 해시함수가 안전하려면 동일한 해시 값을 갖는 두 입력을 계산하기 어려워야 하고(충돌 저항성), 주어진 출력으로 해시되는 입력을 계산하기 어려워야 합니다(역상 저항성). MD4는 오랫동안 사용되어 온 해시함수이지만 현재는 취약점이 발견되었습니다. MD4의 강화 변형인 MD5 또한 널리 사용되지만 실제로는 취약점이 존재합니다.
미국 국가안보국(NSA)은 MD5와 유사한 해시함수인 안전 해시 알고리즘(SHA) 계열을 개발했습니다. SHA-0은 결함이 있는 알고리즘으로 NSA에서 사용을 중단했고, SHA-1은 널리 사용되고 있으며 MD5보다 안전하지만 암호 분석가들은 SHA-1에 대한 공격 가능성을 발견했습니다. SHA-2 계열은 SHA-1을 개선했지만 2011년 기준으로 충돌에 취약했습니다. 미국 표준 당국은 보안 관점에서 NIST의 전체 해시 알고리즘 툴킷의 견고성을 크게 향상하기 위해 새로운 표준을 개발하는 것이 신중하다고 생각했습니다. 2012년까지 SHA-3라고 불리는 새로운 미국 국가 표준을 선정하기 위한 해시함수 설계 경쟁이 계획되었고, 2012년 10월 2일 NIST가 Keccak을 새로운 SHA-3 해시 알고리즘으로 발표하면서 종료되었습니다.
암호해독의 목표는 암호화 체계의 약점이나 보안 취약점을 찾아내어 이를 무력화하거나 회피하는 것입니다. 클로드 섀넌은 제2차 세계 대전 당시 벨 연구소에서 수행한 연구에서 키 자료가 진정으로 무작위적이고, 재사용되지 않으며, 모든 공격자에게 비밀로 유지되고, 메시지와 같거나 더 긴 경우 일회용 패드 암호는 해독 불가능하다는 것을 증명했습니다. 일회용 패드를 제외한 대부분의 암호는 충분한 계산 노력을 기울이면 무차별 대입 공격으로 해독될 수 있지만, 필요한 노력의 양은 암호를 사용하는 데 필요한 노력에 비해 키 크기에 기하급수적으로 의존할 수 있습니다.
암호해독 공격에는 다양한 유형이 있습니다. 암호문 전용 공격에서는 Eve가 암호문에만 접근할 수 있고, 알려진 평문 공격에서는 Eve가 암호문과 그에 대응하는 평문에 접근할 수 있습니다. 선택 평문 공격에서는 Eve가 평문을 선택하고 그에 대응하는 암호문을 알 수 있으며, 선택 암호문 공격에서는 Eve가 암호문을 선택하고 그에 대응하는 평문을 알 수 있습니다. 마지막으로 중간자 공격에서는 Eve가 발신자와 수신자 사이에 개입하여 트래픽에 접근하고 수정하여 수신자에게 전달합니다. 공개키 알고리즘은 다양한 문제의 계산 난이도에 기반합니다. 가장 유명한 문제로는 반소수의 정수 인수분해와 이산 로그 계산이 있습니다.
사용자의 관점에서 암호해독은 방패와 창의 끝없는 경쟁을 상징합니다. 암호학이 정보를 지키는 학문이라면, 암호해독은 그 방어를 시험하고 취약점을 찾아내는 학문입니다. 양자 컴퓨팅의 등장은 이러한 경쟁에 새로운 국면을 가져올 것으로 예상됩니다. 추정에 따르면 양자 컴퓨터는 오늘날 가장 강력한 RSA 또는 타원 곡선 키를 해독하는 데 필요한 노력을 수천 년에서 단 몇 초로 줄여 현재 프로토콜을 안전하지 않게 만들 수 있습니다. 이러한 양자 위협을 완화하기 위해 연구원들은 고전 컴퓨터와 양자 컴퓨터 모두에 대해 여전히 어려운 문제로 여겨지는 문제에 기반한 보안을 갖춘 양자 저항 알고리즘을 개발하고 있습니다.
| 해시 알고리즘 | 개발 시기 | 보안 상태 |
|---|---|---|
| MD4 | 1990년 | 취약점 발견 |
| MD5 | 1991년 | 취약점 존재 |
| SHA-1 | 1995년 | 공격 가능성 발견 |
| SHA-2 | 2001년 | 상대적으로 안전 |
| SHA-3 (Keccak) | 2012년 | 현재 표준 |
암호학은 눈에 보이지 않지만 우리가 살아가는 디지털 세상을 지탱하고 있습니다. 대칭키 암호화부터 공개키 암호화, 그리고 해시함수에 이르기까지 각각의 기술은 고유한 역할을 수행하며 정보 보안의 근간을 이룹니다. 정보를 숨긴다는 것이 단순히 감추는 것이 아닌 지키기 위한 선택이라는 점은 암호학이 가진 본질적 가치를 보여줍니다. 현대 사회에서 암호학은 단순한 기술을 넘어 신뢰와 관계를 이어주는 학문으로 자리 잡았습니다. 양자 컴퓨팅과 같은 새로운 도전에 직면하더라도, 암호학은 끊임없이 진화하며 우리의 디지털 삶을 보호할 것입니다.
자주 묻는 질문 (FAQ)
Q. 대칭키 암호화와 공개키 암호화 중 어떤 것이 더 안전한가요?
A. 안전성은 키의 길이와 알고리즘 구현에 따라 달라지므로 일률적으로 비교하기 어렵습니다. 대칭키 암호화는 빠르고 효율적이지만 키 관리가 복잡하고, 공개키 암호화는 키 관리가 용이하지만 계산 비용이 높습니다. 실제로는 두 방식을 결합한 하이브리드 암호 시스템이 널리 사용됩니다.
Q. 일회용 패드가 완벽한 암호라면 왜 모든 곳에서 사용하지 않나요?
A. 일회용 패드는 이론적으로 해독 불가능하지만 실용성에 한계가 있습니다. 키 자료가 메시지와 같거나 더 길어야 하고, 진정으로 무작위적이어야 하며, 절대 재사용되어서는 안 되고, 모든 공격자에게 비밀로 유지되어야 합니다. 이러한 조건을 모두 충족하기는 매우 어렵고 비용이 많이 들어 실제 사용이 제한적입니다.
Q. SHA-3가 SHA-2보다 더 안전한가요?
A. SHA-3는 SHA-2를 대체하기 위해 개발된 것이 아니라 NIST의 전체 해시 알고리즘 툴킷의 견고성을 향상시키기 위해 추가된 것입니다. SHA-2는 현재까지도 안전하게 사용되고 있으며, SHA-3는 다른 설계 원리를 기반으로 하여 SHA-2에 취약점이 발견될 경우를 대비한 대안을 제공합니다. 두 알고리즘 모두 현재 표준으로 인정받고 있습니다.
Q. 양자 컴퓨터가 등장하면 현재의 모든 암호화가 무용지물이 되나요?
A. 양자 컴퓨터는 RSA나 타원 곡선 암호화 같은 공개키 암호 시스템에 심각한 위협이 되지만, AES 같은 대칭키 암호화는 키 길이를 늘리면 여전히 안전하게 사용할 수 있습니다. 또한 연구원들은 양자 저항 알고리즘인 양자 후 암호화를 개발하고 있어, 양자 컴퓨터 시대에도 안전한 암호화가 가능할 것으로 예상됩니다.
[출처]
Wikipedia - Cryptography: https://en.wikipedia.org/wiki/Cryptography