Diffie-Hellmanov algoritam: svrha

Očigledno, vrlo malo ljudi danas, koristeći prijenos podataka na nezaštićenim kanalima komunikacije, što je algoritam

Diffie-Hellman. U principu, mnogi ljudi ne trebaju ovo razumijevanje. Međutim, korisnici računalnih sustava, tako da kažem, znatiželjniji, kako bi razumjeli ovo, neće ozlijediti. Konkretno, razmjena ključeva pomoću Diffie-Hellman algoritma može biti korisna korisnicima zainteresiranim za informacijsku sigurnost i kriptografiju.

Koja je tehnika Diffie-Hellman?

Ako pristupamo pitanje samog algoritma, ali bez ulaženja u tehničke i matematičke pojedinosti, možemo ga definirati kao metoda šifriranje i dešifriranje podataka odašilje i prima između dva ili više korisnika računala ili drugih sustava koji uključuju razmjenu podataka uz korištenje nezaštićenog komunikacijskog kanala.

Diffie Hellmanov algoritam

Kao što je već jasno, ako ne postoji zaštita samog kanala, napadač može presresti ili mijenjati datoteke koje su u procesu slanja i primanja. Međutim, algoritam za raspodjelu ključa Diffie-Hellman za pristupanje prenesenim i primljenim podacima je takav da je vanjski interferencija gotovo potpuno uklonjena. Istodobno, komunikacija o korištenim komunikacijski kanal (bez zaštite) postaje siguran ako obje strane upotrebljavaju isti ključ.

prapovijest

Sam je algoritam Diffie-Hellmana predstavljen svijetu 1976. godine. Osnivači su bili Whitfried Diffie i Martin Hellman, koji su u svojim istraživanjima sigurnih i pouzdanih metoda šifriranja podataka oslanjali na rad Ralph Merkle, koji je razvio takozvani sustav distribucije javnih ključeva.

Pregledni algoritam dijaloga

No, ukoliko je Merkel razvila isključivo teorijski okvir, Diffie i Hellman predstavili su javnost praktično rješenje ovog pitanja.

Najjednostavnije objašnjenje

Zapravo, test se temelji na kriptografskim enkripcijskim tehnologijama koje čak i danas iznenađuju mnoge stručnjake na tom polju. Antologija šifriranja uključuje prilično veliku povijest. Bit cijelog procesa svodi se na činjenicu da postoje dva pretplatnika koji odgovaraju e-poštom ili razmjenjuju određene podatke uz pomoć računalnih programa. No, zaštita se izvodi na takav način da i sam Diffie-Hellmanov algoritam zahtijeva da ključ za dešifriranje bude poznat dvjema stranama (prijenos i primanje). U ovom slučaju, nije važno koja od njih generira početni slučajni broj (ovaj put ćemo objasniti kada se razmatraju formule za izračunavanje ključeva).

Metoda šifriranja podataka ranih razdoblja

Da bismo bili jasniji, primjećuje se na najprimitivniji način šifriranje podataka je, na primjer, pisanje riječi ne s lijeva na desno, kao što je uobičajeno u većini skripti, ali s desna na lijevo. Slično tome, u poruci je lako koristiti i zamijeniti slova abecede. Na primjer, riječju druga slova mijenja se na prvi, četvrti do treći i tako dalje. Isti dokument kad ga gleda može biti potpuna glupost. Međutim, onaj tko je napisao izvorni tekst, kaže osobi koja ga treba pročitati, u kojem redoslijedu je nužno organizirati dane simbole. Ovo se zove ključ.

Diffie Hellmanov algoritam na Java

Imajte na umu da je većina još uvijek undeciphered tekstova i klinastim spisima drevnih Sumerana i Egipćana nisu razumjeli kripto-analitičara samo zbog činjenice da oni ne znaju kako postaviti željeni niz znakova.

Dakle, u našem slučaju - algoritam Diffie-Hellman podrazumijeva mogućnost da je ključ za dešifriranje poznat ograničenom broju korisnika. Istina, ovdje opet vrijedi rezervirati, budući da smetnje u prijenosu šifriranih podataka ove vrste mogu kršiti treće strane ako riješe sustav zamjene ili zamjene simbola.

