Podpisy Cyfrowe
Mechanizm kryptograficzny, który udowadnia, że wiadomość została stworzona przez konkretnego właściciela klucza prywatnego i nie została zmieniona — zapewniając uwierzytelnianie, integralność i niezaprzeczalność.
Zagrożenie post-kwantowe: ECDSA i RSA są podatne na algorytm Shora. NIST znormalizował ML-DSA (CRYSTALS-Dilithium) jako postkvantowy schemat podpisu.
graph LR
Center["Podpisy Cyfrowe"]:::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;
🧒 Wyjaśnij jak 5-latkowi
Wyobraź sobie, że piszesz list i pieczętujesz go unikalną pieczęcią woskową, którą tylko ty posiadasz. Gdy ktoś otrzyma list, może sprawdzić twoją pieczęć i potwierdzić: (1) naprawdę pochodzi od ciebie, (2) nikt nie złamał pieczęci i nie zmienił listu. Podpis cyfrowy działa tak samo — klucz prywatny to unikalna pieczęć, a klucz publiczny to katalog, z którego wszyscy korzystają, aby zweryfikować autentyczność twojej pieczęci.
🤓 Expert Deep Dive
ECDSA i katastrofalna podatność na ponowne użycie nonce: ECDSA wymaga losowego nonce k dla każdego podpisu. Jeśli ten sam k zostanie użyty dwukrotnie, klucz prywatny może zostać algebraicznie odtworzony. Dokładnie w ten sposób wydobyto klucz główny PlayStation 3 w 2010 roku. EdDSA (Ed25519, RFC 8032): nonce jest wyprowadzany deterministycznie (k = H(privKey || msg)), co wyklucza ponowne użycie. Blockchain: adres Ethereum = keccak256(pubKey)[12:].
❓ Częste pytania
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.