EdDSA
digitální podpis pomocí eliptických křivek From Wikipedia, the free encyclopedia
Remove ads
EdDSA (anglicky Edwards-curve Digital Signature Algorithm, Edwardsův algoritmus digitálního podpisu) je šifra s veřejným klíčem pro elektronický podpis, která využívá kryptografii nad eliptickými křivkami (variantu Schnorrova podpisu založeného na zakroucených Edwardsových křivkách).[1] Šifra je navržena tak, aby byla rychlejší než stávající schémata digitálního podpisu bez obětování bezpečnosti. Vyvinul ji Daniel J. Bernstein, Niels Duif, Tanja Lange, Peter Schwabe a Bo-Yin Yang.[2] Referenční implementace je zveřejněna jako public domain software.[3]
Remove ads
Ed25519
Ed25519 je EdDSA podpis využívající SHA-512 (SHA-2) a eliptickou křivku související s Curve25519.[2]
Výkon
Původní tým optimalizoval Ed25519 pro rodinu procesorů x86-64 Nehalem/Westmere. Ověření lze provádět v dávkách po 64 podpisech, což dále zvyšuje propustnost. Ed25519 má poskytovat odolnost proti útokům srovnatelnou s kvalitními 128bitovými symetrickými šiframi.[4]
Veřejné klíče jsou dlouhé 256 bitů a podpisy jsou dlouhé 512 bitů.[4]
Nekonzistence standardizace a implementace
Pro EdDSA existují dvě standardizační snahy, jeden od IETF (informační) a jeden od NIST jako součást FIPS 186-5.[5] Rozdíly mezi standardy byly analyzovány,[6][7] a jsou k dispozici testovací vektory.[8]
Software
Významná použití Ed25519 zahrnují OpenSSH,[9] GnuPG[10] a různé alternativy nebo nástroj signify od OpenBSD.[11] Použití Ed25519 (a Ed448) bylo standardizováno pro protokol SSH. V roce 2023 zahrnovala konečná verze standardu FIPS 186-5 deterministický Ed25519 jako schválené podpisové schéma.[5]
- Apple Watch a iPhone používají klíče Ed25519 pro vzájemné ověřování IKEv2[12]
- botan
- Crypto++
- Protokol kryptoměny CryptoNote
- Dropbear SSH[13]
- I2Pd implementace EdDSA[14]
- Java Development Kit 15
- Libgcrypt
- Minisign[15] a Minisign Miscellanea pro macOS
- NaCl / libsodium[16]
- OpenSSL 1.1.1[17]
- Python – pomalá, ale stručná alternativní implementace,[18] nezahrnuje ochranu proti útokům z postranního kanálu[19]
- Referenční implementace Supercop[20] (jazyk C s inline assemblerem )
- Virgil PKI standardně používá klíče Ed25519[21]
- wolfSSL[22]
- Nano (kryptoměna) používá pro adresy veřejné klíče ed25519
- Mainline DHT používá podepisování ed25519 pro své rozšíření podporující libovolně měnitelná data
Remove ads
Ed448
Ed448 je podpisové schéma EdDSA definované pomocí hašovací funkce SHAKE256 a eliptické křivky edwards448, (nezakroucené) Edwardsovy křivky související s Curve448. Ed448 byl také schválen ve finální verzi standardu FIPS 186-5.[5]
Odkazy
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads