Úvod do algoritmu výměny klíčů Diffie Hellman

Algoritmus výměny klíčů Diffie Hellman je jednou z prvních praktických implementací výměny veřejných klíčů v oblasti kryptografie. Algoritmus Diffie Hellman Key Exchange Algorithm je jedním ze způsobů, jak vygenerovat sdílený klíč a sdílet tajemství mezi dvěma stranami tak, abychom si mohli být jisti, že se nikdo nebude moci zapojit do komunikace. Existuje jeden důležitý fakt, který je třeba mít na paměti, že algoritmus nesdílíme informace při výměně, místo toho vytváříme klíč, který lze později použít k výměně informací. Protože tato technika nám umožňuje vytvořit šifrovací klíč s druhou stranou, můžeme začít šifrovat probíhající a přijímající zprávy. Jeden zavedený, i když někdo zaznamená přenosová data, neexistuje způsob, jak je možné data dešifrovat.

Algoritmus výměny klíčů Diffie Hellman pro generování klíčů

Algoritmus je založen na kryptografii eliptických křivek, což je metoda provádění kryptografie s veřejným klíčem na základě algebraické struktury eliptických křivek nad konečnými poli. DH také používá funkci trapdoor, stejně jako mnoho jiných způsobů, jak provádět kryptografii veřejného klíče. Jednoduchá myšlenka porozumění DH algoritmu je následující

1. První strana vybere dvě prvočísla g a pa a sdělí je druhé straně.

2. Druhá strana poté vybere tajné číslo (nazvěme to a) a poté vypočítá g mod mod a pošle výsledek zpět první straně, zavolejme výsledek A. Mějte na paměti, že tajné číslo není zasláno komukoli, pouze výsledek je.

3. Poté první strana udělá totéž, vybere tajné číslo ba vypočte výsledek B similor k

4. krok 2. Poté je tento výsledek odeslán druhé straně.

5. Druhá strana vezme přijaté číslo B a vypočítá B a mod p

6. První účastník vezme přijaté číslo A a vypočítá A b mod p

Zde je to zajímavé, odpověď v kroku 5 je stejná jako odpověď v kroku 4. To znamená, že obě strany obdrží stejnou odpověď bez ohledu na pořadí vyhlášení.

(g a mod p) b mod p = g ab mod p
(g b mod p) a mod p = g ba mod p

Číslo, které jsme dostali v krocích 4 a 5, bude považováno za sdílený tajný klíč. Tento klíč lze nyní použít k libovolnému šifrování dat, která budou přenášena, jako je blowfish, AES atd.

Algoritmus Diffie Hellmana

1. key = (Y A ) XB mod q -> toto je stejné, jak bylo vypočteno pomocí B

2. Globální veřejné prvky

  • q: q je prvočíslo
  • a: a <q a α je primitivní kořen q

3. Generování klíčů pro uživatele A

  • Vyberte soukromý klíč X A Here, X A

Nyní výpočet veřejného klíče Y A Y A = a XA mod q

4. Generování klíčů pro uživatele B

  • Vyberte soukromý klíč X B Zde, X B
  • Nyní výpočet veřejného klíče Y B Y B = a Xb mod q

5. Výpočet tajného klíče pomocí A

  • key = (Y B ) XA mod q

6. Výpočet tajného klíče pomocí B

  • key = (Y A ) XB mod q

Příklad

1. Alice i Bob používají veřejná čísla P = 23, G = 5

2. Alice zvolila soukromý klíč a = 4 a Bob vybral b = 3 jako soukromý klíč

3. Alice i bob nyní vypočítají hodnotu xay takto:

  • Alice: x = (5 4 mod 23) = 4
  • Bob: y = (5 3 mod 23) = 10

4. Nyní si Alice i Bob vzájemně vyměňují veřejná čísla.

5. Alice a Bob nyní počítají symetrické klíče

  • Alice: k a = y a mod p = 104 mod 23 = 18
  • Bob: k b = x b mod p = 4 3 mod 23 = 18

6. 18 je sdílený tajný klíč.

Použití algoritmu Diffie Hellman

Kromě použití algoritmu pro generování veřejných klíčů existují i ​​další místa, kde lze použít algoritmus DH:

  • Šifrování: Algoritmus pro výměnu klíčů Diffie Hellman lze použít k šifrování, jedním z prvních schémat bylo šifrování ElGamal. Jedním z moderních příkladů je tzv. Integrované šifrovací schéma, které poskytuje zabezpečení proti vybranému prostému textu a vybraným útokům ze schránky.
  • Smlouva ověřená heslem : Pokud dvě strany sdílejí heslo, lze použít klíčovou dohodu ověřenou heslem, aby se zabránilo člověku při středním útoku. Tato klíčová dohoda může mít podobu Diffie-Hellman. Protokol Secure Remote Password Protocol je dobrým příkladem, který je založen na této technice.
  • Forward Secrecy: Forward Secrecy based protokoly mohou generovat nové páry klíčů pro každou novou relaci a mohou je automaticky zrušit na konci, když je relace také ukončena. V těchto dopředných tajných protokolech se častěji používá výměna klíčů Diffie Hellman.

Výhody algoritmu Diffie Hellman

  • Odesílatel a příjemce nepotřebují žádné předchozí vzájemné znalosti.
  • Po výměně klíčů může být komunikace dat prováděna prostřednictvím nezabezpečeného kanálu.
  • Sdílení tajného klíče je bezpečné.

Nevýhody algoritmu Diffie Hellman

  • Algoritmus nelze žalovat pro žádnou asymetrickou výměnu klíčů.
  • Podobně jej nelze použít pro podepisování digitálních podpisů.
  • Protože neověřuje žádnou stranu v přenosu, je výměna klíče Diffie Hellman náchylná k útoku člověk uprostřed.

Závěr

Díky jeho výhodám se osvědčila výměna klíčů Diffie Hellman jako užitečný systém pro výměnu klíčů. I když je opravdu těžké, aby někdo snooping síť dešifroval data a získal klíče, je stále možné, pokud vygenerovaná čísla nejsou zcela náhodná. Systém výměny klíčů také umožňuje udělat člověka uprostřed útoku, aby se tomu zabránilo, obě strany by měly být na začátku výměny velmi opatrné.

Doporučený článek

Toto byl průvodce algoritmem Diffie Hellman Key Exchange Algorithm. Zde diskutujeme použití, různé algoritmy, výhody a nevýhody. Další informace naleznete také v dalších navrhovaných článcích -

  1. Algoritmy strojového učení
  2. Algoritmus šifrování
  3. Klasifikační algoritmy
  4. Druhy algoritmů

Kategorie: