RačunariBezbednost

Diffie-Hellman algoritam: svrha

Očigledno, malo ljudi danas, koristeći prenošenje podataka o nezaštićenim komunikacijskim kanalima, zamišljaju šta je Diffie-Hellmanov algoritam. U principu, mnogim ljudima nije potrebno ovo razumevanje. Međutim, korisnici računarskih sistema, recimo, više radoznali, da bi razumeli ovo neće boleti. Konkretno, razmjena ključeva algoritma Diffie-Hellman može biti korisna korisnicima koji su zainteresovani za sigurnost informacija i kriptografiju.

Koja je tehnika Diffie-Hellman-a?

Ako se priđete na pitanje samog algoritma, a ne u tehničke i matematičke detalje, možete ga definirati kao tehniku za šifriranje i dešifrovanje prenetih i primljenih informacija između dva ili više korisnika računara ili drugih sistema koji uključuju razmjenu podataka koristeći nezaštićeni kanal.

Kao što je već jasno, u odsustvu zaštite samog kanala, napadač može presresti ili modifikovati datoteke koje su u procesu slanja i prijema. Međutim, Diffie-Hellman algoritam za distribuciju ključeva za pristup prenetim i primljenim podacima je takav da se ekstremne smetnje gotovo potpuno eliminišu. Istovremeno, komunikacija preko korišćenog komunikacionog kanala (bez zaštite) postaje sigurna ako obe strane koriste isti ključ.

Prehistorija

Svoj algoritam Diffie-Hellman predstavljen je svetu još 1976. godine. Njegovi tvorci bili su Whitfried Diffie i Martin Hellman, koji su u potrazi za sigurnim i pouzdanim metodama enkripcije podataka oslanjali na rad Ralpha Merklea, koji je razvio takozvani sistem distribucije javnih ključeva.

Međutim, ako je Merkel razvila ekskluzivno teorijski okvir, Diffie i Hellman su predstavili javnost praktičnim rješenjem za ovo pitanje.

Najjednostavnije objašnjenje

Zapravo, sam test se zasniva na kriptografskim tehnologijama za šifrovanje, koje čak i sada iznenađuju mnogi stručnjaci iz ove oblasti. Antologija šifara sadrži prilično veću istoriju. Suština čitavog procesa svedena je na činjenicu da postoje dva pretplatnika koji korespondiraju putem e-maila ili razmjenjuju određene podatke koristeći računarske programe. Međutim, zaštita se vrši na takav način da sam Diffie-Hellman algoritam zahteva da ključ za dekripciju bude poznat dvema stranama (emitovanje i prijem). U ovom slučaju, nije bitno ko od njih generiše početni slučajni broj (ovaj put se objašnjava kada se uzimaju u obzir formule za izračunavanje ključeva).

Metoda šifrovanja podataka ranih perioda

Da bismo postali jasniji, primećujemo da je najprimitivniji način enkripcije podataka, na primer, pisanje reči ne s leva na desno, kao što je uobičajeno u većini skripti, ali od desne na lijevo. Slično tome, lako je koristiti i zameniti slova abecede u poruci. Na primjer, jednom riječom, drugo slovo mijenja na prvo, četvrto do treće i tako dalje. Isti dokument prilikom gledanja na njega može biti potpuna besmislica. Međutim, onaj ko je napisao izvorni tekst, govori onom ko ga treba pročitati, u kojem redosledu je potrebno urediti date simbole. Ovo se zove ključ.

Imajte na umu da je većina još uvek nedefinisanih tekstova i klipčeva kod drevnih Sumeraca i Egipćana kriptoanalitičarima pogrešno shvaćena jednostavno zato što ne znaju kako da uspostave željeni niz simbola.

Tako iu našem slučaju, Diffie-Hellman algoritam podrazumeva mogućnost da je ključ za dešifrovanje poznat ograničenom broju korisnika. Istina, opet je vredno napraviti rezervaciju, s obzirom da smetnje u prenosu šifrovanih podataka ove vrste mogu prekršiti treće strane ako riješe sistem zamjene ili zamjene simbola.

