Mga computerSeguridad

Ang Diffie-Hellman na algorithm: ang layunin

Tila, ilang mga tao ngayon, gamit ang paghahatid ng data sa mga hindi protektadong channel ng komunikasyon, isipin kung ano ang algorithm ng Diffie-Hellman. Sa prinsipyo, maraming tao ang hindi nangangailangan ng pagkaunawa na ito. Gayunpaman, ang mga gumagamit ng mga sistema ng computer, kaya na magsalita, mas mausisa, upang maunawaan ito ay hindi nasasaktan. Sa partikular, ang palitan ng mga susi ng algorithm ng Diffie-Hellman ay maaaring maging kapaki-pakinabang sa mga gumagamit na interesado sa seguridad ng impormasyon at cryptography.

Ano ang pamamaraan ng Diffie-Hellman?

Kung nalalapit mo ang tanong ng algorithm mismo, habang hindi pumasok sa mga detalye ng teknikal at matematika, maaari mong tukuyin ito bilang paraan ng pag-encrypt at pag-decryption ng ipinadala at natanggap na impormasyon sa pagitan ng dalawa o higit pang mga gumagamit ng computer o iba pang mga sistema na may kinalaman sa pagpapalit ng data gamit ang isang hindi protektadong channel.

Tulad ng na malinaw, sa kawalan ng proteksyon ng channel mismo, ang isang magsasalakay ay maaaring maharang o baguhin ang mga file na nasa proseso ng pagpapadala at pagtanggap. Gayunpaman, ang algorithm ng pamamahagi ng Diffie-Hellman para ma-access ang naipadala at natanggap na data ay tulad na ang labis na panghihimasok ay halos ganap na naalis. Kasabay nito, ang komunikasyon sa ginagamit na channel ng komunikasyon (nang walang pagprotekta nito) ay magiging ligtas kung ang parehong partido ay gumagamit ng parehong key.

Prehistory

Ang algorithm ng Diffie-Hellman mismo ay ipinakilala sa mundong ito noong 1976. Ang mga tagalikha nito ay Whitfried Diffie at Martin Hellman, na sa kanilang pananaliksik sa ligtas at maaasahang pamamaraan ng pag-encrypt ng data ay umaasa sa gawain ni Ralph Merkle, na bumuo ng tinatawag na pampublikong sistema ng pamamahagi ng key.

Ngunit kung binuo ni Merkel ang eksklusibong balangkas na teoretikal, iniharap ni Diffie at Hellman ang publiko sa isang praktikal na solusyon sa tanong na ito.

Ang pinakasimpleng paliwanag

Sa totoo lang, ang pagsubok mismo ay batay sa mga cryptographic encryption technology, na kahit ngayon ay nakakagulat ng maraming mga espesyalista sa larangan na ito. Kasama sa antolohiya ng mga cipher ang isang medyo malaking kasaysayan. Ang kakanyahan ng buong proseso ay nabawasan sa katotohanan na mayroong dalawang mga tagasuskribi na tumutugma sa pamamagitan ng e-mail o nagpapalit ng ilang data gamit ang mga programang computer. Ngunit ang proteksyon ay ginagawa sa isang paraan na ang Diffie-Hellman algorithm mismo ay nangangailangan na ang decryption key ay kilala sa dalawang partido (ang pagpapadala at pagtanggap). Sa kasong ito, hindi mahalaga kung alin sa mga ito ang bumubuo ng unang random na numero (oras na ito ay ipinaliwanag kapag isinasaalang-alang ang mga formula para sa pagkalkula ng mga key).

Ang paraan ng pag-encrypt ng data ng mga maagang panahon

Upang gawing mas malinaw, tandaan namin na ang pinaka-primitive na paraan ng pag- encrypt ng data ay, halimbawa, ang pagsusulat ng mga salita na hindi mula sa kaliwa papunta sa kanan, gaya ng kaugalian sa karamihan sa mga script, ngunit mula sa kanan papuntang kaliwa. Katulad nito, madaling gamitin at palitan ang mga titik ng alpabeto sa mensahe. Halimbawa, sa isang salita binago ang pangalawang titik sa una, ikaapat sa ikatlo at iba pa. Ang parehong dokumento kapag tinitingnan ito ay maaaring maging isang kumpletong bagay na walang kapararakan. Gayunpaman, ang isa na sumulat ng source text, ay nagsasabi sa kung sino ang dapat basahin ito, kung saan ang pagkakasunud-sunod ay kinakailangan upang ayusin ang mga ibinigay na mga simbolo. Ito ay tinatawag na susi.

Tandaan na ang karamihan sa mga pa rin na di-napapahintulutang mga teksto at cuneiform ng sinaunang mga Sumeriano at mga Ehipto ay nananatiling hindi nauunawaan ng mga crypto-analyst dahil hindi nila alam kung paano itatatag ang nais na pagkakasunud-sunod ng mga simbolo.

