# 비대칭 키 알고리즘 (Asymmetric Key Algorithm)

비대칭 키 알고리즘(asymmetric key algorithm)은 서로 수학적으로 연결된 한 쌍의 키, 즉 누구에게나 공개해도 되는 ‘공개 키’와 소유자만 아는 ‘개인 키’를 사용하는 암호 방식입니다. 공개 키 암호(public-key cryptography)라고도 하며, 한 키로 처리한 결과를 짝이 되는 다른 키로만 풀거나 검증할 수 있다는 점이 특징입니다. 공개 키에서 개인 키를 계산해 내는 것은 현실적으로 불가능하도록 설계됩니다.

## 두 가지 쓰임: 암호화와 서명

- **암호화:** 보내는 사람이 받는 사람의 공개 키로 메시지를 암호화하면, 짝이 되는 개인 키를 가진 받는 사람만 복호화할 수 있습니다. 누구나 넣고 잠글 수 있지만 열쇠를 가진 사람만 열 수 있는 잠금 상자에 비유할 수 있습니다.
- **디지털 서명:** 소유자가 개인 키로 메시지에 서명하면, 누구나 공개 키로 그 서명이 진짜인지, 메시지가 바뀌지 않았는지 검증할 수 있습니다.

대표적인 알고리즘으로는 큰 수의 소인수분해의 어려움에 기반한 RSA와, 타원곡선 위 이산로그 문제의 어려움에 기반한 타원곡선 암호(ECC)가 있습니다. 비트코인과 이더리움은 secp256k1 곡선 위의 타원곡선 서명(ECDSA, 비트코인은 Schnorr 서명도 지원)을 사용합니다.

## 암호화폐에서의 역할

블록체인에서 비대칭 키 알고리즘은 주로 암호화가 아니라 **서명**에 쓰입니다.

- **개인 키:** 소유자만 가지고 있어야 하는 비밀 값입니다. 트랜잭션에 서명해 자금 사용을 승인하는 데 쓰이므로 절대 다른 사람에게 알려서는 안 됩니다. 개인 키를 잃으면 자금에 접근할 수 없고, 유출되면 누구나 자금을 옮길 수 있습니다.
- **공개 키:** 개인 키에서 계산되며, 네트워크의 노드가 서명을 검증하는 데 사용합니다.
- **주소:** 대부분의 주소 형식에서 주소는 공개 키 자체가 아니라 공개 키를 해시해 만든 값입니다. 비트코인의 P2PKH 주소 등은 공개 키에 SHA-256과 RIPEMD-160을 적용하고(Taproot 주소는 예외적으로 변형된 공개 키를 그대로 담습니다), 이더리움은 공개 키의 Keccak-256 해시 중 마지막 20바이트를 주소로 씁니다. 자금을 받을 때는 이 주소만 알려 주면 됩니다.

## 예시:

1. 누군가 비트코인을 보내려 하면, 받는 사람의 주소를 수신처로 하는 트랜잭션을 만듭니다. 받는 사람의 개인 키는 필요하지 않습니다.
2. 받은 비트코인을 사용하려면 받는 사람이 개인 키로 새 트랜잭션에 서명합니다. 노드는 서명과 공개 키를 확인하고, 공개 키가 해당 주소와 일치하는지(예: 공개 키의 해시가 주소와 같은지) 검증한 뒤 거래를 받아들입니다.

이렇게 해서 개인 키를 가진 사람만 그 주소에 묶인 암호화폐를 사용할 수 있습니다.

## 장점:

- **키 배포의 편의성:** 공개 키는 공개적으로 배포될 수 있어, 사전에 비밀 키를 공유해야 하는 대칭 키 알고리즘에 비해 키 교환 과정이 단순합니다.
- **디지털 서명 및 부인 방지:** 서명으로 발신자를 확인하고 메시지 무결성을 보장하며, 보낸 사람이 서명 사실을 부인하기 어렵게 합니다.
- **비밀의 분리:** 복호화와 서명에 필요한 개인 키는 소유자만 보관하므로, 공개 키가 알려져도 보안이 유지됩니다.

## 단점:

1. **계산 복잡성:** 계산량이 많아 대칭 알고리즘에 비해 암호화 및 복호화 속도가 느립니다. 그래서 실제 통신에서는 비대칭 키로 대칭 키를 안전하게 교환한 뒤 데이터는 대칭 키로 암호화하는 방식을 많이 씁니다.
2. **키 관리:** 개인 키의 안전한 저장 및 관리가 중요합니다. 개인 키를 잃어버리면 데이터나 자산에 접근할 수 없게 됩니다.
3. **공개 키의 진정성:** 받은 공개 키가 정말 상대방의 것인지 확인해야 하며, 인터넷에서는 이를 위해 공개 키 기반 구조(PKI)와 인증서를 사용합니다.

## 응용 분야:

- **보안 통신 (SSL/TLS):** 웹사이트 접속 및 이메일 전송과 같은 온라인 통신 보안 유지.
- **디지털 서명:** 디지털 계약 및 소프트웨어 배포에서 문서의 진정성 및 무결성 확인.
- **암호화폐:** 트랜잭션 서명과 소유권 증명.

비대칭 키 알고리즘은 사전에 비밀 키를 공유할 필요 없이 안전한 통신과 검증을 가능하게 한다는 점에서 현대 암호와 블록체인의 기반 기술입니다.

---
출처: https://achivx.kr/glossary/asymmetric-key-algorithm-%EB%B9%84%EB%8C%80%EC%B9%AD-%ED%82%A4-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98/ · ACHIVX 용어 사전 · 수정일 2026-10-20