Podrazumeva se da danas postoje prilično moćni kriptosistemi zasnovani na algoritmima kao što je AES, ali oni ne pružaju potpunu garanciju zaštite od hakiranja podataka od strane treće strane.

Pa, sada pogledajmo sam sistem šifriranja, njegovu praktičnu primenu i stepen zaštite.

Diffie-Hellman algoritam: svrha

Sam algoritam je stvoren na način koji osigurava ne samo povjerljivost podataka prenijepljenih s jedne strane na drugu, već i sigurno ih izvlači na prijemu. Grubo govoreći, takav prenosni sistem treba da pruži potpunu zaštitu u svim mogućim komunikacionim kanalima.

Podsjetimo se najmanje u vrijeme Drugog svjetskog rata, kada je inteligencija svih savezničkih zemalja neuspešno lovila mašineriju za šifrovanje pod nazivom "Enigma", preko koje su šifrovane poruke prenete na Morseov kod. Na kraju krajeva, niko, čak i najvažniji, kao što sada kažemo, "napredni" ekspert za kriptografiju mogao bi da razjasni svoj kod. Tek nakon njegovog hvatanja ključ je za dekompoziciju poruka koje je prenela nemačka flota.

Diffie-Hellman algoritam: pregled

Dakle, sam algoritam podrazumeva korišćenje nekoliko osnovnih koncepata. Recimo da imamo najjednostavniji slučaj, kada na priključku postoje dva pretplatnika (korisnik). Označite ih kao A i B.

Oni koriste dva broja X i Y, koji nisu tajni na ovom komunikacionom kanalu, za kontrolu prenosa-prijema. Čitava stvar je stvaranje na njihovoj osnovi određenog novog značaja, koji će biti ključni. Ali! Prvi pretplatnik koristi veliki primarni broj, a drugi - neophodno celu (deli se bez ostatka), ali manji po redu od prvog.

Naravno, korisnici se slažu da su ovi brojevi čuvani u tajnosti. Međutim, pošto komunikacijski kanal nije zaštićen, ova dva broja mogu biti poznata drugim zainteresovanim osobama. Zbog toga korisnici u istim porukama razmjenjuju privatne ključeve za dešifrovanje poruka.

Osnovne formule za izračunavanje ključa

Smatra se da algoritam Diffie-Hellman pripada takozvanom simetričnom sistemu za šifrovanje, na osnovu kojeg se pojavljuju protokoli asimetrične šifre. Međutim, ako razmatramo osnovne aspekte računanja ključeva od strane primaoca, moraćemo da se podsetimo bar algebre.

Pa, recimo, svaki pretplatnik generiše nasumične brojeve a i b . Oni unapred znaju vrednosti x i y , koje se čak mogu "sjesti" u željeni softver.

Pri slanju ili primanju takve poruke, pretplatnik A izračunava vrijednost ključa na osnovu formule A = x a mod y , a drugi koristi kombinaciju B = x b mod y , nakon čega sledi prenos dešifrovanog ključa na prvog korisnika. Ovo je prva faza.

Sada pretpostavimo da treća zainteresovana strana ima na raspolaganju obje izračunate vrijednosti A i B. S druge strane, ona ne može se mešati u proces prenosa podataka, jer u drugoj fazi treba znati kako se izračunava zajednički ključ.

Na osnovu gore navedenih formula, možete zaustaviti izračunavanje javnog ključa. Ako pogledate Diffie-Hellman algoritam, primer bi mogao izgledati ovako:

1) prvi pretplatnik izračunava ključ na osnovu x prema formuli B mod mod y = x ab mod y ;

2) drugo, počevši od početnog broja y i Dobijen iz mrežnog protokola parametra B, određuje ključ zasnovan na dostupnom parametru A: A mod mod = y ba mod y .

Kao što vidimo, konačne vrijednosti čak i kada su stupnjevi izmenjeni poklapaju. Dakle, tumačenje podataka obe strane je, kako kažu, svedeno na jedan jedinstveni imenitelj.

