RekenaarsVeiligheid

Diffie-Hellman algoritme: afspraak

Klaarblyklik het min mense vandag, met behulp van data oor onseker kommunikasiekanale, dink wat die algoritme Diffie-Hellman. Trouens, baie nie verstaan nie en nodig het. Maar gebruikers van rekenaarstelsels, so te sê, meer nuuskierig om te verstaan dit kan nie seer te maak. In die besonder, kan die sleutel ruil Diffie-Hellman nuttig vir gebruikers wat belangstel in sake van inligting-sekuriteit en kriptografie is nie.

Wat is die metode van Diffie-Hellman?

As ons nader die kwessie van die algoritme self, nog sonder om in tegniese en wiskundige besonderhede, kan ons dit definieer as 'n metode van enkripsie en dekripsie van inligting oorgedra en ontvang tussen twee of meer gebruikers van die rekenaar of ander stelsels met betrekking tot die uitruil van data met die gebruik van 'n onbeskermde kommunikasie kanaal.

Soos dit duidelik, in die afwesigheid van die beskerming kanaal te onderskep of lêers in die proses van oordrag en ontvangs verander, en die aanvaller kan. Maar die sleutel verspreiding Diffie-Hellman vir toegang tot oordra en data ontvang soos wat die peuter byna heeltemal uitgeskakel. In hierdie kommunikasie inligting wat geregistreer is by die kommunikasiekanaal (sonder beskerming daarvan) word veilig indien beide partye dieselfde sleutel gebruik.

voorgeskiedenis

Die algoritme Diffie-Hellman is ingestel om die wêreld terug in 1976. Sy skeppers geword Uitfrid Diffie en Martin Hellman, wat in sy navorsing van 'n veilige en betroubare data-enkripsie metodes gebaseer op die werk van Ralph Merkle, wat die sogenaamde publieke sleutel verspreiding stelsel ontwikkel.

Maar as Merkle uitsluitlik teoretiese basis ontwikkel, Diffie en Hellman aan die publiek 'n praktiese oplossing vir hierdie probleem.

Die eenvoudigste verduideliking

Eintlik is die toets wat gebaseer is op kriptografiese enkripsie tegnologie wat nou verras baie kenners op hierdie gebied. getalle bundel sluit nogal 'n lang geskiedenis. Die kern van die hele proses is om te verseker dat daar twee partye, e-pos, of deur 'n paar uitruil van data met die hulp van rekenaarprogramme. Maar die verdediging gedoen in so 'n manier dat die Diffie-Hellman algoritme self vereis dat die dekripsie sleutel Dit is bekend dat die twee partye (die stuur en ontvang). Wanneer hierdie is absoluut onbelangrik watter een van hulle 'n aanvanklike ewekansige getal sal genereer (hierdie punt te verduidelik by die oorweging van belangrike berekening formules).

Metodes van versleutelen data van vroeëre periodes

Om dit duideliker te maak, ons daarop let dat die mees primitiewe manier om data te enkripteer word, byvoorbeeld, die spelling is nie links na regs, soos gebruiklik in die meeste draaiboeke en regs na links. Net so, kan jy maklik gebruik en vervanging van letters van die alfabet in 'n verklaring gesê. Byvoorbeeld, die woord verander die tweede brief aan die eerste, die vierde - die derde en so aan. Die einste dokument oor die gesig van dit kan 'n volledige nonsens wees. Maar die een wat die bronkode geskryf, volgens die persoon wat om te lees, in watter volgorde sekere karakters geplaas moet word. Dit staan bekend as die sleutel.

Let daarop dat die meeste van die steeds undeciphered tekste en spykerskrif geskrifte van die antieke Sumeriërs en Egiptenare nie crypto-ontleders verstaan net as gevolg van die feit dat hulle nie weet hoe om op te rig die verlangde volgorde van karakters.

En in ons geval - die Diffie-Hellman variant aanvaar dat die dekripsie sleutel is bekend vir 'n beperkte aantal gebruikers. Maar, en hier is dit nodig om 'n bespreking te maak, want die inmenging in die oordrag van die geïnkripteer data van hierdie tipe kan geskend word deur derde partye, indien hulle die vervanging of vervanging van karakters sal oplos.

