Bevezetés a Diffie Hellman Key Exchange algoritmusba
A Diffie Hellman kulcscsere algoritmus a nyilvános kulcscsere egyik első gyakorlati megvalósítása a kriptográfia területén. A Diffie Hellman kulcscsere-algoritmus az egyik módszer, amellyel megosztott kulcsot generálhat, és a titkot megoszthatja két fél között oly módon, hogy biztosak lehetünk abban, hogy senki sem fog tudni elkísérni a kommunikációt. Az algoritmus kapcsán egy fontos tényt kell szem előtt tartani, hogy nem az információkat osztjuk meg a csere során, hanem egy kulcsot hozunk létre, amelyet később felhasználhatunk információcserére. Mivel ez a technika lehetővé teszi a titkosítási kulcs létrehozását a másik féllel, akkor elkezdhetjük a folyamatban lévő és a fogadott üzenetek titkosítását. Létrehozva, még akkor is, ha valaki rögzíti az átviteli adatokat, az adatok visszafejteni nem lehetnek.
Diffie Hellman kulcscsere-algoritmus a kulcsgeneráláshoz
Az algoritmus az elliptikus görbe kriptográfián alapul, amely egy módszer a nyilvános kulcsú kriptográfia elvégzésére, amely a véges mezők feletti ellipszis görbék algebrai szerkezetén alapul. A DH ugyanúgy használja a csapóajtó funkciót, mint sok más módszer a nyilvános kulcsú kriptográfia elvégzéséhez. A DH algoritmus megértésének egyszerű ötlete a következő
1. Az első fél két g és p elsőszámot választ ki, és elmondja a második félnek.
2. A második fél ezután kiválaszt egy titkos számot (hívjuk a), majd kiszámítja g a mod p-t, és visszaadja az eredményt az első félnek, hívjuk az eredményt A. Tartsa szem előtt, hogy a titkos számot nem küldték el. senkinek, csak az eredmény.
3. Ezután az első fél ugyanezt teszi, kiválasztja a b titkos számot, és kiszámítja a B eredményt a
4. 2. lépés. Ezután ezt az eredményt elküldi a második félnek.
5. A második fél veszi a kapott B számot, és kiszámítja B a mod p értékét
6. Az első fél veszi a kapott A számot és kiszámítja A b mod p-t
Itt válik érdekessé, az 5. lépésben a válasz megegyezik a 4. lépésben megadott válaszgal. Ez azt jelenti, hogy mindkét fél ugyanazt a választ kapja, függetlenül a felfedés sorrendjétől.
(g a mod p) b mod p = g ab mod p
(g b mod p) a mod p = g ba mod p
A 4. és 5. lépésben bevitt számot megosztott titkos kulcsnak vesszük. Most ez a kulcs felhasználható az átvitt adatok bármilyen rejtjelezésére, például blowfish, AES stb.
Diffie Hellman algoritmus
1. gomb = (Y A ) XB mod q -> ugyanaz, mint amit B számított
2. Globális nyilvános elemek
- q: q egy prímszám
- a: a <q és α a q primitív gyökere
3. Kulcsgenerálás az A felhasználó számára
- Válasszon egy privát kulcsot X A Itt, X A
Most, a nyilvános kulcs kiszámítása Y A Y A = a XA mod q
4. Kulcsgenerálás a B felhasználó számára
- Válasszon egy privát kulcsot X B Itt, X B
- Most, a nyilvános kulcs kiszámítása Y B Y B = a Xb mod q
5. A titkos kulcs kiszámítása az A segítségével
- gomb = (Y B ) XA mod q
6. A titkos kulcs kiszámítása B-vel
- gomb = (Y A ) XB mod q
Példa
1. Alice és Bob egyaránt használnak nyilvános számokat P = 23, G = 5
2. Alice a = 4 magánkulcsot választotta, Bob pedig b = 3 magánkulcsot választotta
3. Mind Alice, mind Bob az alábbiak szerint számítja x és y értékét:
- Alice: x = (5 4 mod 23) = 4
- Bob: y = (5 3 mod 23) = 10
4. Most Alice és Bob mind nyilvános számokat cserélnek egymással.
5. Alice és Bob kiszámítja a szimmetrikus kulcsokat
- Alice: k a = y a mod p = 10 4 mod 23 = 18
- Bob: k b = x b mod p = 4 3 mod 23 = 18
6. 18 a megosztott titkos kulcs.
A Diffie Hellman algoritmus felhasználása
A nyilvános kulcsok előállítására szolgáló algoritmus felhasználása mellett van néhány más hely, ahol a DH algoritmus használható:
- Titkosítás: A Diffie Hellman kulcscserélő algoritmus használható titkosításra, az egyik első séma az ElGamal titkosítás volt. Ennek egyik modern példája az Integrált Titkosítási Rendszer, amely biztonságot nyújt a választott sima szöveg és a vágólap támadása ellen.
- Jelszóval hitelesített megállapodás: Ha két fél megosztja a jelszót, akkor a jelszóval hitelesített kulcsmegállapodás felhasználható a középtámadásban lévő ember megakadályozására. Ez a kulcsfontosságú megállapodás Diffie-Hellman formájában is lehet. A biztonságos távoli jelszóprotokoll jó példa erre a technikára.
- Titkos titoktartás: Az előzetes titoktartáson alapuló protokollok új kulcspárokat hozhatnak létre minden új munkamenethez, és a munkamenet végén is automatikusan elvethetik őket. Ezekben a továbbiakban titoktartási protokollokban gyakran a Diffie Hellman kulcscserét használják.
A Diffie Hellman algoritmus előnyei
- A feladónak és a fogadónak nincs szüksége előzetes ismeretekre egymásról.
- Miután a kulcsot kicserélték, az adatok közlése nem biztonságos csatornán keresztül történhet.
- A titkos kulcs megosztása biztonságos.
A Diffie Hellman algoritmus hátrányai
- Az algoritmus nem vonható be aszimmetrikus kulcscserére.
- Hasonlóképpen, nem használható digitális aláírások aláírására.
- Mivel az nem hitelesíti az átvitelben részt vevő feleket, a Diffie Hellman kulcscsere hajlamos a közép-ember támadásra.
Következtetés
Előnyei miatt a Diffie Hellman kulcscsere hasznos kulcscsere-rendszernek bizonyult. Bár az a tény, hogy valaki szaggatja a hálózatot, nehéz visszafejteni az adatokat és megkapni a kulcsokat, továbbra is lehetséges, ha a generált számok nem teljesen véletlenszerűek. Ezenkívül a kulcscsere-rendszer lehetővé teszi egy ember középső támadásban való elkerülését, annak elkerülése érdekében, mindkét félnek nagyon óvatosnak kell lennie a csere kezdetén.
Ajánlott cikk
Ez egy útmutató a Diffie Hellman Key Exchange Algorithm-hez. Itt tárgyaljuk a felhasználást, a különféle algoritmusokat, előnyöket és hátrányokat. A további javasolt cikkeken keresztül további információkat is megtudhat -
- Gépi tanulási algoritmusok
- Titkosítási algoritmus
- Osztályozási algoritmusok
- Algoritmusok típusai