암호학
용어심층cryptography · cryptology
암호학은 제3자가 정보를 읽거나 위조하지 못하도록 데이터를 변환·검증하는 기술과 이론을 다루는 학문으로, 고대의 단순 치환 암호에서 출발해 오늘날에는 정수론·확률론에 기반한 수학 분야로 발전했으며 인터넷 보안과 블록체인의 근간을 이룬다.
1.개요
암호학(Cryptography)은 제3자가 정보를 열람하거나 위조하지 못하도록 데이터를 변환하고 검증하는 기술과 이론을 다루는 학문이다. 어원은 '숨겨진'을 뜻하는 그리스어 kryptós와 '쓰기'를 뜻하는 gráphein에서 유래했으며, 고대의 단순 치환 암호에서 출발해 오늘날에는 정수론·확률론 등에 기반한 엄밀한 수학 분야로 발전했다. 수학을 중심으로 컴퓨터공학·통신 등 여러 분야가 함께 연구·개발한다.
초기의 암호는 주로 군사·외교 목적의 메시지 보안에 초점이 맞춰져 있었으나, 오늘날에는 인증과 서명까지 그 범주에 포함되어 일상에서 떼어놓을 수 없는 기술이 되었다. 현금지급기 이용, 컴퓨터 패스워드, 전자상거래는 모두 현대적 의미의 암호로 안전성을 보장받는다.
암호 방식은 크게 대칭키 암호와 공개키(비대칭키) 암호로 나뉜다. 대칭키 방식은 암호화와 복호화에 같은 열쇠를 쓰고, 공개키 방식은 공개키와 개인키 한 쌍을 사용한다. 후자는 열쇠를 미리 공유하지 않고도 안전한 통신을 가능하게 하여 현대 인터넷 보안의 근간이 되었다. 현대 암호학은 암호 시스템, 암호 분석, 인증 및 전자서명 등을 주요 분야로 포함한다.
[1]2.기본 용어
암호학에서 보호 대상이 되는 원래 메시지를 평문(plaintext)이라 하고, 이를 암호학적 방법으로 변환한 결과를 암호문(ciphertext)이라 한다. 평문을 암호문으로 바꾸는 과정을 암호화(encryption), 그 역과정으로 암호문에서 평문을 복원하는 과정을 복호화(decryption)라 한다. 이 변환에 쓰이는 값이 키(key)이며, 암호 시스템의 안전성은 대체로 알고리즘 자체가 아니라 키에 달려 있다.
암호 프로토콜을 설명할 때에는 관례적으로 송신자를 앨리스(Alice), 수신자를 밥(Bob)이라 부른다. 이 문서에서도 두 사람 사이의 통신을 예로 들어 대칭키·공개키 방식의 동작을 설명한다.
3.보안 목표
암호학적 서비스가 제공하려는 목표는 다음과 같이 정리된다.
- 기밀성(Confidentiality): 허가받은 당사자만 내용에 접근할 수 있어야 하며, 부적절한 노출을 막는다.
- 무결성(Integrity): 데이터가 전송·저장 중에 허가 없이 변경되지 않았음을 보장한다.
- 가용성(Availability): 정당한 사용자가 필요할 때 서비스를 이용할 수 있어야 하며, 부적절한 서비스 거부를 막는다.
- 인증(Authentication): 메시지를 보낸 주체가 누구인지 확인한다.
- 부인방지(Non-repudiation): 메시지를 보내거나 받은 주체가 사후에 그 사실을 부인하지 못하게 한다.
기밀성이 암호의 전통적 목표라면, 무결성·인증·부인방지는 전자서명과 해시 기술이 발전하면서 함께 중요해진 목표다.
4.역사
암호의 기원은 수천 년 전으로 거슬러 올라간다. 기록으로 남은 가장 오래된 암호 가운데 하나는 율리우스 카이사르가 사용한 대입(치환) 암호이며, 고대 그리스에서는 막대에 띠를 감아 글자를 뒤섞는 스키테일(scytale) 전치 암호가 쓰였다. 이 시기의 기법을 고전 암호학이라 부르는데, 오랫동안 기본 원리에 큰 변화가 없었다.
고전 기법에 뚜렷한 변화가 생긴 것은 20세기 초로, 회전자(로터)를 이용한 독일의 에니그마(Enigma) 기계가 대표적이다. 암호의 발전은 이를 해독하려는 암호분석학(cryptanalysis)과 나란히 이루어졌다. 주로 암호문에 나타나는 문자의 빈도를 분석하는 방식이 쓰였고, 해독의 결과가 역사를 바꾸기도 했다. 치머만 전보의 해독은 미국이 제1차 세계대전에 참전하는 계기가 되었고, 연합군이 나치의 암호를 해독한 일은 제2차 세계대전의 기간을 약 2년 단축시킨 것으로 평가된다.
20세기부터 1970년대 이전까지 암호학은 대체로 정부의 안보 영역에 속했다. 그러나 공개 표준과 공개키 암호의 등장은 암호학을 대중의 영역으로 끌어냈고, 오늘날 누구나 사용하는 인터넷 보안 기술의 토대가 되었다.
5.대칭키 암호
대칭키 암호는 암호화에 쓰는 키와 복호화에 쓰는 키가 같은(또는 한쪽에서 다른 쪽을 쉽게 얻을 수 있는) 방식이다. 앨리스와 밥이 같은 키를 비밀히 공유한 상태에서, 앨리스가 그 키로 암호화하면 밥이 같은 키로 복호화한다. 보통 복호화는 암호화의 역과정이다.
알고리즘이 상대적으로 단순하고 처리 속도가 빠른 것이 장점이지만, 키 관리가 어렵다는 약점이 있다. 사용자가 서로 다른 키를 두 사람마다 하나씩 나눠 가져야 하므로, n명이 가입한 시스템에는 n(n−1)/2개의 키가 필요하고 각 사용자는 n−1개의 키를 관리해야 한다. 이 부담이 곧 공개키 암호가 등장한 배경이 되었다.
안전성은 키의 길이에 크게 좌우되어 일반적으로 키가 길수록 안전하지만, 지나치게 길면 관리가 어려워진다. 대표적인 예로 냉전 시절 워싱턴과 모스크바를 잇는 핫라인에 쓰인 일회용 암호표(OTP, one-time pad)가 있다. 널리 쓰이는 알고리즘으로는 DES, AES, ARIA, SEED, Twofish 등이 있으며, 이 가운데 SEED와 ARIA는 국내에서 개발·표준화된 대칭키 암호다.
6.공개키 암호
공개키(비대칭키) 암호는 대칭키 방식의 키 관리 부담을 덜기 위해 등장했다. 각 사용자는 두 개의 키를 받는데, 하나는 널리 공개되는 공개키(public key)이고 다른 하나는 본인만 비밀히 보관하는 개인키(비밀키)다. 각자 자신의 개인키만 관리하면 되므로 관리해야 할 키의 수가 크게 줄어든다. 다만 다른 사용자의 공개키를 찾아볼 수 있는 공개키 디렉터리 같은 관리 체계가 필요하다.
앨리스는 밥의 공개키로 문서를 암호화해 보내고, 밥은 자신만 아는 개인키로 이를 복호화한다. 공개키만으로는 복호화할 수 없으므로 암호화한 앨리스조차 복원할 수 없다. 반대로 개인키로 암호화하고 공개키로 검증하면 해당 개인키의 보유자가 누구인지 확인할 수 있는데, 이 성질이 전자서명의 바탕이 된다.
두 키의 수학적 관계 위에서 여러 단계의 산술 연산을 거치기 때문에, 공개키 암호는 대칭키 방식보다 속도가 느리다. 잘 알려진 방식으로 RSA, ElGamal, 타원곡선 암호(ECC), 배낭 암호 등이 있다. 이들의 안전성은 한 방향 계산은 쉽지만 역방향은 매우 어려운 수학 문제에 기댄다. 예컨대 RSA는 두 큰 소수를 곱하기는 쉬워도, 그 곱을 다시 소인수로 분해하기는 현실적으로 어렵다는 점에 안전성의 근거를 둔다.
7.해시 함수와 무결성
암호학적 해시 함수는 임의 길이의 데이터를 고정 길이의 고유한 값으로 변환한다. 같은 입력은 항상 같은 출력을 내지만, 출력에서 입력을 되돌리거나 같은 출력을 내는 다른 입력을 찾기는 매우 어렵다. 이 성질 덕분에 해시는 데이터가 변조되지 않았는지 검증하는 무결성 확인에 널리 쓰인다.
- SHA-256: 비트코인 등에서 쓰이는 대표적 해시 함수로, 블록을 서로 연결하고 작업증명 채굴의 기반이 된다.
- 케차크(Keccak): SHA-3로 표준화된 해시 알고리즘으로 이더리움 계열에서 활용된다.
- MD5: 초기에 널리 쓰였으나 충돌이 발견되어 보안 용도로는 부적합한 것으로 간주된다.
해시는 여러 데이터를 한 값으로 요약하는 머클 트리 구조에도 쓰여, 대량의 거래를 효율적으로 검증하는 데 활용된다.
8.전자서명과 인증
전자서명은 공개키 암호의 성질을 뒤집어 활용한다. 사용자는 자신의 개인키로 메시지나 거래에 서명하고, 누구나 대응하는 공개키로 그 서명의 진위를 검증할 수 있다. 이를 통해 서명자가 실제 개인키 보유자임을 확인하고(인증), 서명한 사실을 부인하지 못하게 한다(부인방지). 전자서명 방식으로는 RSA, DSA 등이 쓰인다.
기본 서명을 확장한 기법도 널리 활용된다. 여러 개의 서명이 모여야 거래가 성립하는 다중서명은 자산 관리의 안전성을 높이고, 서명자를 여러 후보 가운데 특정하지 못하게 하는 링 서명은 프라이버시를 강화한다.
9.암호화폐·블록체인에서의 역할
'크립토(crypto)'라는 별칭이 붙을 만큼, 암호학은 블록체인과 암호화폐를 떠받치는 핵심 기술이다. 대표적으로 세 가지 요소가 쓰인다.
첫째, 해싱이다. SHA-256이나 케차크 같은 암호학적 해시 함수는 임의 길이의 데이터를 고정 길이의 고유한 값으로 변환하여 블록을 서로 연결하고, 데이터 변조 여부를 검증하는 데 쓰인다. 이는 작업증명 채굴의 기반이기도 하다.
둘째, 전자서명이다. 사용자는 자신의 개인키로 거래에 서명하고, 누구나 대응하는 공개키로 그 서명의 진위를 검증할 수 있다. 이를 통해 소유자만이 자산을 이전할 수 있음이 보장된다. 다중서명이나 링 서명처럼 프라이버시나 보안을 강화한 변형 기법도 널리 활용된다.
셋째, 열쇠 관리다. 지갑과 시드 구문은 개인키를 안전하게 생성·보관하기 위한 장치이며, 하나의 시드에서 여러 키를 파생하는 계층 결정적 지갑도 널리 쓰인다. 이 모든 안전성은 결국 암호학적 난이도에 의존한다.
10.양자암호
공개키 암호의 안전성은 소인수분해나 이산대수처럼 풀기 어려운 수학 문제에 기대고 있어, 그 문제가 해결되면 안전성도 무너진다. 이론적으로 가장 안전한 암호로는 일회용 암호표(OTP)가 꼽히지만, OTP는 대칭키 방식이어서 키 생성·분배 등 키 관리의 어려움을 안고 있다.
양자암호(quantum cryptography)는 이러한 키 분배 문제를 물리 법칙으로 해결하려는 시도이며, 사실상 양자키분배(QKD)로 이해된다. 그 안전성은 불확정성 원리에 근거한다. 키를 나누는 양자 채널을 도청자가 측정하면 불확정성 원리에 따라 신호에 교란이 생기고, 정당한 사용자가 이를 감지할 수 있다.
1984년 찰스 베넷과 질 브라사르가 완성한 BB84가 대표적 프로토콜로, 광자의 편광 상태를 수직·수평·두 대각선으로 나누어 디지털 신호를 표현한다. 이후 양자 얽힘을 이용한 E91 등이 제안되었다. 다만 양자암호도 중간자 공격 등에는 취약할 수 있는데, 이러한 공격은 고가의 물리적 장비를 필요로 하여 현실적 위협은 제한적이다.
11.앞으로의 과제
충분히 강력한 양자컴퓨터가 등장하면 소인수분해나 이산대수 문제를 빠르게 풀 수 있어, RSA·타원곡선 암호 등 오늘날 널리 쓰이는 공개키 암호의 안전성이 위협받을 수 있다. 이에 대응해 양자컴퓨터로도 깨기 어려운 문제에 기반한 양자내성(포스트양자) 암호의 연구·표준화가 진행되고 있다.
한편 MD5처럼 한때 표준으로 쓰이던 알고리즘이 취약점 발견으로 퇴출된 사례가 보여주듯, 암호 기술은 계산 능력의 발전과 새로운 공격 기법에 맞춰 끊임없이 갱신되어야 한다. 블록체인·암호화폐 생태계 역시 이러한 암호학의 진화에 안전성을 의존하고 있다.
12.관련 개념
13.연표7건
- 1976이정표디피와 헬만이 사전 키 공유 없이 안전한 통신을 가능케 하는 공개키 암호 개념 제시
- 1977이정표RSA 공개키 암호 발표, 대칭키 표준 DES가 미국 표준으로 채택
- 1984이정표베넷과 브라사르가 양자키분배 프로토콜 BB84 완성
- 1991이정표양자 얽힘을 이용한 양자암호 프로토콜 E91 제안
- 2001규제라인달 알고리즘이 AES라는 이름으로 미국 표준 대칭키 암호로 채택
- 2009이정표비트코인이 해시·전자서명 등 암호학 기술을 결합해 블록체인으로 구현
- 2015이정표케차크 기반 SHA-3가 해시 함수 표준으로 확정
각주
- [1]위키백과 — 암호학
암호학, 어렵지 않아요 인터넷과 블록체인을 지키는 비밀글 기술
1. 암호학이 뭐예요?
암호학(Cryptography)은 다른 사람이 내 정보를 몰래 훔쳐보거나 가짜로 바꿔치기하지 못하도록, 데이터를 알아볼 수 없게 바꾸고 또 진짜인지 확인하는 기술과 이론을 다루는 학문이에요. 이름은 '숨겨진'이라는 뜻의 그리스어 kryptós와 '쓰기'라는 뜻의 gráphein에서 왔어요. 옛날에는 글자를 다른 글자로 단순히 바꿔치기하는 수준이었지만, 오늘날에는 정수론·확률론 같은 수학에 뿌리를 둔 아주 엄밀한 분야로 발전했어요. 수학을 중심에 두고 컴퓨터공학·통신 등 여러 분야가 함께 연구하고 만들어요.
처음에는 주로 군대나 외교에서 오가는 메시지를 안전하게 지키는 데 쓰였어요. 그런데 지금은 '이 사람이 진짜 맞는지 확인하기(인증)', '내가 보냈다고 도장 찍기(서명)'까지 암호학에 들어와서, 일상에서 뗄 수 없는 기술이 됐어요. 현금지급기를 쓰거나, 컴퓨터에 비밀번호를 넣거나, 인터넷으로 물건을 살 때 모두 현대적인 암호가 안전을 지켜 주고 있어요.
암호 방식은 크게 두 가지로 나뉘어요. 하나는 '대칭키 암호'로, 잠글 때와 열 때 똑같은 열쇠를 써요. 다른 하나는 '공개키(비대칭키) 암호'로, 공개키와 개인키 두 개를 한 쌍으로 써요. 공개키 방식은 열쇠를 미리 몰래 나눠 갖지 않아도 안전하게 통신할 수 있게 해 줘서, 오늘날 인터넷 보안의 바탕이 됐어요. 현대 암호학은 이렇게 암호를 만드는 것(암호 시스템), 남의 암호를 푸는 것(암호 분석), 인증과 전자서명 같은 것들을 주요 분야로 다뤄요.
이렇게 보면 쉬워요 · 편지를 아무도 못 읽게 자물쇠 상자에 넣고, 그 상자가 진짜 내 것인지 도장까지 찍는 기술이에요.
2. 먼저 알아 둘 말들 (평문·암호문·키)
암호학에서는 지켜야 할 원래 메시지를 평문(plaintext)이라고 해요. 이걸 암호로 알아볼 수 없게 바꾼 결과가 암호문(ciphertext)이에요. 평문을 암호문으로 바꾸는 과정을 암호화(encryption), 반대로 암호문을 다시 평문으로 되돌리는 과정을 복호화(decryption)라고 해요.
이 변환에 쓰는 값이 바로 키(key), 즉 열쇠예요. 여기서 중요한 점이 있어요. 암호가 안전한지 아닌지는 대개 '어떤 방법(알고리즘)을 쓰느냐'가 아니라 '열쇠(키)를 얼마나 잘 지키느냐'에 달려 있어요. 방법 자체는 남이 알아도 열쇠만 지키면 되는 거예요.
그리고 암호 방식을 설명할 때는 관례적으로 보내는 사람을 앨리스(Alice), 받는 사람을 밥(Bob)이라고 불러요. 이 문서에서도 앨리스와 밥, 두 사람이 주고받는 통신을 예로 들어서 대칭키·공개키 방식이 어떻게 움직이는지 설명해요.
3. 암호로 뭘 지키려는 걸까요?
암호학이 이뤄 주려는 목표는 이렇게 정리할 수 있어요.
- 기밀성(Confidentiality): 허락받은 사람만 내용을 볼 수 있어야 해요. 엉뚱한 사람에게 내용이 새어 나가는 걸 막아요.
- 무결성(Integrity): 데이터가 오가거나 저장되는 동안 몰래 바뀌지 않았다는 걸 보장해요.
- 가용성(Availability): 정당한 사용자가 필요할 때 서비스를 제대로 쓸 수 있어야 해요. 부당하게 서비스가 막히는 걸 막아요.
- 인증(Authentication): 메시지를 보낸 사람이 누구인지 확인해요.
- 부인방지(Non-repudiation): 메시지를 보내거나 받은 사람이 나중에 '난 그런 적 없다'고 발뺌하지 못하게 해요.
기밀성이 암호의 전통적인 목표라면, 무결성·인증·부인방지는 전자서명과 해시 기술이 발전하면서 함께 중요해진 목표예요.
4. 암호는 어떻게 발전해 왔나요?
암호의 시작은 수천 년 전으로 거슬러 올라가요. 기록으로 남은 가장 오래된 암호 중 하나가 로마의 율리우스 카이사르가 쓴 대입(치환) 암호예요. 글자를 정해진 규칙에 따라 다른 글자로 바꿔치기하는 방식이죠. 고대 그리스에서는 막대에 띠를 감아 글자 순서를 뒤섞는 스키테일(scytale)이라는 전치 암호도 썼어요. 이 시절의 기법을 고전 암호학이라고 부르는데, 오랫동안 기본 원리에 큰 변화가 없었어요.
고전 기법에 뚜렷한 변화가 생긴 건 20세기 초예요. 회전자(로터)를 이용한 독일의 에니그마(Enigma) 기계가 대표적이에요. 그리고 암호가 발전하는 만큼, 그걸 풀어내려는 암호분석학(cryptanalysis)도 나란히 발전했어요. 주로 암호문에 어떤 글자가 얼마나 자주 나오는지(빈도)를 분석하는 방식을 썼는데, 이 해독의 결과가 역사를 바꾸기도 했어요. 치머만 전보를 해독한 일은 미국이 제1차 세계대전에 뛰어드는 계기가 됐고, 연합군이 나치의 암호를 풀어낸 일은 제2차 세계대전 기간을 약 2년이나 줄인 것으로 평가돼요.
20세기부터 1970년대 이전까지 암호학은 대체로 정부의 안보 영역에 속한 것이었어요. 그런데 공개 표준과 공개키 암호가 등장하면서 암호학은 일반 대중의 영역으로 나오게 됐고, 오늘날 누구나 쓰는 인터넷 보안 기술의 토대가 됐어요.
5. 대칭키 암호 — 같은 열쇠로 잠그고 열기
대칭키 암호는 잠글 때(암호화)와 열 때(복호화) 쓰는 열쇠가 같은 방식이에요. 정확히는 같거나, 한쪽에서 다른 쪽 열쇠를 쉽게 얻어 낼 수 있는 방식을 말해요. 앨리스와 밥이 똑같은 열쇠를 남몰래 나눠 가진 상태에서, 앨리스가 그 열쇠로 잠그면 밥이 같은 열쇠로 열어요. 보통 여는 과정은 잠그는 과정을 그대로 거꾸로 하는 거예요.
장점은 방법이 비교적 단순하고 처리 속도가 빠르다는 거예요. 반면 열쇠 관리가 어렵다는 약점이 있어요. 두 사람이 통신하려면 그 둘만의 열쇠가 하나 필요한데, 사람이 많아지면 이게 폭발적으로 늘어나요. n명이 가입한 시스템이라면 n(n−1)/2개의 열쇠가 필요하고, 한 사람이 n−1개의 열쇠를 관리해야 해요. 이 부담이 바로 공개키 암호가 등장하게 된 배경이에요.
안전성은 열쇠의 길이에 크게 좌우돼요. 보통 열쇠가 길수록 안전하지만, 너무 길면 관리가 어려워지는 문제가 있어요. 대표적인 예로 냉전 시절 워싱턴과 모스크바를 잇던 핫라인에 쓰인 일회용 암호표(OTP, one-time pad)가 있어요. 널리 쓰이는 알고리즘으로는 DES, AES, ARIA, SEED, Twofish 등이 있는데, 이 중 SEED와 ARIA는 국내에서 개발하고 표준으로 정한 대칭키 암호예요.
이렇게 보면 쉬워요 · 친구와 똑같은 열쇠를 하나씩 나눠 갖는 거라, 친구가 많아지면 챙길 열쇠도 그만큼 많아져요.
6. 공개키 암호 — 열쇠를 두 개로 나누기
공개키(비대칭키) 암호는 대칭키 방식의 열쇠 관리 부담을 덜려고 나왔어요. 각 사용자는 열쇠를 두 개 받아요. 하나는 누구에게나 널리 알려도 되는 공개키(public key)이고, 다른 하나는 본인만 몰래 보관하는 개인키(비밀키)예요. 저마다 자기 개인키 하나만 잘 지키면 되니까, 관리해야 할 열쇠 수가 확 줄어들어요. 다만 다른 사람의 공개키를 찾아볼 수 있는 공개키 디렉터리 같은 관리 체계는 따로 필요해요.
앨리스는 밥의 공개키로 문서를 잠가서 보내고, 밥은 자기만 아는 개인키로 그걸 열어요. 공개키만으로는 열 수 없기 때문에, 잠근 앨리스조차 다시 열 수 없어요. 반대로 개인키로 잠그고 공개키로 확인하면, 그 개인키를 가진 사람이 누구인지 확인할 수 있어요. 바로 이 성질이 전자서명의 바탕이 돼요.
두 열쇠의 수학적 관계 위에서 여러 단계의 계산을 거치기 때문에, 공개키 암호는 대칭키 방식보다 속도가 느려요. 잘 알려진 방식으로 RSA, ElGamal, 타원곡선 암호(ECC), 배낭 암호 등이 있어요. 이들의 안전성은 '한쪽 방향으로 계산하기는 쉬운데 거꾸로 되돌리기는 아주 어려운' 수학 문제에 기대고 있어요. 예를 들어 RSA는 큰 소수 두 개를 곱하기는 쉽지만, 그 곱을 다시 소수로 쪼개기는(소인수분해) 현실적으로 매우 어렵다는 점을 안전성의 근거로 삼아요.
이렇게 보면 쉬워요 · 누구나 편지를 넣을 수 있는 우체통(공개키)은 열어 두되, 그 안을 꺼내는 열쇠(개인키)는 나만 갖고 있는 셈이에요.
7. 해시 함수 — 데이터가 바뀌지 않았는지 확인하기
암호학적 해시 함수는 아무리 길이가 제각각인 데이터라도 고정된 길이의 고유한 값으로 바꿔 줘요. 같은 입력을 넣으면 늘 같은 결과가 나오지만, 그 결과값을 보고 원래 입력을 되돌리거나, 똑같은 결과가 나오는 다른 입력을 찾아내기는 매우 어려워요. 이 성질 덕분에 해시는 데이터가 도중에 바뀌지 않았는지 확인하는 무결성 검사에 널리 쓰여요.
- SHA-256: 비트코인 등에서 쓰이는 대표적인 해시 함수예요. 블록들을 서로 연결하고, 작업증명 채굴의 기반이 돼요.
- 케차크(Keccak): SHA-3로 표준이 된 해시 알고리즘으로, 이더리움 계열에서 쓰여요.
- MD5: 초기에 널리 쓰였지만, 서로 다른 입력이 같은 결과를 내는 '충돌'이 발견되면서 보안 용도로는 부적합한 것으로 봐요.
해시는 여러 데이터를 하나의 값으로 요약하는 머클 트리 구조에도 쓰여서, 아주 많은 거래를 효율적으로 검증하는 데 활용돼요.
이렇게 보면 쉬워요 · 문서마다 찍히는 고유한 지문 같은 거라, 지문이 달라지면 내용이 손댔다는 걸 바로 알 수 있어요.
8. 전자서명 — 디지털 세상의 도장
전자서명은 공개키 암호의 성질을 거꾸로 뒤집어 활용해요. 사용자는 자기 개인키로 메시지나 거래에 서명하고, 누구든지 그에 대응하는 공개키로 그 서명이 진짜인지 확인할 수 있어요. 이렇게 하면 서명한 사람이 실제로 그 개인키를 가진 본인이라는 걸 확인하고(인증), 나중에 '난 서명 안 했다'고 발뺌하지 못하게 막을 수 있어요(부인방지). 전자서명 방식으로는 RSA, DSA 등이 쓰여요.
기본 서명을 확장한 기법도 널리 쓰여요. 여러 개의 서명이 모여야만 거래가 성립하는 다중서명은 자산 관리를 더 안전하게 해 주고, 서명한 사람이 여러 후보 중 누구인지 콕 집어내지 못하게 하는 링 서명은 프라이버시를 강화해 줘요.
9. 암호화폐·블록체인에서는 어떻게 쓰이나요?
'크립토(crypto)'라는 별명이 붙을 만큼, 암호학은 블록체인과 암호화폐를 떠받치는 핵심 기술이에요. 대표적으로 세 가지 요소가 쓰여요.
첫째, 해싱이에요. SHA-256이나 케차크 같은 암호학적 해시 함수는 아무 길이의 데이터든 고정 길이의 고유한 값으로 바꿔서, 블록들을 서로 연결하고 데이터가 변조됐는지 검증하는 데 써요. 이건 작업증명 채굴의 기반이기도 해요.
둘째, 전자서명이에요. 사용자는 자기 개인키로 거래에 서명하고, 누구나 대응하는 공개키로 그 서명이 진짜인지 확인할 수 있어요. 이 덕분에 오직 소유자만 자기 자산을 옮길 수 있다는 게 보장돼요. 다중서명이나 링 서명처럼 프라이버시나 보안을 강화한 변형 기법도 널리 쓰여요.
셋째, 열쇠 관리예요. 지갑과 시드 구문은 개인키를 안전하게 만들고 보관하기 위한 장치이고, 하나의 시드에서 여러 개의 열쇠를 파생해 내는 계층 결정적 지갑도 널리 쓰여요. 이 모든 안전성은 결국 '암호를 깨기가 얼마나 어려운가'라는 암호학적 난이도에 기대고 있어요.
10. 양자암호 — 물리 법칙으로 열쇠를 지키기
공개키 암호의 안전성은 소인수분해나 이산대수처럼 풀기 어려운 수학 문제에 기대고 있어요. 그래서 만약 그 문제가 쉽게 풀리게 되면 안전성도 무너져요. 이론적으로 가장 안전한 암호로는 일회용 암호표(OTP)가 꼽히지만, OTP는 대칭키 방식이라 열쇠를 만들고 나눠 주는 열쇠 관리의 어려움을 그대로 안고 있어요.
양자암호(quantum cryptography)는 바로 이 열쇠 분배 문제를 물리 법칙으로 풀어 보려는 시도예요. 사실상 양자키분배(QKD)로 이해하면 돼요. 그 안전성은 '불확정성 원리'에 근거해요. 열쇠를 나누는 양자 채널을 도청자가 몰래 측정하면, 불확정성 원리에 따라 신호에 교란(흔들림)이 생겨요. 그러면 정당한 사용자가 '누가 엿봤구나' 하고 알아챌 수 있어요.
1984년 찰스 베넷과 질 브라사르가 완성한 BB84가 대표적인 프로토콜이에요. 빛 알갱이(광자)의 편광 상태를 수직·수평·두 대각선으로 나눠서 디지털 신호를 표현하는 방식이에요. 이후 양자 얽힘을 이용한 E91 같은 방식도 제안됐어요. 다만 양자암호도 중간자 공격(중간에서 양쪽인 척 끼어드는 공격) 같은 데는 취약할 수 있어요. 하지만 이런 공격은 값비싼 물리 장비가 있어야 해서 현실적인 위협은 제한적이에요.
이렇게 보면 쉬워요 · 누가 편지를 몰래 열어 보면 봉투에 흔적이 남게 만들어서, 엿본 사실 자체를 들키게 하는 방식이에요.
11. 앞으로 어떤 숙제가 남아 있나요?
충분히 강력한 양자컴퓨터가 등장하면 소인수분해나 이산대수 문제를 빠르게 풀어낼 수 있어요. 그렇게 되면 오늘날 널리 쓰이는 RSA·타원곡선 암호 같은 공개키 암호의 안전성이 위협받을 수 있어요. 이에 대비해서, 양자컴퓨터로도 깨기 어려운 문제에 기반을 둔 양자내성(포스트양자) 암호를 연구하고 표준으로 정하는 작업이 진행되고 있어요.
한편 MD5처럼 한때 표준으로 쓰이던 알고리즘이 약점이 발견되면서 밀려난 사례가 보여 주듯, 암호 기술은 계산 능력의 발전과 새로운 공격 기법에 맞춰 끊임없이 갱신돼야 해요. 블록체인·암호화폐 생태계 역시 이런 암호학의 진화에 그 안전성을 기대고 있어요.
12. 함께 보면 좋은 개념들
이 문서와 연결되는 개념들을 묶어서 소개할게요.
토큰포스트 위키, “암호학”, 2026-07-31 수정, https://wiki.tokenpost.kr/w/cryptographyAccept: text/markdown 로 요청해도 같은 결과문단 12개 · 연표 7건 · 각주 1개