Dit spreek vanself dat daar nou sterk genoeg is crypto gebaseer op algoritmes soos AES, maar hulle het nie volle waarborg van beskerming teen inbraak derdeparty-data gee.

Wel, nou fokus ons op die meeste kodering stelsel, die praktiese toepassing daarvan en die mate van beskerming.

Diffie-Hellman algoritme: afspraak

Die algoritme is geskep ten einde nie net die privaatheid van data tydens die oordrag van die een party aan die ander nie, maar ook om hulle veilig te verwyder na ontvangs te verseker. Rofweg gesproke, so 'n oordrag stelsel moet verseker volle beskerming vir alle moontlike kanale van kommunikasie.

Onthou, tydens die Tweede Wêreldoorlog, toe die intelligensie van al die geallieerde lande onsuksesvol gejag vir enkripsie masjien genaamd "Enigma", waardeur geënkodeerde boodskappe te stuur Morsekode. Na alles, kan dit nie los die cipher niemand, selfs die manier waarop ons praat, "gevorderde" deskundige in kriptografie. Eers nadat sy capture verkry die sleutel tot beskrywing van die boodskappe wat gestuur word deur die Duitse vloot.

Diffie-Hellman algoritme: 'n oorsig

So, die algoritme behels die gebruik van 'n paar basiese konsepte. Gestel ons het die eenvoudigste geval, toe die twee partye (die gebruiker) teenwoordig op die verband is. Ons dui hulle as A en B.

Hulle gebruik twee getalle X en Y, is nie geheim in hierdie kommunikasie kanaal, na die oorhandiging te beheer. Die hele wese van die vraag kom neer op, om te skep op hul grond van 'n nuwe soort van waarde wat die sleutel sal wees. Maar! Die eerste inbeller met behulp van 'n groot priemgetal, en die tweede - altyd 'n heelgetal (deelbaar), maar laer in orde as die eerste.

Natuurlik, gebruikers stem saam dat hierdie getalle geheim gehou word. Maar omdat die kanaal is onseker, kan die twee getalle bekend geword en ander belangstellendes. Dit is waarom mense in dieselfde boodskappe uitgeruil geheime sleutel tot die boodskap dekripteer.

Die basiese formules vir die berekening van sleutel

Daar word aanvaar dat die Diffie-Hellman verwys na 'n stelsel van sogenaamde simmetriese enkripsie, waarop daar verslae van asimmetriese cipher was. Maar as ons kyk na die belangrikste aspekte van die berekening van die sleutel gasheer partye, moet ten minste algebra onthou.

So, byvoorbeeld, elk van die intekenare genereer ewekansige getalle a en b. Hulle weet by voorbaat die waardes van x en y, wat selfs kan "toegewerk" in die vereiste sagteware.

Wanneer die stuur of ontvang so 'n boodskap die intekenaar A bere die sleutel waarde, vanaf die formule A = x 'n mod y, terwyl die tweede gebruik 'n kombinasie van B = x b mod y, gevolg deur die stuur van die Ontcijferde sleutel tot die eerste gebruiker. Dit is die eerste stap.

Nou veronderstel dat die betrokke derde party beskik oor beide die berekende waardes van A en B. Almal dieselfde, dit kan nie ingryp in die proses van oordrag van data, omdat die tweede stap is om te weet hoe om 'n gemeenskaplike sleutel te bereken.

Uit die bogenoemde formules, kan jy bly by die algemene sleutel berekening. As jy kyk na die Diffie-Hellman voorbeeld kan lyk iets soos hierdie:

1) bereken 'n eerste intekenaar sleutel gebaseer op x deur die formule B 'n mod y = x ab mod y;

2) Tweedens, gebaseer op die aanvanklike getal y en volgens die netwerk protokol opsie B, definieer 'n sleutel van 'n bestaande parameter A: A b mod y = x ba mod y.

