Kurva25519

Inom kryptografi är Curve25519 en elliptisk kurva som används i elliptisk kurvkryptering (ECC) som erbjuder 128 bitars säkerhet (256-bitars nyckelstorlek ) och designad för användning med nyckelavtalsschemat för elliptisk kurva Diffie–Hellman (ECDH) . Det är en av de snabbaste kurvorna inom ECC och omfattas inte av några kända patent. Referensimplementeringen är programvara som är allmän egendom .

Det ursprungliga Curve25519-papperet definierade det som en Diffie–Hellman (DH) funktion. Daniel J. Bernstein har sedan dess föreslagit att namnet Curve25519 ska användas för den underliggande kurvan, och namnet X25519 för DH-funktionen.

Matematiska egenskaper

Kurvan som används är en Montgomery-kurva , över det primtalsfält som definieras av primtal , och den använder baspunkten . Den här punkten genererar en cyklisk undergrupp vars ordning är primtal denna undergrupp 79,4653337373723539337372853933937, 49 upp har en kofaktor på vilket betyder antalet element i undergruppen är av den elliptiska kurvgruppen Genom att använda en undergrupp av prime order förhindrar du montering av en Pohlig–Hellman-algoritmattack .

Protokollet använder komprimerad elliptisk punkt (endast X- koordinater), så det tillåter effektiv användning av Montgomery-stegen för ECDH , med endast XZ- koordinater.

Curve25519 är konstruerad så att den undviker många potentiella implementeringsfällor. Genom designen är den immun mot timingattacker och den accepterar vilken 32-byte sträng som helst som en giltig offentlig nyckel och kräver inte validering av att en given punkt tillhör kurvan eller genereras av baspunkten.

Kurvan är birationellt ekvivalent med en vriden Edwards-kurva som används i Ed25519- signaturschemat.

Historia

2005 släpptes Curve25519 för första gången av Daniel J. Bernstein .

Under 2013 började intresset öka avsevärt när det upptäcktes att NSA potentiellt hade implementerat en bakdörr i den P-256 kurvbaserade Dual_EC_DRBG- algoritmen. Även om det inte var direkt relaterade, ledde misstänkta aspekter av NIST:s P-kurvkonstanter till oro för att NSA hade valt värden som gav dem en fördel i att bryta krypteringen.

"Jag litar inte längre på konstanterna. Jag tror att NSA har manipulerat dem genom deras relationer med industrin."

Bruce Schneier , NSA bryter mest kryptering på internet (2013)

Sedan 2013 har Curve25519 blivit det de facto alternativet till P-256, som används i en mängd olika applikationer. Från och med 2014 OpenSSH som standard Curve25519-baserad ECDH och GnuPG lägger till stöd för Ed25519- nycklar för signering och kryptering. Beteende för allmänt SSH-protokoll standardiseras fortfarande från och med 2018. [ behöver uppdateras ]

2017 meddelade NIST att Curve25519 och Curve448 skulle läggas till i Special Publication 800-186, som specificerar godkända elliptiska kurvor för användning av den amerikanska federala regeringen. Båda beskrivs i RFC 7748. Ett utkast från 2019 till "FIPS 186-5" noterar avsikten att tillåta användning av Ed25519 för digitala signaturer. Ett utkast från 2019 till specialpublikation 800-186 noterar avsikten att tillåta användning av Curve25519.

Under 2018 ändrades DKIM- specifikationen för att tillåta signaturer med denna algoritm.

Även under 2018 publicerades RFC 8446 som den nya Transport Layer Security v1.3- standarden. Den rekommenderar stöd för X25519 , Ed25519 , X448 och Ed448 algoritmer.

Bibliotek

Protokoll

Ansökningar

Anteckningar

externa länkar