Eliptická křivka Diffie-Hellman protokol ( Eng. Elliptic curve Diffie–Hellman , ECDH ) je kryptografický protokol , který umožňuje dvěma stranám, které mají páry veřejného/soukromého klíče na eliptických křivkách , získat sdílený tajný klíč pomocí nechráněného komunikačního kanálu [1] [ 2] . Tento tajný klíč lze použít jak k zašifrování dalších výměn, tak k vytvoření nového klíče , který pak lze použít pro následnou výměnu informací pomocí symetrických šifrovacích algoritmů . Je to variaceprotokol Diffie-Hellman využívající eliptickou kryptografii [3] .
Nechť jsou dva předplatitelé: Alice a Bob . Předpokládejme, že Alice chce s Bobem sdílet tajný klíč, ale jediný dostupný kanál mezi nimi může zaslechnout třetí strana. Nejprve je třeba dohodnout sadu parametrů ( pro obecný případ a pro charakteristické pole ). Každá strana musí mít také dvojici klíčů, sestávající ze soukromého klíče ( náhodně vybraného celého čísla z intervalu ) a veřejného klíče (kde je výsledek jednoho provedení operace součtu prvků ). Nechť je pak Alicein klíčový pár a Bobův klíčový pár . Před provedením protokolu si strany musí vyměnit veřejné klíče.
Alice počítá . Bob počítá . Shared secret - (x-ová souřadnice výsledného bodu). Většina standardních protokolů založených na ECDH používá funkce odvození klíče k odvození symetrického klíče z hodnoty [4] [5] .
Hodnoty vypočítané účastníky jsou stejné, protože . Ze všech informací spojených s jejím soukromým klíčem Alice odhalí pouze svůj veřejný klíč. Nikdo jiný než Alice tedy nemůže určit její soukromý klíč, kromě účastníka, který je schopen vyřešit problém diskrétního logaritmu na eliptické křivce . Bobův soukromý klíč je podobně bezpečný. Nikdo kromě Alice nebo Boba nemůže vypočítat své sdílené tajemství, kromě účastníka, který je schopen vyřešit problém Diffie-Hellman [6] .
Veřejné klíče jsou buď statické (a podložené certifikátem) nebo efemérní (zkráceně ECDHE). Dočasné klíče se používají dočasně a nemusí nutně ověřovat odesílatele, takže pokud je vyžadována autentizace, je třeba získat důkaz pravosti jiným způsobem [3] . Pro eliminaci možnosti útoku typu man-in-the -middle je vyžadována autentizace . Pokud Alice nebo Bob použijí statický klíč, hrozba útoku typu man-in-the-middle je eliminována, ale nelze poskytnout ani dopředné utajení , ani odolnost proti falšování, když je klíč kompromitován , ani některé další vlastnosti odolnosti proti útoku. . Uživatelé statických soukromých klíčů jsou nuceni ověřovat cizí veřejný klíč a používat funkci odvození sdíleného tajného klíče, aby se zabránilo úniku informací o statickém soukromém klíči [7] . Pro šifrování s jinými vlastnostmi se často používá protokol MQV .
Při použití sdíleného tajemství jako klíče je často žádoucí tajemství hashovat , abychom se zbavili zranitelností, které vznikly po aplikaci protokolu [7] .
Eliptická křivka E nad polem má řád , kde P49 je prvočíslo , skládající se ze 49 číslic v desítkové soustavě.
Zvolíme ireducibilní polynom
A vezměte bod eliptické křivky
.Zkontrolujeme, že jeho pořadí není rovno 2
.Jeho pořadí se tedy rovná řádu skupiny , jmenovitě číslu , a lze jej použít ke konstrukci klíče. Nechte ,. _ Poté jsou veřejné klíče účastníků protokolu vypočteny jako
. .A sdílené tajemství bude:
.Hodnota (nebo její část) se používá jako klíč symetrického systému .