Jasno je da danas postoje dosta moćni kriptosustav koji se temelji na algoritmima kao što je AES, ali ne daju cjelovito jamstvo zaštite od sjeckanja podataka treće strane.

Pa, sada ćemo se zadržati na sustavu šifriranja, njegovoj praktičnoj primjeni i stupnju zaštite.

Diffie-Hellmanov algoritam: svrha

Sam algoritam je stvoren na takav način da osigura ne samo povjerljivost podataka prenesenih s jedne strane na drugu, već i da ih sigurno izvaditi po primitku. Očito, takav prijenosni sustav treba osigurati punu zaštitu u svim mogućim kanalima komunikacije.

Diffie Hellmanov algoritam na c

Sjetite se barem godina Drugog svjetskog rata, kada su inteligencija svih savezničkih zemalja bezuspješno lovila za stroj za šifriranje nazvan "Enigma", putem kojeg su šifrirane poruke prenesene Morseov kod. Uostalom, nitko, čak ni većina, kao što sada kažemo, "napredni" stručnjak za kriptografiju mogao bi otkriti njezin kod. Tek nakon što je uhvaćen bio ključ dešifriranja poruka koje je prenijela njemačka flota.

Diffie-Hellmanov algoritam: pregled

Dakle, sam algoritam uključuje korištenje nekoliko osnovnih pojmova. Pretpostavimo da imamo najjednostavniji slučaj kada postoje dva pretplatnika (korisnik) na vezi. Imamo ih kao A i B.

Koriste dva broja X i Y, koji nisu tajni u ovom komunikacijskom kanalu, za kontrolu prijenosa i primanja. Cijela stvar stvar je stvoriti na temelju nove vrijednosti koja će biti ključ. Ali! Prvi pretplatnik koristi veliki broj glavni broj, a drugi je nužno cijeli broj (dijeljenje bez ostatka), ali manji od prvog.

Naravno, korisnici se slažu da su ti brojevi tajni. Međutim, budući da je komunikacijski kanal nezaštićen, ova dva broja mogu postati poznata drugim zainteresiranim osobama. Zato korisnici u istim porukama razmjenjuju privatne ključeve za dekriptiranje poruka.

Osnovne formule za izračunavanje ključa

Općenito se vjeruje da se algoritam Diffie-Hellman odnosi na sustav tzv. Simetričnog enkripcije na temelju kojeg se pojavljuju protokoli asimetričnog šifra. Međutim, ako uzmemo u obzir osnovne aspekte računanja ključeva od strane primatelja, morat ćemo se sjetiti barem algebre.



Tako, na primjer, svaki pretplatnik generira slučajne brojeve i b. U unaprijed znaju značenja x i y, koji se čak može "šivati" u željeni softver.

Prilikom slanja ili primanja takve poruke, pretplatnik A izračunava ključnu vrijednost na temelju formule A = xmod y, a drugi koristi kombinaciju B = xbmod y, nakon čega slijedi prijenos prenesenog ključa prvom korisniku. Ovo je prva faza.

Primjer algoritma Diffie Hellman

Sada pretpostavimo da treći dionik ima na raspolaganju obje izračunate vrijednosti A i B. Isto tako, ona ne može ometati proces prijenosa podataka, jer u drugoj fazi morate znati kako se izračunava zajednički ključ.

Na temelju gore navedenih formula možemo zaustaviti izračun javnog ključa. Ako pogledate algoritam Diffie-Hellman, primjer bi mogao izgledati ovako:

1) prvi pretplatnik izračunava ključ na temelju x prema formuli Bmod y = xabmod y;

2) drugi, počevši od početnog broja y i primljeni parametrom B mrežnog protokola, određuje ključ na osnovu raspoloživog parametra A: bmod y = x bamod y.

Kao što vidimo, konačne vrijednosti čak i kad se stupnjevi međusobno izmjenjuju podudaraju se. Dakle, tumačenje podataka obiju strana je, kako kažu, svedeno na jedan nazivnik.

Ranjivost u smetnji u procesu prijenosa podataka

Kao što se može pretpostaviti, smetnja treće strane nije isključena. Međutim, u ovom se slučaju bavimo početnim brojem reda 10100 ili čak 10300.

