개인키로 서명한 값은, 해당 개인키에 대응하는 공개키로 누구나 진위 여부를 확인할 수 있다.
🔁 비유적 설명
개인키 = 도장
공개키 = 도장의 무늬 패턴을 아는 사람
서명 = 도장 찍힌 문서
→ 누구나 도장을 찍은 문서가 “진짜 도장에서 나왔는지” 확인할 수 있지만, 도장 자체(=개인키)는 만들 수 없음.
📐 수학적으로 보면
- 개인키 d: 비밀 정수
- 공개키 Q = d·G: 타원곡선 곱셈으로 계산된 결과
- 메시지 m, 서명 (r, s): 개인키를 사용하여 서명
- 누구나:
- 메시지 m
- 서명 (r, s)
- 공개키 Q
를 가지고verify(m, (r,s), Q)
수행 가능
✔️ 이 검증이 성공하면 → “이 서명은 Q에 해당하는 개인키를 가진 자만 만들 수 있다”는 사실을 증명합니다.
📌 중요한 점
항목 | 설명 |
---|---|
✅ 서명 검증 가능성 | 공개키가 공개되어 있으므로, 누구나 검증 가능 |
❌ 개인키 노출 없음 | 공개키나 서명, 메시지로 개인키는 유추할 수 없음 |
🔒 보안 기반 | 타원곡선 이산 로그 문제(ECDLP)의 수학적 난이도 |
🔄 정리된 흐름
scssCopyEdit[ 개인키 d ]
↓ 서명
[ 메시지 + 서명 (r,s) ]
↓ 검증 (공개키 Q = d·G)
[ 누구나 서명의 정당성 확인 가능 ]
✅ 요약
개념 | 요약 설명 |
---|---|
개인키 | 메시지에 대한 유일한 서명을 생성하는 “비밀값” |
서명 | 개인키로 메시지에 대해 생성한 수학적 증거 |
공개키 | 서명이 해당 개인키로 만들어졌는지 누구나 검증할 수 있게 해줌 |
보안성 | 개인키는 절대 노출되지 않고도 소유권 증명이 가능 |