Цифрові підписи
Криптографічний механізм, що доводить: повідомлення створено конкретним власником приватного ключа і не було змінено — забезпечуючи автентифікацію, цілісність та неспростовність.
Постквантова загроза: 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 для кожного підпису. Підпис обчислюється як (r, s), де r = (k·G).x і s = k⁻¹(hash(msg) + r·privKey) mod n. Якщо той самий k використовується для двох різних повідомлень, приватний ключ може бути алгебраїчно відновлений. Саме так у 2010 році було витягнуто майстер-ключ PlayStation 3 — прошивка Sony використовувала постійний k. EdDSA (Ed25519): Стандартизований у RFC 8032, EdDSA генерує nonce детерміновано як k = H(privKey_b || msg). Повторне використання nonce виключено за конструкцією. Блокчейн: Адреса Ефіріуму = 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.