b"\n_START_ARTICLE_\nDiffie-Hellmani v\xc3\xb5tmevahetus\n_START_PARAGRAPH_\nDiffie-Hellmani v\xc3\xb5tmevahetus on avaliku v\xc3\xb5tme kr\xc3\xbcptograafias kasutusel olev algoritm, mille abil saab moodustada kr\xc3\xbcptograafilisi v\xc3\xb5tmeid ja neid mitteturvaliste arvutiv\xc3\xb5rkude kaudu jagada. See oli \xc3\xbcks esimesi avalikustatud rakenduslikke meetodeid, mille abil avalikke v\xc3\xb5tmeid vahetada sai. Varem pidid s\xc3\xb5numi kr\xc3\xbcpteerimiseks ning dekr\xc3\xbcpteerimiseks nii s\xc3\xb5numi saatja kui vastuv\xc3\xb5tja omama \xc3\xbchte ja sama v\xc3\xb5tit. See omakorda t\xc3\xa4hendas, et saatja pidi kuidagi selle v\xc3\xb5tme vastuv\xc3\xb5tjani toimetama, mida aga on v\xc3\xa4ga keeruline turvaliselt teha. Diffie-Hellmani algoritm v\xc3\xb5imaldab kahel osapoolel, kellel pole omavahel eelnevalt mingit kokkupuudet olnud, kokku leppida \xc3\xbchise salajase v\xc3\xb5tme. Nad saavad kasutada suhtluseks avalikku arvutiv\xc3\xb5rku, kuna osapoolte saadetud s\xc3\xb5numite sisu teadmisest ei piisa, et \xc3\xa4ra arvata kokku lepitud salajast v\xc3\xb5tit. P\xc3\xa4rast salajase v\xc3\xb5tme kokku leppimist saavad osapooled kasutada seda v\xc3\xb5tit edasise suhtluse kr\xc3\xbcpteerimiseks s\xc3\xbcmmeetrilise algoritmiga._NEWLINE_Whitfield Diffie ja Martin Hellman avalikustasid algoritmi 1976. aastal. 1970. aastate algul tegeles Suurbritannia signaalluureasutus samuti aktiivselt kr\xc3\xbcptograafiliste v\xc3\xb5tmete jagamise probleemiga. Nende tegevust juhtis James H. Ellis, kes m\xc3\xb5tles v\xc3\xa4lja avaliku v\xc3\xb5tmevahetuse skeemi, kuid ei suutnud leida matemaatilist funktsiooni, mis rahuldaks vajalikke n\xc3\xb5udeid. Tema alluvuses t\xc3\xb6\xc3\xb6tasid C.C. Cocks ja M.J. Williamson, kellel oli rohkem edu matemaatiliste funktsioonide tuletamisel. Cocks m\xc3\xb5tles 1973. aastal v\xc3\xa4lja algoritmi, mis on analoogiline RSA algoritmiga. Williamson avastas 1975. aastal Diffie-Hellmani algoritmi. Kumbki neist avastustest laiemat tuntust ei saavutanud, kuna tulemused olid salastatud kuni 1999. aastani._NEWLINE_Diffie-Hellmani protokoll oma algsel kujul ei v\xc3\xb5imalda kasutajate autentimist (st me ei saa kindlad olla, kas teine osapool on see, kelle ta v\xc3\xa4idab end olevat). Seet\xc3\xb5ttu tuleb reaalses kasutuses alati kasutada sertifitseeritud avalikke v\xc3\xb5tmeid. Kombineerides sertifikaate ning igal sessioonil uue avaliku v\xc3\xb5tme genereerimist, on v\xc3\xb5imalik saavutada perfect forward secrecy. Sellist algoritmi varianti nimetatakse efemeerseks Diffie-Hellmani v\xc3\xb5tmevahetuseks._NEWLINE_Diffie-Hellmani algoritmile j\xc3\xa4rgnes 1976. aastal teine populaarne avaliku v\xc3\xb5tme protokoll RSA, mis v\xc3\xb5imaldab lisaks kr\xc3\xbcpteerimisele ka turvalist allkirjastamist.\n_START_SECTION_\nAlgoritmi kirjeldus\n_START_PARAGRAPH_\nDiffie-Hellmani v\xc3\xb5tmevahetuse tulemusena teavad kaks osapoolt \xc3\xbchist salajast numbrit nii, et nende osapoolte infovahetust pealt kuulates ei ole kolmandal osapoolel v\xc3\xb5imalik seda numbrit tuvastada._NEWLINE_Graafiliselt v\xc3\xb5ib algoritmi kirjeldada, kasutades mustrite liitmist. Eeldame, et kokku liidetud mustrist esialgsete mustrite tuvastamine on v\xc3\xa4ga keeruline probleem._NEWLINE_Esmalt lepivad Alice (A) ja Bob (B) kokku \xc3\xbchises mustris. Seej\xc3\xa4rel valib kumbki endale salajase mustri, mida ainult tema teab, ning liidab selle \xc3\xbchisele mustrile. Saadud tulemused vahetatakse omavahel. N\xc3\xbc\xc3\xbcd liidab kumbki osapool teise k\xc3\xa4est saadud mustrile enda salajase mustri. Tulemusena on m\xc3\xb5lemal identne muster, mis ongi \xc3\xbchiseks saladuseks.\n_START_SECTION_\nKasutusvaldkonnad v\xc3\xb5rguprotokollides\n_START_PARAGRAPH_\nDiffie-Hellmani v\xc3\xb5tmevahetust toetavad mitmed interneti protokollid. K\xc3\xb5ige populaarsemad neist on TLS/SSL, SSH ning IPsec. K\xc3\xb5ik protokollid kasutavad Diffie-Hellmani v\xc3\xb5tmevahetust esialgses faasis, et kokku leppida salajast v\xc3\xb5tit, mida edasipidi suhtluse kr\xc3\xbcpteerimisel kasutada.\n_START_SECTION_\nTurvalisus\n_START_PARAGRAPH_\n\xc3\x95igete tingimuste t\xc3\xa4itmisel on Diffie-Hellmani protokoll v\xc3\xa4ga turvaline, aga kahjuks on praktilistes rakendustes esinenud mitmeid puuduj\xc3\xa4\xc3\xa4ke. Need on v\xc3\xb5imaldanud mitmesuguseid r\xc3\xbcnnakuid algoritmi implementatsioonide vastu.\n_START_SECTION_\nVahendajar\xc3\xbcnne\n_START_PARAGRAPH_\nKuna Diffie-Hellmani protokoll ei v\xc3\xb5imalda teise osapoole autentimist, siis on selle vastu v\xc3\xb5imalik kasutada vahendajar\xc3\xbcnnet (ingl man-in-the-middle-attack). Alice ja Bob soovivad omavahel kokku leppida \xc3\xbchist saladust, aga kolmas osapool (Mallory) sekkub nendevahelisse avalike v\xc3\xb5tmete vahetusse. Mallory loob kaks sideseanssi, \xc3\xbche Alice'iga ning teise Bobiga. Alice'ile \xc3\xbctleb ta, et on Bob, ning Bobile, et on Alice. Kuna nii Alice kui Bob usaldavad seda informatsiooni (neil pole v\xc3\xb5imalik teist osapoolt autentida), siis lepivad m\xc3\xb5lemad Malloryga kokku saladuse, mida kasutavad oma s\xc3\xb5numite kr\xc3\xbcpteerimiseks. See v\xc3\xb5imaldab Malloryl dekr\xc3\xbcpteerida Alice'i ja Bobi s\xc3\xb5numeid ilma, et nood seda tuvastada suudaksid. Kui Mallory enam ei vahenda Alice'i ja Bobi s\xc3\xb5numeid, siis saavad nad teada, et keegi kuulas nende omavahelist sidet pealt, kuna Alice ja Bobi saladused ei kattu ning nad ei saa enam \xc3\xbcksteise s\xc3\xb5numeid dekr\xc3\xbcpteerida._NEWLINE_Lahendamaks vahendajar\xc3\xbcnde probleemi, tuleb teise osapoole autentimiseks kasutada mingisugust meetodit. \xc3\x9cheks v\xc3\xb5imaluseks on STS protokoll, mis \xc3\xbchendab endas Diffie-Hellmani v\xc3\xb5tmevahetuse ning osapoolte autentimise.\n_START_SECTION_\nLogjam\n_START_PARAGRAPH_\n2015. aastal avaldatud uurimuses kirjeldatakse, kuidas sooritada r\xc3\xbcnnet TLS protokolli vastu, mis kasutab Diffie-Hellmani algoritmi. R\xc3\xbcnne kasutab \xc3\xa4ra asjaolu, et Diffie-Hellmani probleemi lahendamise v\xc3\xb5ib jagada kaheks eraldi osaks, millest \xc3\xbcks s\xc3\xb5ltub ainult algarvust p ning mis on v\xc3\xb5imalik sooritada enne reaalset v\xc3\xb5tmevahetuse toimumist. See on osa, mis n\xc3\xb5uab suurema enamuse vajalikust arvutusv\xc3\xb5imsusest. Kui see eelnev arvutus (kasutatava p jaoks) on tehtud, siis v\xc3\xb5tmevahetuse ajal avalikest v\xc3\xb5tmetest salajaste arvutamine on suhteliselt v\xc3\xa4hest arvutusv\xc3\xb5imsust n\xc3\xb5udev._NEWLINE_Esimese osa arvutamine vajab siiski v\xc3\xa4ga suurt ressurssi, 512-bitise p juures kulub suurel arvutikobaral selle arvutamiseks umbes n\xc3\xa4dal, 768-bitise juures m\xc3\xb5nik\xc3\xbcmmend aastat ning 1024-bitise juures veel 1000 korda rohkem aega. Siiski on piisava arvutusv\xc3\xb5imsuse korral ka t\xc3\xa4nap\xc3\xa4eva superarvutitega v\xc3\xb5imalik see arvutus sooritada 1024-bitise p korral. Alates 2048-bitiste arvude korral pole see arvutus enam reaalne._NEWLINE_Olulise turvaprobleemi tekitab see, et v\xc3\xa4ga paljud serverid kasutavad samu algarve k\xc3\xb5ikide seansside jaoks. Seega m\xc3\xb5ne p jaoks arvutuste sooritamine annab ligip\xc3\xa4\xc3\xa4su suurele osale seni turvaliseks arvatud infovahetusele. Lisaks v\xc3\xb5imendab probleemi see, et paljud serverid toetavad iganenud standardit export DHE, mis kasutab 512-bitist algarvu. Kuigi see ei ole enamasti vaikimisi pakutud standard, on pahatahtlikul r\xc3\xbcndajal tihtipeale siiski v\xc3\xb5imalik m\xc3\xb5jutada serveri ja kasutaja vahelist kokkulepet nii, et nad hakkavad kasutama seda n\xc3\xb5rka standardit. Kui r\xc3\xbcndaja lisaks teab algaarvu p, siis on tal juba \xc3\xbcpris lihtne \xc3\xa4ra arvata kasutatavad salajased v\xc3\xb5tmed ning edasine suhtlus dekr\xc3\xbcpteerida."