Křivka25519 - Curve25519
v kryptografie, Křivka25519 je eliptická křivka nabízející 128 kousky zabezpečení (256 bitů velikost klíče ) a určené pro použití s eliptická křivka Diffie – Hellman (ECDH) schéma klíčové dohody. Je to jedna z nejrychlejších křivek ECC a nevztahují se na ni žádné známé patenty.[1] The referenční implementace je software pro veřejné domény.[2][3]
Původní papír Curve25519 jej definoval jako a Diffie – Hellman (DH). Daniel J. Bernstein od té doby navrhl, aby se pro základní křivku použil název Curve25519 a název X25519 pro funkci DH.[4]
Matematické vlastnosti
Použitá křivka je , a Montgomeryho křivka, přes hlavní pole definováno prvočíslo a používá základní bod . Tento bod generuje cyklickou podskupinu, jejíž objednat je hlavní a má index . Použití podskupiny hlavních objednávek zabrání připojení a Algoritmus Pohlig – Hellman Záchvat.[5]
Protokol používá komprimovaný eliptický bod (pouze X souřadnice), takže umožňuje efektivní využití Montgomeryho žebřík pro ECDH, pouze pomocí XZ souřadnice.[6]
Curve25519 je konstruován tak, aby se vyhnul mnoha potenciálním úskalím implementace.[7] Podle návrhu je imunní vůči útokům načasování a přijímá jakýkoli 32bajtový řetězec jako platný veřejný klíč a nevyžaduje ověření, že daný bod patří do křivky, nebo je generován základním bodem.
Křivka je birationally ekvivalent do a zkroucená Edwardsova křivka použitý v Ed25519[8][9] podpisové schéma.[10]
Dějiny
V roce 2005 byla Curve25519 poprvé vydána společností Daniel J. Bernstein.[5]
V roce 2013 se zájem začal výrazně zvyšovat, když se zjistilo, že NSA potenciálně implementoval zadní vrátka do Dual_EC_DRBG.[11] I když to přímo nesouvisí,[12] podezřelé aspekty konstant P křivky NIST[13] vedlo k obavám[14] že NSA zvolila hodnoty, které jim poskytly výhodu v prolomení šifrování.[15][16]
„Konstantám už nevěřím. Věřím, že je NSA zmanipulovala prostřednictvím svých vztahů s průmyslem.“
— Bruce Schneier „NSA porušuje většinu šifrování na internetu (2013)
Od roku 2013 se Curve25519 stává de facto alternativa k P-256, která se používá v široké škále aplikací.[17] Od roku 2014 OpenSSH[18] výchozí nastavení založené na Curve25519 ECDH. Chování obecného protokolu SSH se od roku 2018 stále standardizuje.[19]
V roce 2017 NIST oznámila, že Curve25519 a Křivka448 bude přidáno do speciální publikace 800-186, která specifikuje schválené eliptické křivky pro použití federální vládou USA.[20] Oba jsou popsány v „RFC 7748 ".[21] Koncept „FIPS 186-5“ z roku 2019 toto tvrzení potvrzuje.[22]
V roce 2018 DKIM specifikace byla změněna tak, aby umožňovala podpisy s tímto algoritmem.[23]
Také v roce 2018 RFC 8446 byla zveřejněna jako nová Zabezpečení transportní vrstvy v1.3 Standard. Vyžaduje povinnou podporu pro X25519, Ed25519, X448, a Ed448 algoritmy.[24]
Knihovny
Protokoly
- OMEMO, navrhované rozšíření pro XMPP (Brebentit)[38]
- Zabezpečte Shell
- Signální protokol
- Tox
- Zcash
- Zabezpečení transportní vrstvy
- Drátěný chránič
Aplikace
- Konverzace aplikace pro Android[b]
- Kryptoměna[39][b]
- DNSCrypt[40]
- DNSCurve
- Dropbear[26][41]
- Facebook Messenger [C][d]
- Gajim prostřednictvím pluginu[42][b]
- GNUnet[43]
- GnuPG
- Google Allo[E][d]
- I2P[44]
- IPFS[45]
- iOS[46]
- Monero[47]
- OpenBSD[F]
- OpenSSH[26][G]
- Peerio[52]
- ProtonMail[53]
- Tmel[54]
- Signál[d]
- Tichý telefon
- SmartFTP[26]
- SSHJ[26]
- SQRL[55]
- Threema Instant Messenger[56]
- TinySSH[26]
- TinyTERM[26]
- Tor[57]
- Viber[58]
- WhatsApp[d][59]
- Drát
- WireGuard
Poznámky
Reference
- ^ Bernstein. „Irelevantní patenty na kryptografii eliptické křivky“. cr.yp.to. Citováno 2016-02-08.
- ^ Nejmodernější funkce Diffie-Hellman podle Daniel J. Bernstein„Moje knihovna curve25519 počítá funkci Curve25519 velmi vysokou rychlostí. Knihovna je volným dílem.“
- ^ „X25519“. Crypto ++. 5. března 2019. Archivovány od originál dne 29. srpna 2020. Citováno 29. srpna 2020.
- ^ „[Cfrg] 25519 pojmenování“. Citováno 2016-02-25.
- ^ A b Bernstein, Daniel J. (2006). Yung, Moti; Dodis, Jevgenij; Kiayias, Aggelos; et al. (eds.). Curve25519: New Diffie-Hellman Speed Records (PDF). Kryptografie veřejného klíče. Přednášky z informatiky. 3958. New York: Springer. 207–228. doi:10.1007/11745853_14. ISBN 978-3-540-33851-2. PAN 2423191.
- ^ Lange, Tanja. „Souřadnice EFD / Genus-1 s velkou charakteristikou / XZ pro Montgomeryho křivky“. Databáze EFD / Explicit-Formulas. Citováno 8. února 2016.
- ^ "SafeCurves: Úvod". safecurves.cr.yp.to. Citováno 2016-02-08.
- ^ Daniel J. Bernstein, Niels Duif, Tanja Lange, Peter Schwabe, Bo-Yin Yang (2017-01-22). „Ed25519: vysokorychlostní vysoce zabezpečené podpisy“. Citováno 2019-11-09.CS1 maint: více jmen: seznam autorů (odkaz)
- ^ Daniel J. Bernstein, Niels Duif, Tanja Lange, Peter Schwabe, Bo-Yin Yang (2011-09-26). „Vysokorychlostní vysoce zabezpečené podpisy“ (PDF). Citováno 2019-11-09.CS1 maint: více jmen: seznam autorů (odkaz)
- ^ Bernstein, Daniel J.; Lange, Tanja (2007). Kurosawa, Kaoru (ed.). Rychlejší sčítání a zdvojnásobení na eliptických křivkách. Pokroky v kryptologii - ASIACRYPT. Přednášky z informatiky. 4833. Berlín: Springer. str. 29–50. doi:10.1007/978-3-540-76900-2_3. ISBN 978-3-540-76899-9. PAN 2565722.
- ^ Kelsey, John (květen 2014). „Dual EC v X9.82 a SP 800-90“ (PDF). National Institute of Standards in Technology. Citováno 2018-12-02.
- ^ Green, Matthew (2015-01-14). „Několik myšlenek na kryptografické inženýrství: Mnoho nedostatků Dual_EC_DRBG“. blog.cryptographyengineering.com. Citováno 2015-05-20.
- ^ https://safecurves.cr.yp.to/
- ^ Maxwell, Gregory (08.09.2013). „[tor-talk] NIST schválil krypto v Tor?“. Citováno 2015-05-20.
- ^ „SafeCurves: Rigidity“. safecurves.cr.yp.to. Citováno 2015-05-20.
- ^ „NSA porušuje většinu šifrování na internetu - Schneier v oblasti bezpečnosti“. www.schneier.com. Citováno 2015-05-20.
- ^ „Věci, které používají Curve25519“. Citováno 2015-12-23.
- ^ A b Adamantiadis, Aris (03.11.2013). „OpenSSH zavádí výměnu klíčů [email protected]!“. libssh.org. Citováno 2014-12-27.
- ^ A. Adamantiadis; libssh; S. Josefsson; SJD AB; M. Baushke; Juniper Networks, Inc. (2018-06-26). Metoda výměny klíčů Secure Shell (SSH) pomocí Curve25519 a Curve448. I-D draft-ietf-curdle-ssh-curves-08.
- ^ Divize počítačové bezpečnosti, Laboratoř informačních technologií (2017-10-31). „Přechodové plány pro klíčová schémata založení | CSRC“. CSRC | NIST. Citováno 2019-09-04.
- ^ RFC 7748. Citováno z https://tools.ietf.org/html/rfc7748.
- ^ FIPS 186-5. Citováno z https://csrc.nist.gov/publications/detail/fips/186/5/draft.
- ^ John Levine (září 2018). Nová metoda kryptografického podpisu pro DomainKeys Identified Mail (DKIM). IETF. doi:10.17487 / RFC8463. RFC 8463.
- ^ E Rescorla (září 2018). Protokol Transport Layer Security (TLS) verze 1.3. IETF. doi:10.17487 / RFC8446. RFC 8446.
- ^ Werner Koch (15. dubna 2016). "Oznámení o vydání Libgcrypt 1.7.0". Citováno 22. dubna 2016.
- ^ A b C d E F G Porovnání implementace SSH. „Porovnání metod výměny klíčů“. Citováno 2016-02-25.
- ^ "Úvod". yp.to. Citováno 11. prosince 2014.
- ^ "nettle: curve25519.h Odkaz na soubor - dokumentace doxygen | Fossies Dox". fossies.org. Archivovány od originál dne 2015-05-20. Citováno 2015-05-19.
- ^ Limited, ARM. „Vydána PolarSSL 1.3.3 - Technické aktualizace - mbed TLS (dříve PolarSSL)“. tls.mbed.org. Citováno 2015-05-19.
- ^ „Knihovna wolfSSL Embedded SSL / TLS - produkty wolfSSL“.
- ^ „Botan: src / lib / pubkey / curve25519 / curve25519.cpp zdrojový soubor“. botan.randombit.net.
- ^ Justinha. „TLS (Schannel SSP)“. docs.microsoft.com. Citováno 2017-09-15.
- ^ Denis, Frank. "Úvod · libsodium". libsodium.org.
- ^ Inc., OpenSSL Foundation. „OpenSSL“. www.openssl.org. Citováno 2016-06-24.
- ^ "Přidat podporu pro ECDHE s X25519. · Openbsd / src @ 0ad90c3". GitHub.
- ^ "Tclers Wiki - NaCl pro Tcl".
- ^ „Poznámky k verzi NSS 3.28“. Citováno 25. července 2017.
- ^ Straub, Andreas (25. října 2015). „OMEMO šifrování“. conversations.im.
- ^ „Cryptocat - zabezpečení“. crypto.cat. Archivovány od originál dne 07.04.2016. Citováno 2016-05-24.
- ^ Frank Denis. „Specifikace protokolu DNSCrypt verze 2“. Archivovány od originál dne 2015-08-13. Citováno 2016-03-03.
- ^ Matt Johnston. „Dropbear SSH - změny“. Citováno 2016-02-25.
- ^ Bahtiar Gadimov; et al. „Plugin Gajim pro OMEMO vícestupňové šifrování zpráv a objektů“. Citováno 2016-10-01.
- ^ „GNUnet 0.10.0“. gnunet.org. Citováno 11. prosince 2014.
- ^ zzz (2014-09-20). „Vydání 0.9.15 - blog“. Citováno 20. prosince 2014.
- ^ „go-ipfs_keystore.go at master“. Github.com.
- ^ „Průvodce zabezpečením iOS“ (PDF).
- ^ „MRL-0003 - Monero není tak tajemný“ (PDF). getmonero.com. Archivovány od originál (PDF) dne 2019-05-01. Citováno 2018-06-05.
- ^ Murenin, Constantine A. (2014-01-19). Soulskill (ed.). „OpenBSD se pohybuje směrem k podepsaným balíčkům - na základě kryptoměny D. J. Bernsteina“. Slashdot. Citováno 2014-12-27.
- ^ Murenin, Constantine A. (01.05.2014). Timothy (ed.). „Vydáno OpenBSD 5.5“. Slashdot. Citováno 2014-12-27.
- ^ Friedl, Markus (2014-04-29). "ssh / kex.c # kexalgs". Křížový odkaz BSD, OpenBSD src / usr.bin /. Citováno 2014-12-27.
- ^ Murenin, Constantine A. (2014-04-30). Soulskill (ed.). „OpenSSH již nemusí záviset na OpenSSL“. Slashdot. Citováno 2014-12-26.
- ^ „Jak Peerio implementuje end-to-end šifrování?“. Peerio.
- ^ „ProtonMail nyní nabízí kryptografii eliptické křivky pro pokročilé zabezpečení a vyšší rychlosti“.
- ^ "PuTTY protokol změn". www.chiark.greenend.org.uk.
- ^ Steve Gibson (prosinec 2019). „Dokument SQRL o kryptografii“ (PDF).
- ^ „Whitepaper o kryptografii Threema“ (PDF).
- ^ Roger Dingledine a Nick Mathewson. „Specifikace protokolu Tor - blog“. Citováno 20. prosince 2014.
- ^ „Přehled šifrování Viber“. Viber. 3. května 2016. Citováno 24. září 2016.
- ^ Nidhi Rastogi, James Hendler (2017-01-24). "Zabezpečení WhatsApp a role metadat při ochraně soukromí". arXiv:1701.06817. Bibcode:2017arXiv170106817R. Citovat deník vyžaduje
| deník =
(Pomoc)