b'\n_START_ARTICLE_\nKrzywa eliptyczna Diffiego-Hellmana\n_START_PARAGRAPH_\nKrzywa eliptyczna Diffiego-Hellmana (ang. Elliptic curve Diffie-Hellman \xe2\x80\x93 ECDH) \xe2\x80\x93 anonimowy protok\xc3\xb3\xc5\x82 uzgadniania kluczy. Pozwala on obu stronom (gdzie ka\xc5\xbcda z nich posiada par\xc4\x99 kluczy: prywatnego i publicznego, opartych na krzywych eliptycznych) na przesy\xc5\x82anie danych niejawnych poprzez niezabezpieczony kana\xc5\x82. Dane te mog\xc4\x85 zosta\xc4\x87 bezpo\xc5\x9brednio u\xc5\xbcyte jako klucz, lub te\xc5\xbc mo\xc5\xbcna wydzieli\xc4\x87 z nich inne klucze. Mog\xc4\x85 one nast\xc4\x99pnie zosta\xc4\x87 u\xc5\xbcyte do odszyfrowania kolejnych transmisji za pomoc\xc4\x85 algorytmu symetrycznego. Jest to odmiana protoko\xc5\x82u Diffiego-Hellmana wykorzystuj\xc4\x85ca kryptografi\xc4\x99 krzywych eliptycznych.\n_START_SECTION_\nProtok\xc3\xb3\xc5\x82 ustanawiania kluczy\n_START_PARAGRAPH_\nPrzypu\xc5\x9b\xc4\x87my, \xc5\xbce Alicja chce ustanowi\xc4\x87 klucz, kt\xc3\xb3ry b\xc4\x99dzie udost\xc4\x99pniony Bobowi, lecz komunikacja na jedynym dost\xc4\x99pnym kanale mo\xc5\xbce by\xc4\x87 pods\xc5\x82uchana przez osob\xc4\x99 trzeci\xc4\x85. Pocz\xc4\x85tkowo nale\xc5\xbcy uzgodni\xc4\x87 g\xc5\x82\xc3\xb3wne parametry (w zale\xc5\xbcno\xc5\x9bci od przypadku, mo\xc5\xbce to by\xc4\x87 zbi\xc3\xb3r  lub ). Ponadto ka\xc5\xbcda strona musi posiada\xc4\x87 par\xc4\x99 kluczy, kt\xc3\xb3r\xc4\x85 mo\xc5\xbcna zastosowa\xc4\x87 w kryptografii krzywych eliptycznych, sk\xc5\x82adaj\xc4\x85c\xc4\x85 si\xc4\x99 z klucza prywatnego  (losowo wybrana liczba ca\xc5\x82kowita z przedzia\xc5\x82u ) oraz klucza publicznego  (gdzie ). Niech Alicja posiada par\xc4\x99 kluczy  a Bob posiada par\xc4\x99  Przed wykonaniem protoko\xc5\x82u ka\xc5\xbcda ze stron musi zna\xc4\x87 klucz publiczny tej drugiej._NEWLINE_Alicja oblicza  Bob oblicza  Udost\xc4\x99pnione tajne dane to _NEWLINE_Wi\xc4\x99kszo\xc5\x9b\xc4\x87 standaryzowanych protoko\xc5\x82\xc3\xb3w bazuj\xc4\x85cych na ECDH uzyskiwa\xc5\x82o klucz symetryczny z  za pomoc\xc4\x85 niekt\xc3\xb3rych odmian funkcji skr\xc3\xb3tu._NEWLINE_Udost\xc4\x99pnione tajne dane, obliczone przez obie strony, s\xc4\x85 zgodne, poniewa\xc5\xbc _NEWLINE_Jedyn\xc4\x85 informacj\xc4\x85 o prywatnym kluczu Alicji jest jej klucz publiczny. Zatem nikt poza Alicj\xc4\x85 nie mo\xc5\xbce obliczy\xc4\x87 jej klucza prywatnego, o ile inna strona nie rozwi\xc4\x85\xc5\xbce logarytmu dyskretnego krzywej eliptycznej. Klucz prywatny Boba jest zabezpieczony analogicznie. Nikt \xe2\x80\x93 poza Alicj\xc4\x85 lub Bobem \xe2\x80\x93 nie odszyfruje udost\xc4\x99pnionych pomi\xc4\x99dzy nimi danych, o ile intruz nie rozwi\xc4\x85\xc5\xbce tzw. problemu Diffiego-Hellmana._NEWLINE_Klucze publiczne s\xc4\x85 albo statyczne (i zaufane, np. poprzez certyfikat) albo efemeryczne (ECDHE). Tego typu klucze s\xc4\x85 tymczasowe i nie zawsze nast\xc4\x99puje ich uwierzytelnienie._NEWLINE_Je\xc5\x9bli wi\xc4\x99c ten proces jest po\xc5\xbc\xc4\x85dany, zapewnienie autentyczno\xc5\x9bci musi zosta\xc4\x87 uzyskane innymi \xc5\x9brodkami. Uwierzytelnienie jest niezb\xc4\x99dne w celu unikni\xc4\x99cia atak\xc3\xb3w typu man in the middle._NEWLINE_Je\xc5\xbceli jeden z kluczy publicznych \xe2\x80\x93 Alicji lub Boba \xe2\x80\x93 jest statyczny, w\xc3\xb3wczas wspomniane ataki zostan\xc4\x85 udaremnione. W przeciwie\xc5\x84stwie do innych zaawansowanych w\xc5\x82a\xc5\x9bciwo\xc5\x9bci zabezpieczaj\xc4\x85cych, statyczne klucze publiczne nie zapewniaj\xc4\x85 ani utajniania z wyprzedzeniem, ani odporno\xc5\x9bci na ataki na wiarygodno\xc5\x9b\xc4\x87 klucza. W\xc5\x82a\xc5\x9bciciele statycznych kluczy prywatnych powinni dokonywa\xc4\x87 walidacji kluczy publicznych innych stron, a tak\xc5\xbce zastosowa\xc4\x87 bezpieczn\xc4\x85 funkcj\xc4\x99 wyprowadzania klucza w stosunku do \xe2\x80\x9esurowych\xe2\x80\x9d danych Diffiego-Hellmana. W\xc3\xb3wczas mo\xc5\xbcna unikn\xc4\x85\xc4\x87 przecieku informacji o statycznym kluczu prywatnym._NEWLINE_O ile udost\xc4\x99pnione tajne dane mog\xc4\x85 by\xc4\x87 u\xc5\xbcywane bezpo\xc5\x9brednio w roli klucza, cz\xc4\x99sto po\xc5\xbc\xc4\x85dane jest stosowanie na nich funkcji skr\xc3\xb3tu w celu usuni\xc4\x99cia tzw. s\xc5\x82abych bit\xc3\xb3w, wyst\xc4\x99puj\xc4\x85cych w protokole Diffiego-Hellmana.'