---
title: "암호학"
title_en: "Cryptography"
type: 용어
url: https://wiki.tokenpost.kr/w/cryptography
canonical: https://wiki.tokenpost.kr/w/cryptography
language: ko
publisher: "토큰포스트"
updated: 2026-07-31T00:24:35.766+00:00
created: 2026-07-28T23:01:08.482326+00:00
same_as: ["https://ko.wikipedia.org/wiki/%EC%95%94%ED%98%B8%ED%95%99", "https://en.wikipedia.org/wiki/Cryptography"]
status: draft
---

# 암호학
> Cryptography

> **인용 전에 확인해 주세요.** 이 문서는 자동으로 만든 초안이며 사람의
> 검수를 거치지 않았습니다. 사실 관계는 아래 각주의 원문으로 확인해 주세요.

**분류**: 용어

암호학은 제3자가 정보를 읽거나 위조하지 못하도록 데이터를 변환·검증하는 기술과 이론을 다루는 학문으로, 고대의 단순 치환 암호에서 출발해 오늘날에는 정수론·확률론에 기반한 수학 분야로 발전했으며 인터넷 보안과 블록체인의 근간을 이룬다.

## 1. 개요

암호학(Cryptography)은 제3자가 정보를 열람하거나 위조하지 못하도록 데이터를 변환하고 검증하는 기술과 이론을 다루는 학문이다. 어원은 '숨겨진'을 뜻하는 그리스어 kryptós와 '쓰기'를 뜻하는 gráphein에서 유래했으며, 고대의 단순 치환 암호에서 출발해 오늘날에는 정수론·확률론 등에 기반한 엄밀한 수학 분야로 발전했다. 수학을 중심으로 컴퓨터공학·통신 등 여러 분야가 함께 연구·개발한다.

초기의 암호는 주로 군사·외교 목적의 메시지 보안에 초점이 맞춰져 있었으나, 오늘날에는 인증과 서명까지 그 범주에 포함되어 일상에서 떼어놓을 수 없는 기술이 되었다. 현금지급기 이용, 컴퓨터 패스워드, 전자상거래는 모두 현대적 의미의 암호로 안전성을 보장받는다.

