Diffie-Hellmanov algoritam: svrha
Očigledno, vrlo malo ljudi danas, koristeći prijenos podataka na nezaštićenim kanalima komunikacije, što je algoritam
sadržaj
- Koja je tehnika diffie-hellman?
- Prapovijest
- Najjednostavnije objašnjenje
- Metoda šifriranja podataka ranih razdoblja
- Diffie-hellmanov algoritam: svrha
- Diffie-hellmanov algoritam: pregled
- Osnovne formule za izračunavanje ključa
- Ranjivost u smetnji u procesu prijenosa podataka
- Korištenje algoritma za java platformu
- Korištenje algoritma za platformu c (+ / ++)
- Suvremeni algoritmi za enkripciju
- Umjesto nadopuna
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.
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.
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č.
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.
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.
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.
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.
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.
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.
- Dekodiranje hashe: najjednostavnije metode
- Što je FTPS: princip rada i razlike u odnosu na konvencionalne FTP
- Kako konfigurirati i koristiti SSH port? Podrobna uputa
- Koje su FTPS i SFTP protokoli?
- FTPS port - što je to?
- Što je CJS? Sredstva kriptografske zaštite informacija
- Osnovne vrste i primjeri cikličkih algoritama
- RSA šifriranje. Opis i implementacija RSA algoritma
- Kako dešifrirati MD5 hash: najjednostavnije metode
- AES: enkripcija podataka
- Provjera hash suma: što je to?
- Vrste algoritama u računalnoj znanosti: primjeri
- Kriptografske metode zaštite informacija: koncept, obilježja, ključni položaji
- End-to-end šifriranje: opis i primjena
- Definicija, svojstva i vrste algoritama
- Zaštita informacija na Internetu - važno je
- Spoji vrsta: opis operacije algoritma i razlike u odnosu na druge vrste naručivanja podataka
- Šifriranje datoteka
- Razvrstavanje algoritama kakvi jesu
- Šifriranje podataka kao nužnu mjeru za zaštitu vaših podataka
- Algoritam je jasno definiran niz obavljanja matematičkih operacija