Jasno je da nitko od dana generiranih generatora lozinke ili pristupnih kodova ne može odrediti sam broj (osim ako su početni i konačni, a ne srednji parametri koji utječu na prijenosni sustav). To će potrajati tako dugo da će život na Zemlji završiti. Ipak, još uvijek postoje praznine u takvom sigurnosnom sustavu.

Diffie Hellmanov algoritam

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

Korištenje algoritma za Java platformu

Algoritam Diffie-Hellman na Java koristi se isključivo za pozive kao što je "klijent-poslužitelj".

Drugim riječima, poslužitelj čeka klijentske strojeve za povezivanje. Kada se uspostavlja takva veza, algoritam se izvršava za pretraživanje javnog ili privatnog ključa, nakon čega korisnik može dobiti nesmetani pristup svim funkcijama i podacima samog poslužitelja. Ponekad se to odnosi i na mobilne sustave, međutim vrlo malo ljudi to zna, pogotovo jer izvršni dio radi u nevidljivom načinu rada u obliku izvršnih skripti.Diffie Hellman ključni algoritam distribucije

Korištenje algoritma za platformu C (+ / ++)

Ako pogledate algoritam Diffie-Hellman na "C" (+ / ++), onda ovdje sve nije tako glatko. Činjenica je da ponekad postoji problem kada programski jezik uglavnom radi s izračunima koji se odnose na plutajuću točku. To je razlog zašto se navodi cijeli broj ili kada pokušavate okrugli (čak i kada potenciranje) može se pojaviti problem prilikom sastavljanja. To se posebno odnosi na zlouporabu funkcije int.

Međutim, vrijedi obratiti pozornost na ostale izvršne komponente, koje u pravilu predstavljaju zadatak klase, istog eksponencijalnog sadržaja ili povezanih GMP knjižnica.

Suvremeni algoritmi za enkripciju

Vjeruje se da algoritam Diffie-Hellman još uvijek ne može biti nadmašen. Zapravo, on je osnovao nastanak takvih poznatih sustava zaštite na polju šifriranja podataka, poput AES128 i AES256.

Algorithm Diffie Hellman to zahtijeva

Međutim, kako je praksa pokazala, unatoč dostupnosti brojeva koje čovjek ne apstraktno percipira, većina sustava tekućeg tipa koriste samo vrijednosti deset najboljih (a ne više), iako sam algoritam podrazumijeva brojeve milijune puta veći.

Umjesto nadopuna

Općenito, vjerojatno je već jasno što je sustav i koje su njegove algoritamske komponente. Ostaje samo dodati da je obdarena tako velikim mogućnostima da ga nitko gotovo ne koristi.

S druge strane, i ranjivosti u algoritmu dovoljno jasno. Prosudite sami: u stvari, napisati program za računanje diskretne logaritam, gotovo bilo koji od svog tvorca može pristupiti ne samo na početne parametara od strane korisnika, ali i na javnim ključem, koji se ostvaruje u šifriranja i dešifriranja sustava.

U najjednostavnijem slučaju, dovoljno je instalirati isti izvršni Java applet koji se može primijeniti čak iu mobilnoj komunikaciji. Naravno, korisnik ne zna za to, ali svatko može koristiti svoje podatke u svoje svrhe.

Dijelite na društvenim mrežama:

Povezan
Što je FTPS: princip rada i razlike u odnosu na konvencionalne FTPŠto je FTPS: princip rada i razlike u odnosu na konvencionalne FTP
Kako konfigurirati i koristiti SSH port? Podrobna uputaKako konfigurirati i koristiti SSH port? Podrobna uputa
Koje su FTPS i SFTP protokoli?Koje su FTPS i SFTP protokoli?
FTPS port - što je to?FTPS port - što je to?
Što je CJS? Sredstva kriptografske zaštite informacijaŠto je CJS? Sredstva kriptografske zaštite informacija
Osnovne vrste i primjeri cikličkih algoritamaOsnovne vrste i primjeri cikličkih algoritama
RSA šifriranje. Opis i implementacija RSA algoritmaRSA šifriranje. Opis i implementacija RSA algoritma
Kako dešifrirati MD5 hash: najjednostavnije metodeKako dešifrirati MD5 hash: najjednostavnije metode
AES: enkripcija podatakaAES: enkripcija podataka
Provjera hash suma: što je to?Provjera hash suma: što je to?
» » Diffie-Hellmanov algoritam: svrha
LiveInternet