Цифровые подписи
Криптографический механизм, доказывающий, что сообщение создано конкретным владельцем приватного ключа и не было изменено — обеспечивая аутентификацию, целостность и неотказуемость.
Постквантовая угроза: ECDSA и RSA уязвимы к алгоритму Шора. NIST стандартизировал ML-DSA (CRYSTALS-Dilithium) как постквантовую схему подписи.
graph LR
Center["Цифровые подписи"]:::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;
🧒 Простыми словами
Представьте, что вы пишете письмо и запечатываете его уникальной восковой печатью, которая есть только у вас. Получив письмо, любой может проверить вашу печать: (1) оно действительно от вас, (2) никто не сломал печать и не изменил письмо. Цифровая подпись работает так же — ваш приватный ключ — это уникальная печать, а публичный ключ — справочник, по которому все проверяют подлинность вашей печати.
🤓 Expert Deep Dive
ECDSA и катастрофическая уязвимость повторного использования nonce: ECDSA требует случайного nonce k для каждой подписи. Если тот же k использован для двух разных сообщений, приватный ключ может быть алгебраически восстановлен. Именно так в 2010 году был извлечён мастер-ключ 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.