🔑 공개 키 암호화 Asymmetric Cryptography
한 쌍의 키로 정보를 보호하는 방식이에요. 공개 키는 누구에게나 알려줄 수 있고, 개인 키는 나만 아는 비밀로 간직해요. 이 수학 원리 덕분에 크립토 지갑, 디지털 서명, 그리고 브라우저 주소창의 자물쇠 아이콘까지 작동하죠.
📮 쉽게 풀면 — 두 부분으로 된 우편함
거리에 있는 우편함을 떠올려봐요. 위에 뚫린 투입구는 누구나 편지를 넣을 수 있지만, 함 안에 들어온 편지를 꺼내 읽으려면 주인만 가진 열쇠가 있어야 해요. 공개 키 암호화가 바로 이런 방식이에요. 공개 키는 누구에게나 나눠주는 투입구고, 개인 키는 내 주머니 속 열쇠예요. 두 키는 함께 만들어져 수학적으로 연결돼 있지만, 공개 키만 보고 개인 키를 알아내는 건 사실상 불가능합니다.
🔁 키 쌍이 하는 두 가지 역할
키 쌍은 양방향으로 작동해요. 한 키로 잠그면 다른 키로만 열 수 있다는 게 핵심이에요.
| 방향 | 얻을 수 있는 것 |
|---|---|
| 🔒 공개 키로 잠금 | 짝이 되는 개인 키만 열 수 있어요 → 비밀 메시지 전달(기밀성) |
| ✍️ 개인 키로 서명 | 공개 키를 가진 누구든 진짜임을 확인할 수 있어요 → 디지털 서명(신원 증명) |
📨 예전 방식(비밀 하나를 공유)과 비교했을 때 가장 큰 장점은 처음 만나는 두 사람이 미리 비밀을 교환하지 않아도 안전하게 통신할 수 있다는 거예요. 개인 키는 이동할 필요가 없으니 중간에 탈취당할 일도 없고요.
🪙 크립토가 이것 없이는 존재할 수 없는 이유
여기서부터는 실제로 매일 체감하는 부분이에요. 크립토 지갑의 본질은 개인 키예요. 짝이 되는 공개 키를 해시 함수에 통과시키면 수신 주소가 나와요. 코인을 받을 때 건네는 짧은 문자열이 바로 이거예요. 코인을 보낼 때는 개인 키로 거래에 서명하고, 네트워크의 모든 노드가 그 서명을 공개 키로 검증한 뒤 승인해요. 개인 키를 쥐고 있는 사람이 코인을 지배하는 거예요. '키가 없으면 코인도 없다(not your keys, not your coins)'는 말이 여기서 나왔어요.
비트코인과 이더리움 모두 secp256k1 타원 곡선 위에서 ECDSA로 거래에 서명해요. 주소는 공개 키를 해시한 형태인데, 비트코인은 SHA-256에 RIPEMD-160을 한 번 더 적용하고, 이더리움은 Keccak-256 해시의 뒤 20바이트를 씁니다. 눈에 보이는 주소는 공개 키 자체가 아니라 그것을 압축한 지문이에요.
🚨 알아둘 점
- 🙅 주소 ≠ 개인 키 — 주소(공개 키를 해시한 것)는 어디든 공개해도 괜찮아요. 개인 키와 그 백업인 시드 구문은 절대 안 되고요.
- 🔓 단방향 수학 — 공개 키나 주소로는 개인 키를 복원할 수 없어요. 하지만 누군가 개인 키를 얻으면 모든 게 넘어가요.
- 🌐 이미 쓰고 있어요 — 같은 원리가 HTTPS, 보안 이메일, 브라우저 자물쇠 아이콘에도 쓰이고 있어요. 크립토만의 기술이 아닙니다.
- 🔭 미래 과제 — 미래의 양자 컴퓨터가 현재 알고리즘을 위협할 수 있어서 양자 내성 표준 연구가 진행 중이에요. 아직 일반 지갑에 적용되진 않았어요.
❓ 자주 묻는 질문
- 공개 키나 지갑 주소를 공유해도 괜찮나요?
- 네, 괜찮아요. 공개 키(와 그에서 파생된 주소)는 원래 공유하려고 만들어진 것입니다. 다른 사람이 코인을 보내거나 서명을 확인할 때 쓰이거든요. 공개 키에서 개인 키를 역산하는 건 불가능합니다. 절대 공유하면 안 되는 건 오직 개인 키뿐이에요.
- 공개 키와 개인 키의 차이가 뭔가요?
- 둘은 함께 만들어지는 한 쌍입니다. 개인 키는 나만 아는 비밀이고, 공개 키는 개인 키에서 파생되어 자유롭게 공유해요. 공개 키로 암호화한 데이터는 개인 키로만 열 수 있고, 개인 키로 서명한 데이터는 공개 키를 가진 누구든 검증할 수 있어요.
- 이게 크립토 지갑과 무슨 관계인가요?
- 지갑의 본질은 개인 키입니다. 내 수신 주소는 짝을 이루는 공개 키를 해시한 단축 형태예요. 코인을 보낼 때는 개인 키로 거래에 서명하고, 네트워크 노드들이 공개 키로 그 서명을 검증해요. '키가 없으면 코인도 없다(not your keys, not your coins)'는 말이 여기서 나온 거예요.