디지털 서명 (Digital Signatures)
특정 개인 키 보유자가 메시지를 생성했으며 변조되지 않았음을 증명하는 암호화 메커니즘 — 비밀을 공유하지 않고 인증, 무결성, 부인 방지를 제공합니다.
후양자 위협: ECDSA와 RSA는 Shor 알고리즘에 취약합니다. NIST는 ML-DSA(CRYSTALS-Dilithium)를 후양자 서명 체계로 표준화했습니다.
graph LR
Center["디지털 서명 (Digital Signatures)"]:::main
Rel_digital_asset_security["digital-asset-security"]:::related -.-> Center
click Rel_digital_asset_security "/terms/digital-asset-security"
Rel_digital_forensics["digital-forensics"]:::related -.-> Center
click Rel_digital_forensics "/terms/digital-forensics"
Rel_digital_certificate_management["digital-certificate-management"]:::related -.-> Center
click Rel_digital_certificate_management "/terms/digital-certificate-management"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 5살도 이해할 수 있게 설명
편지를 쓰고 당신만이 가진 독특한 밀랍 도장으로 봉인한다고 상상해 보세요. 편지를 받은 사람은 당신의 도장을 확인하여 (1) 정말 당신이 보냈고, (2) 아무도 봉인을 깨고 편지를 변경하지 않았음을 확인할 수 있습니다. 디지털 서명도 동일하게 작동합니다 — 개인 키는 고유한 도장이고, 공개 키는 모든 사람이 당신의 도장이 진짜인지 확인하는 참조 책입니다.
🤓 Expert Deep Dive
ECDSA와 nonce 재사용의 치명적 취약점: ECDSA는 각 서명에 무작위 nonce k가 필요합니다. 같은 k가 두 개의 다른 메시지에 사용되면, 개인 키를 대수적으로 복원할 수 있습니다. 2010년 Sony가 고정 k를 사용하여 PlayStation 3 마스터 서명 키가 추출된 것이 바로 이 방식입니다. EdDSA (Ed25519, RFC 8032): nonce는 k = H(privKey || msg)로 결정론적으로 도출되어 재사용이 구조적으로 불가능합니다. 이더리움 주소 = keccak256(pubKey)[12:].
❓ 자주 묻는 질문
What three properties does a digital signature guarantee?
Authentication (proves identity of the signer), Integrity (proves the message was not altered after signing), and Non-repudiation (the signer cannot later deny having signed).
Why is ECDSA dangerous if you reuse the nonce?
The ECDSA math allows anyone who observes two signatures with the same nonce to algebraically compute the private key. This exact flaw was used to extract the Sony PlayStation 3 master signing key.
Why does Ethereum use ECDSA secp256k1 instead of Ed25519?
Bitcoin chose secp256k1 when Ed25519 did not yet exist as a standard. Ethereum inherited Bitcoin's choice. Ed25519 is widely considered the superior modern algorithm and is used for Ethereum's consensus layer validator signing.