Ranjivost u ometanju procesa prenosa podataka

Kao što se pretpostavlja, intervenciju treće strane nije isključena. Međutim, u ovom slučaju govorimo o prvobitno navedenim brojevima od 10 100 ili čak 10 300 .

Stoga postoji razlog zašto nijedan od današnjih proizvođača lozinki ili pristupnih kodova ne može odrediti sam broj (osim početnog i finalnog, a ne posredničkih parametara za ometanje u prenosnom sistemu). Ovo će trajati toliko dugo da će se život na Zemlji završiti. Ipak, još uvek postoje praznine u takvom sistemu bezbednosti.

Najčešće su povezani s poznavanjem diskretnog logaritma. Ako je takvo znanje dostupno, moguće je razbiti Diffie-Hellman algoritam (ali samo za inicijalne i završne parametre, kao što je gore navedeno). Druga stvar je da takvo znanje poseduju jedinice.

Korišćenje algoritma za Java platformu

Diffie-Hellman algoritam na Java se koristi isključivo za pozive kao što je "klijent-server".

Drugim rečima, server čeka mašine za klijente da se povežu. Kada se takva veza izvrši, algoritam izvršava za pretraživanje javnog ili privatnog ključa, nakon čega korisnik može da dobije neometan pristup svim funkcijama i podacima samog servera. Ponekad se ovo odnosi čak i na mobilne sisteme, međutim, vrlo mali broj ljudi zna o tome, pogotovo pošto izvršni dio radi u nevidljivom modu u obliku izvršnih skripte.

Korišćenjem algoritma za C platformu (+ / ++)

Ako pogledate Diffie-Hellman algoritam na "C" (+ / ++), onda ovde sve nije tako glatko. Činjenica je da ponekad postoji problem kada sam programski jezik uglavnom radi sa proračunima vezanim za plutajuću tačku. Zbog toga, kada specifikujete vrijednosti cijele vrijednosti ili kada pokušavate da zaokružite (čak i kada se pokreće na vlast), možda postoji problem pri sastavljanju. Ovo je naročito tačno za zloupotrebu funkcije int.

Međutim, vredno je obratiti pažnju na ostale izvršne komponente, koje, po pravilu, predstavljaju zadatak klasa, istu eksponenciju ili povezane biblioteke koje se mogu priključiti GMP.

Moderni algoritmi za šifrovanje

Veruje se da se algoritam Diffie-Hellman i dalje ne može nadmašiti. Zapravo, on je bio onaj koji je služio kao osnova za pojavu poznatih sigurnosnih sistema u oblasti enkripcije podataka, kao što su AES128 i AES256.

Međutim, kako pokazuje praksa, uprkos dostupnosti brojeva koji apstraktno ne percipiraju čovjeka, većina sistema tekućeg tipa koristi samo vrijednosti prvih deset (ne više), iako sam algoritam podrazumijeva brojeve milionima puta veći.

Umjesto pogovora

Uopšteno govoreći, verovatno je već jasno šta je sistem i kakve su njegove algoritamske komponente. Ostaje samo da dodamo da je zadovoljen sa toliko sjajnim mogućnostima da ga gotovo niko ne koristi u potpunosti.

S druge strane, postoje očigledno dovoljno ranjivosti u algoritmu. Sudite sami: nakon svega, pisanje programa za izračunavanje diskretnih logaritamskih podataka, praktično bilo koji od njegovih kreatora može pristupiti ne samo početnim parametrima koje su postavili korisnici, već i zajedničkim ključima koji su generisani u sistemu za šifrovanje i dešifrovanje.

U najjednostavnijem slučaju, dovoljno je instalirati isti izvršni Java alat koji se može koristiti čak iu mobilnim komunikacijama. Naravno, korisnik ne zna o tome, ali svako može koristiti svoje podatke za svoje potrebe.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 bs.unansea.com. Theme powered by WordPress.