# 암호학 (Cryptography)

**암호학(cryptography)**은 정보를 저장하거나 전송할 때 제3자로부터 보호하기 위한 수학적 기법을 연구하는 학문이자 기술입니다. 이름은 그리스어로 “숨겨진 글쓰기”라는 뜻입니다. 정보를 암호문으로 바꾸는 암호화(encryption)는 암호학의 한 분야일 뿐이며, 암호학은 해시 함수, 디지털 서명, 키 교환, 영지식 증명 등 정보의 기밀성·무결성·인증을 다루는 기법 전반을 포함합니다.

## 암호학의 목표

- **기밀성:** 권한이 있는 당사자만 정보를 읽을 수 있도록 합니다.
- **무결성:** 저장되거나 전송된 정보가 변경되지 않았는지 확인합니다.
- **인증:** 메시지를 보낸 사람이나 데이터의 출처가 누구인지 확인합니다.
- **부인 방지:** 메시지를 보낸 당사자가 나중에 그 사실을 부인하지 못하게 합니다.

## 주요 분야

- **대칭키 암호:** 암호화와 복호화에 같은 키를 씁니다. AES, ChaCha20 등이 있으며 빠르지만, 양쪽이 같은 키를 안전하게 나눠 가져야 합니다. 친구에게 비밀 메시지(평문)를 보낼 때 정해진 규칙(암호 알고리즘)과 키로 메시지를 뒤섞어 암호문을 만들고, 같은 키를 가진 친구만 이를 복호화해 읽을 수 있는 방식입니다.
- **공개키(비대칭) 암호:** 누구에게나 공개하는 공개키와 소유자만 아는 개인키 한 쌍을 씁니다. RSA, 타원곡선 암호(ECC)가 대표적이며, 키를 미리 공유하지 않아도 안전한 통신과 키 교환(예: 디피-헬먼)이 가능합니다.
- **해시 함수:** 임의 길이의 데이터를 고정 길이의 값(해시)으로 바꾸는 단방향 함수입니다. SHA-256, Keccak-256 등이 있으며, 입력이 조금만 달라도 결과가 완전히 달라지고 결과로부터 입력을 되찾기 어렵습니다. 데이터의 무결성 확인에 쓰입니다.
- **디지털 서명:** 개인키로 메시지에 서명하고, 누구나 공개키로 그 서명을 검증할 수 있게 하는 기법입니다. ECDSA, EdDSA, 슈노르 서명 등이 있으며 인증과 부인 방지를 제공합니다.
- **영지식 증명(ZKP):** 어떤 사실이 참이라는 것을 그 사실의 내용을 드러내지 않고 증명하는 기법입니다. 개인정보 보호와 블록체인 확장성 기술에 쓰입니다.

## 블록체인에서의 역할

블록체인은 암호학 위에 세워져 있습니다.

- **주소와 소유권:** 지갑 주소는 공개키에서 만들어지며, 코인을 보내려면 해당 개인키로 트랜잭션에 서명해야 합니다. 비트코인과 이더리움은 secp256k1 타원곡선의 ECDSA를 사용합니다(비트코인은 탭루트 이후 슈노르 서명도 사용합니다).
- **블록 연결:** 각 블록은 이전 블록의 해시를 담고 있어, 과거 기록을 바꾸면 이후 모든 해시가 달라지므로 변조가 드러납니다.
- **작업 증명:** 비트코인 채굴은 조건을 만족하는 해시 값을 찾는 과정입니다.
- **머클 트리:** 블록 안의 트랜잭션을 해시로 묶어, 특정 트랜잭션이 포함되었는지 효율적으로 증명합니다.
- **영지식 롤업 등:** 영지식 증명으로 많은 트랜잭션의 처리 결과를 짧게 검증합니다.

공개 블록체인의 트랜잭션 자체는 대부분 암호화되지 않고 공개되어 있습니다. 블록체인에서 암호학이 주로 하는 일은 내용을 숨기는 것이 아니라, 누가 서명했는지와 기록이 바뀌지 않았는지를 보장하는 것입니다.

## 그 밖의 적용 분야와 과제

암호학은 온라인 금융 거래, 의료 기록 보호, 정부 기밀 통신, 기업의 지적 재산과 고객 데이터 보호, 인터넷 통신(HTTPS)과 저장 데이터 보호 등에 널리 쓰입니다. 다만 암호 시스템을 올바르게 구현하려면 전문 지식이 필요하고, 계산 자원이 추가로 들며, 잘못된 사용이나 키 관리 실수는 보안을 무너뜨릴 수 있습니다. 많은 사고는 알고리즘 자체보다 구현 결함과 키 관리 문제에서 비롯됩니다.

---
출처: https://achivx.kr/glossary/cryptography-%EC%95%94%ED%98%B8%ED%95%99/ · ACHIVX 용어 사전 · 수정일 2026-10-20