Soos jy kan sien, die finale waardes, selfs wanneer permutasie grade saamval. So, is dekodering van data deur beide partye verminder, soos hulle sê, 'n gemene deler.

Kwesbaarheid by ingryping in die data-oordrag proses

Soos jy kan verwag, is 'n derde party inmenging nie uitgesluit nie. Maar in hierdie geval is dit die aanvanklik die aantal spesifiseer van 10 100, of selfs 10.300.

Dit spreek vanself dat nie een van vandag tot 'n wagwoord of toegang kode kragopwekkers te skep om die getal self kan nie (behalwe dat die aanvanklike en finale en nie tussentydse opsies vir ingryping in die oordrag stelsel) te bepaal. Dit sou soveel tyd dat die lewe op aarde sal eindig nie. Maar gapings in so 'n sekuriteit stelsel is nog steeds daar.

Die meeste dikwels hulle in verband met kennis van diskrete logaritme. Indien sodanige kennis is om te kraak die Diffie-Hellman algoritme kan wees (maar net vir die aanvanklike en finale parameters soos hierbo genoem). Nog 'n ding is dat sodanige kennis eenhede besit.

Die gebruik van die algoritme vir die Java platform

Diffie-Hellman algoritme gebruik in die Java uitsluitlik met 'n beroep soos "kliënt-bediener".

Met ander woorde, is die bediener hangende Connect kliënt masjiene. Wanneer hierdie verband gemaak word, is daar 'n prestasie van die algoritme op soek na 'n openbare of private sleutel, en dan kan die gebruiker volle toegang tot alle funksies en data van die bediener self kry. Soms is dit waar selfs in mobiele stelsels, maar dit baie min mense weet, hoe meer dat die uitvoerende deel van die werke in onsigbare af in die vorm van uitvoerbare skrifte.

Die gebruik van die algoritme vir die platform C (+ / ++)

As jy kyk na die Diffie-Hellman in die «C» (+ / ++), dan is daar nie so glad. Die feit is dat soms is daar 'n probleem wanneer die meeste van die werk met die berekeninge homself programmeertaal wat verband hou met drywende punt. Dit is hoekom wanneer die opstel van 'n heelgetal waarde, of wanneer ek probeer om te rond (selfs magsverheffing), kan daar probleme tydens kompilering wees. Veral dit gaan oor die misbruik int funksie.

Maar dit is die moeite werd aandag te skenk aan die res van die uitvoerbare komponente wat, as 'n reël, is die werk klasse, dieselfde magsverheffing of verwante eerbare GMP biblioteek.

Moderne enkripsie-algoritmes

Daar word geglo dat die Diffie-Hellman is steeds om te klop, niemand kan. Trouens, dit was hy wat as die basis vir die ontstaan van sulke bekende stelsels van beskerming in die veld van data enkripsie as AES128 en AES256 gedien.

Maar as die praktyk toon, ten spyte van die beskikbaarheid van getalle in die abstrakte nie waargeneem deur die mens, die meeste van die stelsels van hierdie tipe gebruik net die waarde van die eerste dosyn (nie meer), maar die algoritme self impliseer 'n aantal 'n miljoen keer meer.

in plaas van 'n epiloog

In die algemeen, waarskynlik, dit is reeds duidelik wat hierdie stelsel uitmaak en wat is die algoritmiese komponente. Dit bly net om by te voeg dat dit is toegerus met so 'n groot potensiaal wat dit ten volle byna niemand gebruik.

Aan die ander kant, en kwesbaarheid in die algoritme duidelik genoeg. Oordeel vir jouself: in werklikheid, skryf 'n program om diskrete logaritmes bereken, amper enige van sy skepper toegang nie net om die aanvanklike parameters deur die gebruiker gestel, maar ook om die publieke sleutel, wat gegenereer word in die enkripsie en dekripsie stelsel.

In die eenvoudigste geval is dit voldoende om die installasie van die uitvoerbare van Java-applet, wat gebruik kan word selfs in mobiele kommunikasie maak. Natuurlik, sal die gebruiker nie weet nie, maar sy data kan enigiemand ontgin sal wees.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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