암호 방식은 크게 대칭키 암호와 공개키(비대칭키) 암호로 나뉜다. 대칭키 방식은 암호화와 복호화에 같은 열쇠를 쓰고, 공개키 방식은 공개키와 [개인키](https://wiki.tokenpost.kr/w/private-key) 한 쌍을 사용한다. 후자는 열쇠를 미리 공유하지 않고도 안전한 통신을 가능하게 하여 현대 인터넷 보안의 근간이 되었다. 현대 암호학은 암호 시스템, 암호 분석, 인증 및 전자서명 등을 주요 분야로 포함한다.[^1]

## 2. 기본 용어

암호학에서 보호 대상이 되는 원래 메시지를 **평문(plaintext)**이라 하고, 이를 암호학적 방법으로 변환한 결과를 **암호문(ciphertext)**이라 한다. 평문을 암호문으로 바꾸는 과정을 [암호화](https://wiki.tokenpost.kr/w/encryption)(encryption), 그 역과정으로 암호문에서 평문을 복원하는 과정을 [복호화](https://wiki.tokenpost.kr/w/decryption)(decryption)라 한다. 이 변환에 쓰이는 값이 **키(key)**이며, 암호 시스템의 안전성은 대체로 알고리즘 자체가 아니라 키에 달려 있다.

암호 프로토콜을 설명할 때에는 관례적으로 송신자를 앨리스(Alice), 수신자를 밥(Bob)이라 부른다. 이 문서에서도 두 사람 사이의 통신을 예로 들어 대칭키·공개키 방식의 동작을 설명한다.

## 3. 보안 목표

암호학적 서비스가 제공하려는 목표는 다음과 같이 정리된다.

- **기밀성(Confidentiality)**: 허가받은 당사자만 내용에 접근할 수 있어야 하며, 부적절한 노출을 막는다.
- **무결성(Integrity)**: 데이터가 전송·저장 중에 허가 없이 변경되지 않았음을 보장한다.
- **가용성(Availability)**: 정당한 사용자가 필요할 때 서비스를 이용할 수 있어야 하며, 부적절한 서비스 거부를 막는다.
- **인증(Authentication)**: 메시지를 보낸 주체가 누구인지 확인한다.
- **부인방지(Non-repudiation)**: 메시지를 보내거나 받은 주체가 사후에 그 사실을 부인하지 못하게 한다.

기밀성이 암호의 전통적 목표라면, 무결성·인증·부인방지는 [전자서명](https://wiki.tokenpost.kr/w/digital-signature)과 해시 기술이 발전하면서 함께 중요해진 목표다.

## 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)이고 다른 하나는 본인만 비밀히 보관하는 [개인키](https://wiki.tokenpost.kr/w/private-key)(비밀키)다. 각자 자신의 개인키만 관리하면 되므로 관리해야 할 키의 수가 크게 줄어든다. 다만 다른 사용자의 공개키를 찾아볼 수 있는 공개키 디렉터리 같은 관리 체계가 필요하다.

앨리스는 밥의 공개키로 문서를 암호화해 보내고, 밥은 자신만 아는 개인키로 이를 복호화한다. 공개키만으로는 복호화할 수 없으므로 암호화한 앨리스조차 복원할 수 없다. 반대로 개인키로 암호화하고 공개키로 검증하면 해당 개인키의 보유자가 누구인지 확인할 수 있는데, 이 성질이 [전자서명](https://wiki.tokenpost.kr/w/digital-signature)의 바탕이 된다.

두 키의 수학적 관계 위에서 여러 단계의 산술 연산을 거치기 때문에, 공개키 암호는 대칭키 방식보다 속도가 느리다. 잘 알려진 방식으로 RSA, ElGamal, 타원곡선 암호(ECC), 배낭 암호 등이 있다. 이들의 안전성은 한 방향 계산은 쉽지만 역방향은 매우 어려운 수학 문제에 기댄다. 예컨대 RSA는 두 큰 소수를 곱하기는 쉬워도, 그 곱을 다시 소인수로 분해하기는 현실적으로 어렵다는 점에 안전성의 근거를 둔다.

## 7. 해시 함수와 무결성

암호학적 [해시 함수](https://wiki.tokenpost.kr/w/hashing)는 임의 길이의 데이터를 고정 길이의 고유한 값으로 변환한다. 같은 입력은 항상 같은 출력을 내지만, 출력에서 입력을 되돌리거나 같은 출력을 내는 다른 입력을 찾기는 매우 어렵다. 이 성질 덕분에 해시는 데이터가 변조되지 않았는지 검증하는 **무결성** 확인에 널리 쓰인다.

- [SHA](https://wiki.tokenpost.kr/w/sha)-256: 비트코인 등에서 쓰이는 대표적 해시 함수로, 블록을 서로 연결하고 [작업증명](https://wiki.tokenpost.kr/w/proof-of-work) 채굴의 기반이 된다.
- [케차크](https://wiki.tokenpost.kr/w/keccak)(Keccak): SHA-3로 표준화된 해시 알고리즘으로 이더리움 계열에서 활용된다.
- [MD5](https://wiki.tokenpost.kr/w/md5): 초기에 널리 쓰였으나 충돌이 발견되어 보안 용도로는 부적합한 것으로 간주된다.

해시는 여러 데이터를 한 값으로 요약하는 [머클 트리](https://wiki.tokenpost.kr/w/merkel-tree) 구조에도 쓰여, 대량의 거래를 효율적으로 검증하는 데 활용된다.

## 8. 전자서명과 인증

[전자서명](https://wiki.tokenpost.kr/w/digital-signature)은 공개키 암호의 성질을 뒤집어 활용한다. 사용자는 자신의 [개인키](https://wiki.tokenpost.kr/w/private-key)로 메시지나 거래에 서명하고, 누구나 대응하는 공개키로 그 서명의 진위를 검증할 수 있다. 이를 통해 서명자가 실제 개인키 보유자임을 확인하고(인증), 서명한 사실을 부인하지 못하게 한다(부인방지). 전자서명 방식으로는 RSA, DSA 등이 쓰인다.

기본 서명을 확장한 기법도 널리 활용된다. 여러 개의 서명이 모여야 거래가 성립하는 [다중서명](https://wiki.tokenpost.kr/w/multisig)은 자산 관리의 안전성을 높이고, 서명자를 여러 후보 가운데 특정하지 못하게 하는 [링 서명](https://wiki.tokenpost.kr/w/ring-signature)은 프라이버시를 강화한다.

## 9. 암호화폐·블록체인에서의 역할

'크립토(crypto)'라는 별칭이 붙을 만큼, 암호학은 블록체인과 암호화폐를 떠받치는 핵심 기술이다. 대표적으로 세 가지 요소가 쓰인다.

첫째, [해싱](https://wiki.tokenpost.kr/w/hashing)이다. [SHA](https://wiki.tokenpost.kr/w/sha)-256이나 [케차크](https://wiki.tokenpost.kr/w/keccak) 같은 암호학적 해시 함수는 임의 길이의 데이터를 고정 길이의 고유한 값으로 변환하여 블록을 서로 연결하고, 데이터 변조 여부를 검증하는 데 쓰인다. 이는 [작업증명](https://wiki.tokenpost.kr/w/proof-of-work) 채굴의 기반이기도 하다.

둘째, [전자서명](https://wiki.tokenpost.kr/w/digital-signature)이다. 사용자는 자신의 [개인키](https://wiki.tokenpost.kr/w/private-key)로 거래에 서명하고, 누구나 대응하는 공개키로 그 서명의 진위를 검증할 수 있다. 이를 통해 소유자만이 자산을 이전할 수 있음이 보장된다. [다중서명](https://wiki.tokenpost.kr/w/multisig)이나 [링 서명](https://wiki.tokenpost.kr/w/ring-signature)처럼 프라이버시나 보안을 강화한 변형 기법도 널리 활용된다.

셋째, 열쇠 관리다. [지갑](https://wiki.tokenpost.kr/w/wallet)과 [시드 구문](https://wiki.tokenpost.kr/w/seed-phrase)은 개인키를 안전하게 생성·보관하기 위한 장치이며, 하나의 시드에서 여러 키를 파생하는 [계층 결정적 지갑](https://wiki.tokenpost.kr/w/hd-wallets)도 널리 쓰인다. 이 모든 안전성은 결국 암호학적 난이도에 의존한다.

## 10. 양자암호

공개키 암호의 안전성은 소인수분해나 이산대수처럼 풀기 어려운 수학 문제에 기대고 있어, 그 문제가 해결되면 안전성도 무너진다. 이론적으로 가장 안전한 암호로는 일회용 암호표(OTP)가 꼽히지만, OTP는 대칭키 방식이어서 키 생성·분배 등 키 관리의 어려움을 안고 있다.

**양자암호(quantum cryptography)**는 이러한 키 분배 문제를 물리 법칙으로 해결하려는 시도이며, 사실상 **양자키분배(QKD)**로 이해된다. 그 안전성은 불확정성 원리에 근거한다. 키를 나누는 양자 채널을 도청자가 측정하면 불확정성 원리에 따라 신호에 교란이 생기고, 정당한 사용자가 이를 감지할 수 있다.

1984년 찰스 베넷과 질 브라사르가 완성한 **BB84**가 대표적 프로토콜로, 광자의 편광 상태를 수직·수평·두 대각선으로 나누어 디지털 신호를 표현한다. 이후 양자 얽힘을 이용한 **E91** 등이 제안되었다. 다만 양자암호도 중간자 공격 등에는 취약할 수 있는데, 이러한 공격은 고가의 물리적 장비를 필요로 하여 현실적 위협은 제한적이다.

## 11. 앞으로의 과제

충분히 강력한 양자컴퓨터가 등장하면 소인수분해나 이산대수 문제를 빠르게 풀 수 있어, RSA·타원곡선 암호 등 오늘날 널리 쓰이는 공개키 암호의 안전성이 위협받을 수 있다. 이에 대응해 양자컴퓨터로도 깨기 어려운 문제에 기반한 **양자내성(포스트양자) 암호**의 연구·표준화가 진행되고 있다.

한편 MD5처럼 한때 표준으로 쓰이던 알고리즘이 취약점 발견으로 퇴출된 사례가 보여주듯, 암호 기술은 계산 능력의 발전과 새로운 공격 기법에 맞춰 끊임없이 갱신되어야 한다. 블록체인·암호화폐 생태계 역시 이러한 암호학의 진화에 안전성을 의존하고 있다.

## 12. 관련 개념

- [해싱](https://wiki.tokenpost.kr/w/hashing) · [SHA](https://wiki.tokenpost.kr/w/sha) · [MD5](https://wiki.tokenpost.kr/w/md5) · [케차크](https://wiki.tokenpost.kr/w/keccak) · [머클 트리](https://wiki.tokenpost.kr/w/merkel-tree) — 무결성 검증에 쓰이는 해시 기술
- [전자서명](https://wiki.tokenpost.kr/w/digital-signature) · [개인키](https://wiki.tokenpost.kr/w/private-key) — 공개키 암호 기반 신원 인증
- [다중서명](https://wiki.tokenpost.kr/w/multisig) · [링 서명](https://wiki.tokenpost.kr/w/ring-signature) — 보안·프라이버시 강화 서명 기법
- [암호화](https://wiki.tokenpost.kr/w/encryption) · [복호화](https://wiki.tokenpost.kr/w/decryption) · [암호](https://wiki.tokenpost.kr/w/cipher) — 암호 처리의 기본 개념
- [지갑](https://wiki.tokenpost.kr/w/wallet) · [시드 구문](https://wiki.tokenpost.kr/w/seed-phrase) · [계층 결정적 지갑](https://wiki.tokenpost.kr/w/hd-wallets) — 개인키의 생성·보관
- [알고리즘](https://wiki.tokenpost.kr/w/algorithm) — 암호 연산의 기반이 되는 절차

## 13. 연표

- **1976** (이정표) 디피와 헬만이 사전 키 공유 없이 안전한 통신을 가능케 하는 공개키 암호 개념 제시
- **1977** (이정표) RSA 공개키 암호 발표, 대칭키 표준 DES가 미국 표준으로 채택
- **1984** (이정표) 베넷과 브라사르가 양자키분배 프로토콜 BB84 완성
- **1991** (이정표) 양자 얽힘을 이용한 양자암호 프로토콜 E91 제안
- **2001** (규제) 라인달 알고리즘이 AES라는 이름으로 미국 표준 대칭키 암호로 채택
- **2009** (이정표) 비트코인이 해시·전자서명 등 암호학 기술을 결합해 블록체인으로 구현
- **2015** (이정표) 케차크 기반 SHA-3가 해시 함수 표준으로 확정

## 각주

[^1]: [위키백과 — 암호학](https://ko.wikipedia.org/wiki/%EC%95%94%ED%98%B8%ED%95%99)

---

같은 개체: [위키백과(한국어)](https://ko.wikipedia.org/wiki/%EC%95%94%ED%98%B8%ED%95%99) · [Wikipedia(EN)](https://en.wikipedia.org/wiki/Cryptography)

원문: https://wiki.tokenpost.kr/w/cryptography
최종 수정: 2026-07-31T00:24:35.766+00:00
발행: 토큰포스트 위키. 인용할 때 문서 제목과 원문 주소를 함께 밝혀 주세요.