공개키 암호
1. 개요
1. 개요
공개키 암호는 암호화와 복호화에 서로 다른 키를 사용하는 암호 방식을 말한다. 이는 암호화 키와 복호화 키가 동일한 대칭키 암호와 구분되는 핵심 특징으로, 비대칭키 암호라고도 불린다. 이 방식은 암호학의 한 분야로, 정보 보안을 실현하는 데 필수적인 기술이다.
이 개념은 1976년에 처음 제안되었다. 공개키 암호의 주요 용도는 디지털 서명, 키 교환, 그리고 메시지 암호화이다. 사용자는 한 쌍의 키를 생성하는데, 이 중 하나는 공개해도 안전한 공개키이고, 다른 하나는 절대 외부에 노출되어서는 안 되는 개인키이다.
공개키 암호는 현대 인터넷 보안의 근간을 이루며, SSL/TLS 프로토콜을 통한 웹 사이트 보안, 전자상거래, 블록체인 기술, 그리고 전자문서의 인증 등 다양한 분야에서 광범위하게 활용되고 있다.
2. 기본 원리
2. 기본 원리
2.1. 공개키와 개인키
2.1. 공개키와 개인키
공개키 암호 시스템의 핵심은 한 쌍의 수학적으로 연결된 키를 사용하는 것이다. 이 키 쌍은 공개키와 개인키로 구성된다. 공개키는 이름 그대로 누구에게나 공개해도 안전한 키이다. 이 키는 메시지를 암호화하거나 디지털 서명을 검증하는 데 사용된다. 반면, 개인키는 절대 외부에 공개되지 않고 키 소유자만이 비밀로 보관해야 하는 키이다. 개인키는 공개키로 암호화된 메시지를 복호화하거나 디지털 서명을 생성하는 데 사용된다.
두 키는 수학적 일방향 함수를 통해 생성되며, 서로 깊은 연관성을 가지고 있지만, 공개키를 알고 있다고 해서 개인키를 쉽게 유추할 수 없다는 것이 핵심 원리이다. 이는 큰 수의 소인수 분해 문제나 이산 로그 문제와 같은 계산상 어려운 문제에 기반을 두고 있다. 따라서 공개키는 전화번호부처럼 공개 디렉터리에 등록하여 누구나 쉽게 찾아볼 수 있게 하는 것이 일반적이다.
이러한 비대칭적 키 구조는 대칭키 암호 방식의 근본적인 문제점인 키 배포의 어려움을 해결한다. 대칭키 방식에서는 암호화와 복호화에 같은 키를 사용하기 때문에, 통신을 시작하기 전에 안전한 채널을 통해 비밀키를 공유해야 하는 딜레마가 있다. 공개키 암호에서는 상대방의 공개키만 알면 누구나 메시지를 암호화하여 보낼 수 있으며, 그 메시지는 오직 해당 개인키의 소유자만이 열어볼 수 있다.
키 쌍의 소유권과 책임은 개인키에 집중된다. 개인키가 유출되면 해당 키 쌍으로 수행된 모든 암호화 통신이 노출되고, 위조된 디지털 서명을 생성할 수 있게 되어 신원 도용의 위험이 발생한다. 따라서 개인키의 안전한 보관과 관리가 정보 보안에서 가장 중요한 요소 중 하나로 여겨진다.
2.2. 암호화와 복호화 과정
2.2. 암호화와 복호화 과정
공개키 암호 시스템에서 암호화와 복호화 과정은 서로 다른 한 쌍의 키를 사용한다. 메시지를 암호화할 때는 수신자의 공개키를 사용한다. 이 공개키는 누구나 알 수 있으며, 이를 사용해 평문을 암호문으로 변환한다. 이 과정에서 중요한 점은 공개키로 암호화된 정보는 그 공개키와 쌍을 이루는 개인키로만 복호화할 수 있다는 것이다.
복호화 과정은 오직 개인키의 소유자인 수신자만이 수행할 수 있다. 수신자는 자신만이 알고 있는 개인키를 사용해 암호문을 원래의 평문으로 되돌린다. 이 구조는 키 배포 문제를 해결하는데, 즉 안전한 비밀 채널 없이도 공개적으로 키를 배포할 수 있게 한다. 예를 들어, 앨리스와 밥이 통신할 때 앨리스는 밥의 공개키로 메시지를 암호화해 보내고, 밥은 자신의 개인키로 이를 해독한다.
이러한 비대칭적 과정은 기밀성을 보장하는 데 핵심적이다. 공개키는 암호화만 가능하고 복호화는 불가능하기 때문에, 공개키가 유출되더라도 암호문의 기밀성은 유지된다. 이 원리는 디지털 서명에도 응용되는데, 이 경우 개인키로 서명(암호화)을 생성하고 공개키로 그 서명을 검증(복호화)하는 역방향 과정을 사용한다.
암호화와 복호화에 사용되는 수학적 함수는 일방향 함수의 성질을 가진다. 공개키로 암호화하는 것은 비교적 쉽지만, 공개키만으로 복호화하는 것은 계산상 극히 어렵도록 설계되어 있다. 이 계산적 난이도는 소인수분해 문제나 이산 로그 문제와 같은 수학적 난제에 기반하며, RSA나 타원곡선 암호와 같은 주요 알고리즘의 보안성을 뒷받침한다.
3. 주요 알고리즘
3. 주요 알고리즘
3.1. RSA
3.1. RSA
RSA는 공개키 암호 시스템의 대표적인 알고리즘이다. 1977년 론 리베스트, 아디 샤미르, 레너드 애들먼에 의해 발명되었으며, 이들의 이름 첫 글자를 따서 RSA로 명명되었다. 이 알고리즘의 안전성은 큰 소수를 소인수분해하는 것이 어렵다는 사실에 기반한다. 즉, 매우 큰 두 소수를 곱한 값(합성수)은 공개키를 구성하는 데 사용되지만, 그 합성수로부터 원래의 두 소수를 찾아내는 것은 현실적인 시간 내에 거의 불가능하다는 점이 보안의 핵심이다.
RSA 알고리즘의 동작 과정은 크게 키 생성, 암호화, 복호화 단계로 나뉜다. 먼저 키 생성 단계에서는 두 개의 큰 소수를 선택하고 이를 곱하여 공개키와 개인키를 계산한다. 암호화를 원하는 사람은 수신자의 공개키를 사용하여 평문을 암호화한다. 이렇게 생성된 암호문은 수신자만이 자신의 개인키를 사용하여 원래의 평문으로 복호화할 수 있다. 이 과정에서 공개키로는 암호화만 가능하며, 복호화는 개인키로만 가능한 비대칭 구조를 갖는다.
RSA는 디지털 서명에도 널리 사용된다. 서명 생성자는 자신의 개인키로 메시지에 서명을 생성하고, 검증자는 서명자의 공개키를 사용하여 그 서명의 진위를 확인한다. 이는 메시지의 무결성과 부인 방지를 보장하는 중요한 기능이다. RSA는 SSL/TLS 프로토콜을 통한 웹 브라우저 보안 통신, 이메일 암호화(PGP), 그리고 많은 블록체인 시스템의 기본 인프라에서 핵심적인 역할을 한다.
그러나 RSA의 안전성을 위해서는 충분히 긴 키 길이를 사용해야 한다. 초기에는 512비트 키가 사용되었으나, 컴퓨팅 성능의 발전과 더 정교한 공격 기법의 등장으로 현재는 2048비트 이상의 키를 권장한다. 또한, 양자 컴퓨팅의 발전은 소인수분해 문제를 효율적으로 해결할 수 있는 쇼어 알고리즘을 가능하게 하여 장기적으로 RSA의 안전성을 위협하는 요소로 지목되고 있다. 이에 대응하기 위해 양자내성암호 연구가 활발히 진행되고 있다.
3.2. 타원곡선 암호(ECC)
3.2. 타원곡선 암호(ECC)
타원곡선 암호는 타원곡선 상의 이산대수 문제의 난해함을 기반으로 하는 공개키 암호 알고리즘이다. RSA와 같은 기존 공개키 암호에 비해 동일한 수준의 암호학적 안전성을 유지하면서도 훨씬 짧은 키 길이를 사용한다는 장점이 있다. 예를 들어, 256비트 ECC 키는 3072비트 RSA 키와 비슷한 보안 강도를 제공한다. 이로 인해 키의 크기가 작아지고 연산 속도가 빨라져, 처리 능력과 저장 공간이 제한된 모바일 장비나 사물인터넷 기기에서 효율적으로 사용될 수 있다.
ECC의 기본 원리는 유한체 위에 정의된 타원곡선 상의 점들 간의 연산을 이용한다. 공개키는 타원곡선 상의 한 기준점을 개인키(임의의 큰 정수)만큼 스칼라 곱셈하여 생성한다. 암호화, 복호화, 디지털 서명 생성 및 검증은 모두 이 곡선 상의 점 연산을 통해 이루어진다. 공격자가 공개키로부터 개인키를 알아내려면 이산대수 문제를 풀어야 하는데, 이는 현재 일반적인 컴퓨터로는 계산상 불가능한 문제로 알려져 있다.
비교 항목 | 타원곡선 암호 (ECC) | RSA |
|---|---|---|
기반 문제 | 타원곡선 이산대수 문제 | 큰 정수의 소인수분해 문제 |
키 길이 (동등 보안) | 짧음 (예: 256비트) | 김 (예: 3072비트) |
처리 속도 | 일반적으로 빠름 | 상대적으로 느림 |
주요 응용 |
타원곡선 암호는 비트코인 및 이더리움을 포함한 많은 암호화폐의 디지털 서명 체계에 핵심 기술로 채택되어 있다. 또한, 전자정부 인증서나 무선 통신 보안 프로토콜에서도 점차 그 사용이 확대되고 있다. 그러나 양자 컴퓨터의 발전은 타원곡선 이산대수 문제를 효율적으로 해결할 수 있는 쇼어 알고리즘을 통해 ECC에 심각한 위협이 될 수 있어, 양자내성암호로의 전환이 장기적인 과제로 대두되고 있다.
3.3. 디피-헬만 키 교환
3.3. 디피-헬만 키 교환
디피-헬만 키 교환은 공개키 암호 체계의 핵심 구성 요소 중 하나로, 안전하지 않은 공개 채널을 통해 두 당사자가 비밀 키를 공유할 수 있게 해주는 암호학적 프로토콜이다. 이 방식은 1976년 휫필드 디피와 마틴 헬만에 의해 제안되었으며, 이후 공개키 암호의 실용화에 중요한 기반을 제공했다. 디피-헬만 키 교환 자체는 메시지를 직접 암호화하지 않고, 이후 대칭키 암호에서 사용할 공통의 비밀 키를 안전하게 생성하는 데 목적이 있다.
이 방식의 기본 원리는 이산 로그 문제의 계산적 난이도에 기반한다. 먼저, 두 사용자(앨리스와 밥)는 큰 소수 p와 그에 대한 원시근 g라는 공개 매개변수를 합의한다. 이후 각자는 자신만의 개인키를 선택하고, 이를 이용해 공개적으로 교환할 공개키를 계산한다. 앨리스는 자신의 공개키를 밥에게, 밥은 자신의 공개키를 앨리스에게 보낸다. 최종적으로, 각자는 상대방의 공개키와 자신의 개인키를 사용하여 동일한 공유 비밀 키를 독립적으로 계산할 수 있다. 제삼자는 공개된 정보만으로는 이 공유 비밀 키를 계산하기가 매우 어렵다.
디피-헬만 키 교환은 SSL/TLS, IPsec, SSH와 같은 많은 보안 통신 프로토콜에서 안전한 통신 세션을 수립하기 위한 키 합의 메커니즘으로 널리 사용된다. 그러나 이 방식은 중간자 공격에 취약할 수 있어, 교환되는 공개키의 진위를 디지털 서명 등을 통해 인증하는 과정이 함께 필요하다. 또한, 양자 컴퓨팅의 발전으로 인해 이산 로그 문제를 빠르게 해결할 수 있는 쇼어 알고리즘이 실용화되면 현재의 디피-헬만 키 교환은 보안성을 상실하게 된다. 이에 대응하기 위한 양자내성암호 기반의 키 교환 알고리즘 연구가 활발히 진행 중이다.
4. 양자 컴퓨팅의 위협
4. 양자 컴퓨팅의 위협
4.1. 쇼어 알고리즘
4.1. 쇼어 알고리즘
쇼어 알고리즘은 양자 컴퓨터를 이용하여 큰 정수의 소인수분해 문제를 다항식 시간 내에 해결할 수 있는 알고리즘이다. 피터 쇼어가 1994년에 제안한 이 알고리즘은 현대 공개키 암호 체계의 근간을 이루는 수학적 난제를 효율적으로 깨뜨릴 수 있어, 양자 컴퓨팅 시대의 주요 보안 위협으로 평가받는다.
이 알고리즘의 핵심은 소인수분해 문제를 주기 찾기 문제로 환원한 후, 양자 푸리에 변환을 적용하여 그 주기를 빠르게 찾아내는 데 있다. 고전 컴퓨터로는 처리 시간이 수백 년 이상 걸릴 수 있는 매우 큰 수의 소인수분해도, 충분한 큐비트를 가진 양자 컴퓨터에서는 이론적으로 실용적인 시간 내에 수행 가능해진다. 이는 RSA 암호의 안전성이 큰 수의 소인수분해의 어려움에 기반하고 있기 때문에 직접적인 위협이 된다.
쇼어 알고리즘의 등장은 암호학계에 큰 충격을 주었으며, 이는 단순히 RSA뿐만 아니라 디피-헬만 키 교환과 같은 다른 공개키 기반 프로토콜에도 동일한 위험을 초래한다. 이 알고리즘이 실용화되면 현재 널리 사용되는 대부분의 공개키 암호 체계가 근본적으로 무력화될 수 있다는 점에서, 양자내성암호와 같은 대체 기술 개발의 필요성을 촉발시키는 결정적 계기가 되었다.
4.2. 현행 공개키 암호의 취약점
4.2. 현행 공개키 암호의 취약점
현행 공개키 암호는 양자 컴퓨터의 발전에 따라 근본적인 취약점에 직면해 있다. 현재 널리 사용되는 RSA나 타원곡선 암호(ECC)와 같은 알고리즘은 대부분 큰 수의 소인수분해나 이산 로그 문제와 같은 수학적 난제의 해결 난이도에 그 안전성을 의존한다. 그러나 쇼어 알고리즘과 같은 양자 알고리즘은 이러한 문제를 기존 고전 컴퓨터에 비해 지수적으로 빠른 속도로 해결할 수 있는 이론적 가능성을 제시한다.
이는 구체적으로 공개키로부터 개인키를 효율적으로 추론할 수 있게 함으로써, 현재의 공개키 기반 구조(PKI) 전체를 붕괴시킬 위험을 내포한다. 예를 들어, RSA 암호는 큰 두 소수의 곱을 소인수분해하는 것이 어렵다는 점에 기반하는데, 충분히 강력한 양자 컴퓨터가 실현되면 이 기반이 무너지게 된다. 마찬가지로 디피-헬만 키 교환이나 타원곡선 디피-헬만(ECDH)의 안전성도 이산 로그 문제의 난이도에 의존하므로 동일한 위협에 노출된다.
이러한 취약점은 단순히 미래의 위협이 아니라 이미 현실적인 문제로 인식되고 있다. 양자 컴퓨터의 발전 속도를 고려할 때, 오늘 암호화된 중요한 데이터를 저장해 두었다가 미래에 양자 컴퓨터로 해독하는 '지금 암호화, 나중 해독'(Store Now, Decrypt Later) 공격이 가능해질 수 있다. 이는 국가 기밀, 금융 거래 기록, 개인 건강 정보 등 장기간 보호가 필요한 데이터에 심각한 위험을 초래한다.
따라서 암호학계와 정보 보안 산업은 이러한 양자 위협에 대비하기 위해 양자내성암호(PQC)라고 불리는 새로운 표준 암호 알고리즘을 개발하고 표준화하는 데 주력하고 있다. 이는 기존 공개키 암호를 대체하여 양자 컴퓨터 시대에도 안전한 디지털 서명과 키 교환을 가능하게 할 것으로 기대된다.
5. 양자 보안 기술과의 관계
5. 양자 보안 기술과의 관계
5.1. 양자내성암호(PQC)
5.1. 양자내성암호(PQC)
양자내성암호는 양자 컴퓨터의 발전으로 인해 기존 공개키 암호 체계가 위협받는 상황에서 등장한 새로운 암호 체계이다. 양자내성암호는 쇼어 알고리즘과 같은 양자 알고리즘으로도 해독하기 어려운 수학적 문제에 기반을 두고 설계된다. 이는 양자 컴퓨터의 공격에 대해 '내성'을 갖추었다는 의미에서 붙여진 이름이며, 미국 국립표준기술연구소(NIST)를 중심으로 국제적인 표준화 작업이 활발히 진행 중이다.
양자내성암호는 크게 격자 기반 암호, 코드 기반 암호, 다변량 다항식 암호 등 여러 가지 수학적 난제를 바탕으로 한 다양한 후보 알고리즘들이 연구되고 있다. 이러한 알고리즘들은 기존의 RSA나 타원곡선 암호와 달리 큰 수의 소인수분해나 이산로그 문제에 의존하지 않는다. 대신, 다차원 공간에서의 최단 벡터 찾기 문제나 오류 정정 코드의 복호화 문제와 같이 양자 컴퓨터로도 효율적으로 풀기 어려운 것으로 알려진 문제들을 활용한다.
양자내성암호의 도입은 현재 사용 중인 대부분의 디지털 서명 및 키 교환 프로토콜을 대체해야 할 필요성을 의미한다. 특히 장기간 보안이 요구되는 정부 기밀문서나 금융 거래, 블록체인 시스템, 기반구조 보호 등의 분야에서 선제적인 적용이 논의되고 있다. 이는 양자 컴퓨터가 실용화되기 전에 미리 보안 체계를 전환하는 '양자 대비' 전략의 핵심이다.
한편, 양자내성암호는 양자키분배와 함께 양자 시대의 주요 보안 기술로 분류되지만, 그 접근 방식은 근본적으로 다르다. 양자내성암호는 순수하게 수학적 난제에 기반한 소프트웨어적 솔루션인 반면, 양자키분배는 양역학의 물리적 원리를 이용한 하드웨어 기반의 키 교환 기술이다. 따라서 두 기술은 상호 보완적일 수 있으며, 향후 하이브리드 시스템 형태로 결합되어 사용될 가능성도 있다.
5.2. 양자키분배(QKD)
5.2. 양자키분배(QKD)
양자키분배는 양자역학의 원리를 이용하여 두 당사자 사이에 암호학적으로 안전한 공유키를 생성하고 분배하는 프로토콜이다. 이 기술은 기존의 공개키 암호 방식이 아닌, 양자역학의 불확정성 원리와 양자 얽힘 현상을 보안의 근간으로 삼는다. 따라서 통신 도중 제3자가 키를 훔치려 시도하면 양자 상태의 붕괴를 일으켜 그 사실을 감지할 수 있게 되어, 이론적으로 도청이 불가능한 키 분배를 실현한다.
양자키분배의 대표적인 프로토콜로는 찰스 베넷과 질라르 브라사르가 제안한 BB84 프로토콜이 있으며, 이후 E91 프로토콜 등 다양한 변형이 개발되었다. 이 과정에서는 일반적으로 광자와 같은 양자 입자를 정보의 매개체로 사용하며, 광섬유 네트워크나 자유 공간을 통해 전송된다. 최근에는 실용화를 위해 위성 통신을 이용한 장거리 실험도 활발히 진행되고 있다.
양자키분배는 양자내성암호와 함께 양자 컴퓨팅 시대를 대비하는 핵심 양자 보안 기술로 주목받고 있다. 그러나 양자키분배는 키 분배 자체의 안전성만을 보장할 뿐, 실제 메시지 암호화에는 여전히 대칭키 암호가 필요하다는 점에서 공개키 암호를 완전히 대체하지는 않는다. 또한 장거리 통신을 위한 신뢰할 수 있는 중계 노드 문제나 실용적인 장비 비용과 같은 과제도 남아 있다.
6. 응용 분야
6. 응용 분야
6.1. 디지털 서명
6.1. 디지털 서명
디지털 서명은 공개키 암호의 가장 중요한 응용 분야 중 하나이다. 이는 전자 문서의 진위와 무결성을 보장하는 기술로, 종이 문서에 서명하는 것과 유사한 역할을 한다. 디지털 서명은 인증, 부인 방지, 데이터 무결성 보호라는 세 가지 핵심 목적을 달성한다.
디지털 서명의 과정은 공개키와 개인키의 역할이 암호화와 반대로 이루어진다. 서명자는 자신의 개인키를 사용하여 메시지의 해시 값을 암호화하여 서명을 생성한다. 이후 수신자는 서명자의 공개키를 사용하여 서명을 복호화하고, 이를 직접 계산한 메시지의 해시 값과 비교한다. 두 값이 일치하면 서명이 유효함을 확인할 수 있다. 이 과정을 통해 문서가 위조되거나 변조되지 않았으며, 특정 서명자로부터 발신되었음을 증명할 수 있다.
이 기술은 전자 상거래, 전자 정부, 소프트웨어 배포 등 다양한 분야에서 필수적으로 사용된다. 특히 SSL/TLS 프로토콜을 통한 웹사이트 인증이나 블록체인에서의 거래 검증에 핵심적으로 적용된다. 공인인증서 또한 디지털 서명 기술을 기반으로 동작한다.
6.2. SSL/TLS
6.2. SSL/TLS
SSL/TLS는 인터넷 상에서 데이터 통신의 보안을 제공하기 위해 널리 사용되는 프로토콜이다. 이 프로토콜은 공개키 암호 방식을 핵심 요소로 활용하여, 클라이언트와 서버 간의 통신을 암호화하고 상대방의 신원을 확인한다. 특히 웹 브라우징, 이메일, 인스턴트 메시징 등 다양한 애플리케이션에서 데이터의 기밀성과 무결성을 보장하는 데 필수적이다.
SSL/TLS 핸드셰이크 과정에서 공개키 암호는 두 가지 주요 역할을 수행한다. 첫째, 디피-헬만 키 교환이나 RSA 알고리즘을 이용하여 양측이 안전하게 대칭키를 공유할 수 있도록 한다. 이렇게 생성된 대칭키는 이후 실제 데이터 암호화에 사용된다. 둘째, 서버의 디지털 서명된 인증서를 검증하는 데 사용된다. 클라이언트는 서버가 제공한 인증서에 포함된 공개키로 서명을 검증하여, 통신 상대방이 신뢰할 수 있는 주체임을 확인한다.
이 프로토콜의 보안은 근본적으로 사용된 공개키 암호 알고리즘의 안전성에 의존한다. 따라서 양자 컴퓨팅의 발전으로 인한 기존 공개키 암호의 잠재적 위협은 SSL/TLS 체계에도 직접적인 영향을 미친다. 이에 대응하여 양자내성암호(PQC) 알고리즘을 통합한 차세대 TLS 표준에 대한 연구와 표준화 작업이 활발히 진행 중이다.
6.3. 블록체인
6.3. 블록체인
블록체인 기술은 공개키 암호를 핵심적인 기반 요소로 활용한다. 블록체인은 분산 원장 기술의 일종으로, 거래 내역을 블록 단위로 기록하고 이를 암호학적으로 연결하여 위변조가 거의 불가능한 구조를 가진다. 이 과정에서 공개키 암호는 두 가지 주요 기능을 담당한다: 디지털 서명을 통한 거래의 인증과 소유권 증명, 그리고 키 교환을 통한 안전한 통신 채널 수립이다.
블록체인 네트워크에서 각 참여자는 고유한 공개키와 개인키 쌍을 생성한다. 공개키는 지갑 주소와 같은 식별자로 공개적으로 사용되며, 개인키는 절대 외부에 노출되지 않고 사용자가 안전하게 보관한다. 비트코인이나 이더리움과 같은 암호화폐를 송금할 때, 송신자는 거래 정보를 자신의 개인키로 서명하여 네트워크에 브로드캐스트한다. 네트워크의 다른 노드들은 해당 송신자의 공개키를 이용해 이 서명을 검증함으로써, 거래가 정당한 소유자에 의해 생성되었음을 확인할 수 있다.
또한, 스마트 계약 플랫폼이나 특정 분산 애플리케이션(DApp)에서는 참여자 간의 민감한 정보 교환이 필요할 수 있다. 이때 디피-헬만 키 교환과 같은 공개키 기반의 키 합의 프로토콜이 사용되어, 두 당사자만이 알 수 있는 공유 대칭키를 안전하게 생성할 수 있다. 이렇게 생성된 대칭키는 이후의 대량 데이터 암호화에 효율적으로 사용된다. 따라서 공개키 암호는 블록체인의 보안성, 무결성, 그리고 신뢰 모델의 근간을 이루는 필수 기술이다.
7. 역사
7. 역사
공개키 암호의 개념은 1976년 휫필드 디피와 마틴 헬만이 발표한 논문 "New Directions in Cryptography"를 통해 최초로 공식적으로 제안되었다. 이 논문은 암호화와 복호화에 동일한 비밀키를 사용하는 기존의 대칭키 암호 체계를 벗어나, 공개적으로 알려진 키로 암호화하고 비밀로 유지된 다른 키로 복호화하는 비대칭 방식을 소개했다. 이는 키 분배 문제를 해결할 수 있는 혁신적인 아이디어였으며, 현대 암호학의 중요한 전환점이 되었다.
이론적 개념이 제안된 직후인 1977년, 로널드 라이베스트, 아디 샤미르, 레너드 애들먼 세 명의 연구자가 구체적인 알고리즘인 RSA를 개발하여 공개했다. RSA는 큰 소수의 인수 분해 문제의 난해함에 기반한 최초의 실용적인 공개키 암호 시스템으로, 이후 수십 년간 디지털 보안의 핵심 기술로 자리 잡았다. 같은 시기에 랠프 머클도 공개키 암호와 디지털 서명에 관한 독자적인 연구를 진행했으며, 그의 아이디어는 이후 머클의 퍼즐 등에 영향을 미쳤다.
공개키 암호의 초기 발전은 주로 수학적 난제에 기반한 방식에 집중되었다. 1985년에는 닐 코블리츠와 빅터 밀러가 독립적으로 타원곡선 암호(ECC)를 제안했다. ECC는 RSA에 비해 짧은 키 길이로 동등한 수준의 보안성을 제공할 수 있어, 계산 자원이 제한된 모바일 기기나 사물인터넷 장치에서의 적용이 용이해졌다. 이처럼 공개키 암호는 이론에서 출발하여 인터넷 보안, 전자상거래, 블록체인 등 현대 디지털 사회의 필수 인프라로 진화해왔다.
8. 여담
8. 여담
공개키 암호는 현대 디지털 보안의 근간을 이루지만, 그 개념은 역사적으로 오래전부터 존재했다. 19세기 후반, 영국의 외교관이자 작가인 제임스 엘리스는 비밀 통신을 위한 아이디어를 고안했으나, 당시 기술로는 실현이 어려워 영국 정부의 국가보안국에 의해 기밀로 분류되었다. 이는 공개키 암호의 원리가 공식적으로 발표되기 훨씬 이전의 일이다.
공개키 암호의 핵심 아이디어는 트랩도어 함수라는 수학적 개념에 기반한다. 이는 한 방향으로는 계산하기 쉽지만, 특별한 정보(개인키) 없이는 반대 방향으로 되돌리기 어려운 함수를 의미한다. 예를 들어, 두 큰 소수를 곱하는 것은 쉽지만, 그 곱을 다시 소인수분해하는 것은 매우 어렵다는 점이 RSA 알고리즘의 기본 원리이다. 이러한 수학적 난제의 난이도가 공개키 암호의 안전성을 보장한다.
공개키 암호는 인터넷의 발전과 함께 급속히 보급되었다. 전자상거래, 온라인 뱅킹, 이메일 보안 등 일상생활의 다양한 디지털 활동이 공개키 암호 기술 없이는 불가능했을 것이다. 특히 SSL/TLS 프로토콜은 웹 브라우저와 서버 간의 안전한 통신을 가능하게 하여, 오늘날의 보안된 월드 와이드 웹을 만드는 데 결정적인 역할을 했다.