Kaya sa aming kaso din, ang Diffie-Hellman algorithm nagpapahiwatig ng pagpipilian na ang decryption key ay kilala sa isang limitadong bilang ng mga gumagamit. Totoo, narito na ito ay nararapat na gumawa ng reservation, dahil ang panghihimasok sa paglipat ng naka-encrypt na data ng ganitong uri ay maaaring labagin ng mga third party kung malutas nila ang sistema ng pagpapalit o pagpapalit ng mga simbolo.

Ito ay walang sinasabi na ngayon may mga napakalakas na cryptosystems batay sa mga algorithm tulad ng AES, ngunit hindi sila nagbibigay ng buong garantiya ng proteksyon laban sa pag-hack ng data ng isang third party.

Well, ngayon tingnan natin ang sistema ng encryption mismo, ang praktikal na aplikasyon nito at ang antas ng proteksyon.

Ang Diffie-Hellman na algorithm: ang layunin

Ang algorithm mismo ay nilikha sa isang paraan upang matiyak hindi lamang ang pagiging kumpidensyal ng data na inilipat sa pamamagitan ng isang bahagi sa isa pa, kundi pati na rin upang ligtas na kunin ang mga ito sa resibo. Sa mahigpit na pagsasalita, ang gayong sistema ng paghahatid ay dapat magbigay ng ganap na proteksyon sa lahat ng posibleng mga channel ng komunikasyon.

Alalahanin ang mga taon ng World War II, kapag ang katalinuhan ng lahat ng mga allied na bansa ay hindi matagumpay na hinuhuli para sa isang naka-encrypt na makina na tinatawag na "Enigma", kung saan naka-code ang mga mensahe na ipinadala sa Morse code. Pagkatapos ng lahat, walang sinuman, kahit na ang pinaka, tulad ng sinasabi namin ngayon, ang "advanced" expert na cryptography ay maaaring malutas ang kanyang code. Pagkatapos lamang makuha nito ang susi sa pag-decipherment ng mga mensahe na ipinadala sa pamamagitan ng German fleet.

Diffie-Hellman algorithm: isang pangkalahatang-ideya

Kaya, ang algorithm mismo ay nagsasangkot sa paggamit ng ilang mga pangunahing konsepto. Sabihin nating mayroon kaming pinakasimpleng kaso, kapag may dalawang tagasuskribi (ang user) sa koneksyon. Ituro ang mga ito bilang A at B.

Gumamit sila ng dalawang numero X at Y, na hindi lihim sa channel ng komunikasyon na ito, para sa kontrol ng pagpapadala-makatanggap. Ang buong punto ng bagay ay upang bumuo sa kanilang batayan ng isang bagong halaga na ang susi. Ngunit! Ang unang subscriber ay gumagamit ng isang malaking kalakasan numero, at ang pangalawang - kinakailangang ang buong (naghahati nang walang natitira), ngunit mas maliit sa pagkakasunud-sunod kaysa sa una.

Naturally, ang mga gumagamit ay sumang-ayon na ang mga numerong ito ay pinananatiling lihim. Gayunpaman, dahil ang channel ng komunikasyon ay walang kambil, ang dalawang numero na ito ay maaaring maging kilala sa iba pang mga interesadong tao. Iyon ang dahilan kung bakit ang mga gumagamit sa parehong mensahe ay nagpapalit ng mga pribadong key upang i-decrypt ang mga mensahe.

Mga pangunahing formula para sa pagkalkula ng key

Karaniwang tinatanggap na ang algorithm ng Diffie-Hellman ay kabilang sa isang sistema ng tinatawag na simetriko na pag-encrypt, batay sa kung saan lumilitaw ang mga protocol ng isang walang simetrya cipher. Gayunpaman, kung isinasaalang-alang natin ang mga pangunahing aspeto ng pagkalkula ng mga susi ng tumatanggap na mga partido, dapat nating alalahanin ang hindi bababa sa algebra.

Kaya, sabihin nating bawat isa sa mga subscriber ay bumubuo ng mga random na numero a at b . Sa una, alam nila ang mga halaga ng x at y , na maaaring maging "sewn" sa nais na software.

Kapag nagpapadala o tumatanggap ng naturang mensahe, ang subscriber A ay kinakalkula ang key value batay sa formula A = x a mod y , at ang pangalawa ay gumagamit ng kumbinasyon na B = x b mod y , na sinusundan ng paglipat ng decrypted key sa unang user. Ito ang unang yugto.

Ngayon ipagpalagay na ang ikatlong stakeholder ay sa kanyang pagtatapon parehong kinakalkula halaga ng A at B. Parehong pareho, hindi siya maaaring makagambala sa proseso ng paglipat ng data, dahil sa pangalawang yugto kailangan mong malaman kung paano kinakalkula ang karaniwang key.

Batay sa mga formula sa itaas, maaari mong ihinto ang pagkalkula ng pampublikong key. Kung titingnan mo ang algorithm ng Diffie-Hellman, ang halimbawa ay maaaring magmukhang ganito:

1) kinakalkula ng unang subscriber ang susi batay sa x ng formula B isang mod y = x ab mod y ;

2) ang pangalawang, simula sa unang y ng y at Nakuha mula sa network protocol ng parameter B, tinutukoy ang susi batay sa magagamit na parameter A: A b mod y = x ba mod y .

Tulad ng nakikita natin, ang pangwakas na mga halaga kahit na ang mga degree ay binago magkasalubong. Kaya, ang interpretasyon ng data sa pamamagitan ng magkabilang panig ay, gaya ng sinasabi nila, nabawasan sa isang solong denamineytor.

Kahinaan sa pagkagambala sa proseso ng paglipat ng data

Tulad ng maaaring ipalagay, ang interbensyon ng isang third party ay hindi ibinubukod. Gayunpaman, sa kasong ito ay pinag-uusapan natin ang mga tinukoy na bilang ng mga order na 10 100 o kahit 10 300 .

Ito ay nakatakda sa dahilan na wala sa ngayon ang mga generating password generators o access code ng araw na ito ay maaaring matukoy ang numero mismo (maliban kung ang una at pangwakas, sa halip na ang mga intermediate parameter para sa pagkagambala sa sistema ng pagpapadala). Magtagal na ito na ang buhay sa Earth ay magtatapos. Gayunpaman, may mga puwang sa ganitong sistema ng seguridad.

Kadalasan ay iniugnay sila sa kaalaman ng discrete logarithm. Kung magagamit ang ganitong kaalaman, posible na i-crack ang algorithm ng Diffie-Hellman (ngunit para lamang sa mga paunang at pangwakas na mga parameter, tulad ng nabanggit sa itaas). Ang isa pang bagay ay ang ganitong kaalaman ay nagmamay ari ng mga yunit.

Paggamit ng Algorithm para sa Java Platform

Ang Diffie-Hellman na algorithm sa Java ay eksklusibo na ginagamit para sa mga tawag tulad ng "client-server".

Sa madaling salita, naghihintay ang server para makonekta ang mga machine ng client. Kapag ang naturang koneksyon ay ginawa, ang algorithm executes para sa paghahanap ng alinman sa pampubliko o pribadong key, pagkatapos kung saan ang gumagamit ay maaaring makakuha ng unhindered access sa lahat ng mga function at data ng server mismo. Kung minsan ito ay nalalapat kahit sa mga mobile na sistema, gayunpaman, napakakaunting mga tao ang nalalaman tungkol dito, lalo na dahil ang ehekutibong bahagi ay gumagana sa hindi nakikitang mode sa anyo ng mga executable script.

Gamit ang algorithm para sa C platform (+ / ++)

Kung titingnan mo ang Diffie-Hellman algorithm sa "C" (+ / ++), pagkatapos dito lahat ay hindi makinis. Ang katotohanan ay kung minsan ay may problema ng kapag ang programming language mismo ay kadalasang gumagana sa mga kalkulasyon na may kaugnayan sa lumulutang na tuldok. Iyon ay kung bakit kapag tumutukoy sa mga halaga ng integer o kapag sinusubukang i-round off (kahit na kapag ang pagtaas sa kapangyarihan), maaaring may isang problema kapag kino-compile. Ito ay totoo lalo na sa maling paggamit ng int function.

Gayunpaman, ito ay kapaki-pakinabang na magbayad ng pansin sa iba pang mga sangkap na maipapatupad, na, bilang isang patakaran, ay kumakatawan sa gawain ng mga klase, ang parehong exponentiation o kaugnay na GMP attachable na mga aklatan.

Mga modernong algorithm ng pag-encrypt

Ito ay pinaniniwalaan na ang Diffie-Hellman algorithm ay hindi pa rin mapupunta. Sa totoo lang, siya ang nagsilbing batayan para sa paglitaw ng mga kilalang sistema ng proteksyon sa larangan ng pag-encrypt ng data, tulad ng AES128 at AES256.

Gayunpaman, gaya ng ipinakita ng pagsasanay, sa kabila ng pagkakaroon ng mga numero na hindi nakikita ng tao, karamihan sa mga sistema ng kasalukuyang uri ay gumagamit lamang ng mga halaga ng nangungunang sampung (hindi higit pa), bagaman ang algorithm mismo ay nagpapahiwatig ng mga bilang na milyon-milyong beses na mas malaki.

Sa halip na isang tuluy-tuloy

Sa pangkalahatan, malamang na malinaw na kung ano ang sistema at kung ano ang mga sangkap ng algorithm nito. Ito ay nananatili lamang upang idagdag na ito ay pinagkalooban ng gayong magagandang pagkakataon na halos walang sinuman ang gumagamit nito nang buo.

Sa kabilang banda, may mga malinaw na sapat na kahinaan sa algorithm. Hukom para sa iyong sarili: pagkatapos ng lahat, pagsulat ng isang programa para sa pagkalkula ng mga discrete logarithms, kahit na anuman sa mga tagalikha nito ay maaaring ma-access hindi lamang ang mga unang parameter na itinakda ng mga gumagamit, kundi pati na rin sa mga common key na nalikha sa encryption at decryption system.

Sa pinakasimpleng kaso, sapat na i-install ang parehong executable Java applet na maaaring magamit kahit sa mga mobile na komunikasyon. Siyempre, hindi alam ng gumagamit ang tungkol dito, ngunit maaaring gamitin ng sinuman ang kanyang data para sa kanyang sariling mga layunin.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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