한국   대만   중국   일본 
Kryptografia klucza publicznego ? Wikipedia, wolna encyklopedia Przejd? do zawarto?ci

Kryptografia klucza publicznego

Z Wikipedii, wolnej encyklopedii
Krok 1: Alice przesyła do Boba swoj klucz publiczny
Kroki 2 i 3: Bob szyfruje wiadomo?? kluczem publicznym Alice, ktora to nast?pnie otrzymuje zaszyfrowan? wiadomo?? i rozszyfrowuje j? kluczem prywatnym

Kryptografia klucza publicznego ( kryptografia asymetryczna ) ? rodzaj kryptografii , w ktorym jeden z u?ywanych kluczy jest udost?pniony publicznie. Ka?dy u?ytkownik mo?e u?y? tego klucza do zaszyfrowania wiadomo?ci, ale tylko posiadacz drugiego, tajnego klucza mo?e odszyfrowa? tak? wiadomo??. Istniej? rownie? bardziej zaawansowane algorytmy wykorzystuj?ce wi?cej kluczy i inne zale?no?ci mi?dzy kluczami.

Kryptografia asymetryczna opiera si? na funkcjach jednokierunkowych ? takich, ktore da si? łatwo wyliczy? w jedn? stron?, ale bardzo trudno w drug?. Np. mno?enie jest łatwe, a rozkład na czynniki (z ang. faktoryzacja) trudny (na czym przykładowo opiera si? RSA ). Pot?gowanie modulo jest łatwe, a logarytmowanie dyskretne jest trudne (na czym opieraj? si? ElGamal , DSA i ECC ).

Historia [ edytuj | edytuj kod ]

Kryptografia asymetryczna została oficjalnie wynaleziona przez cywilnych badaczy Martina Hellmana , Whitfielda Diffie w 1976 roku. Prawie rownolegle prototyp podobnego systemu stworzył Ralph Merkle ? w 1974 roku zaproponował algorytm wymiany kluczy nazwany puzzlami Merkle’a [1] . Dopiero pod koniec XX wieku brytyjska słu?ba wywiadu elektronicznego GCHQ ujawniła, ?e pierwsza koncepcja systemu szyfrowania z kluczem publicznym została opracowana przez jej pracownika Jamesa Ellisa ju? w 1965 roku, a działaj?cy system stworzył w 1973 roku Clifford Cocks , rownie? pracownik GCHQ [2] . Odkrycia te były jednak obj?te klauzul? tajno?ci do 1997 roku. Obecnie kryptografia asymetryczna jest szeroko stosowana do wymiany informacji poprzez kanały o niskiej poufno?ci, jak np. Internet . Stosowana jest tak?e w systemach elektronicznego uwierzytelniania, obsługi podpisow cyfrowych , do szyfrowania poczty ( OpenPGP ) itd.

Szyfrowanie [ edytuj | edytuj kod ]

Klucz publiczny u?ywany jest do zaszyfrowania informacji, klucz prywatny do jej odczytu. Poniewa? klucz prywatny jest w wył?cznym posiadaniu adresata informacji, tylko on mo?e j? odczyta?. Natomiast klucz publiczny jest udost?pniony ka?demu, kto zechce zaszyfrowa? wiadomo??.

Poniewa? kryptografia asymetryczna jest o wiele wolniejsza od symetrycznej, prawie nigdy nie szyfruje si? wiadomo?ci za pomoc? kryptosystemow asymetrycznych. Zamiast tego szyfruje si? jedynie klucz jakiego? szyfru symetrycznego , takiego jak np. AES . Takie protokoły, ł?cz?ce elementy kryptografii symetrycznej i asymetrycznej, nazywa si? hybrydowymi.

Podpisy cyfrowe [ edytuj | edytuj kod ]

Strona uwierzytelniaj?ca wylicza skrot ( ang.   hash ) podpisywanej wiadomo?ci. Nast?pnie szyfruje ten skrot swoim kluczem prywatnym i jako podpis cyfrowy doł?cza do oryginalnej wiadomo?ci. Dowolna osoba posiadaj?ca klucz publiczny mo?e sprawdzi? autentyczno?? podpisu poprzez odszyfrowanie skrotu za pomoc? klucza publicznego nadawcy i porownanie go z własnor?cznie wyliczonym na podstawie wiadomo?ci.

W przypadku RSA klucz prywatny i publiczny mo?na zamieni? miejscami. Podpisy cyfrowe s? implementowane na bazie szyfrowania, tylko z odwrotnym zastosowaniem kluczy ? skrot wiadomo?ci jest szyfrowany kluczem prywatnym, a ?eby zweryfikowa? wiadomo??, odszyfrowuje si? go kluczem publicznym i porownuje z wiadomo?ci?.

W innych kryptosystemach (np. w ElGamal ) podpisywanie cyfrowe jest zupełnie niezale?ne od szyfrowania. Niektore, jak DSA , umo?liwiaj? tylko podpisywanie, nie da si? w nich za? w oczywisty sposob szyfrowa?. Podpis tej samej wiadomo?ci w RSA jest zawsze identyczny. W ElGamalu i DSA ka?dy kolejny podpis tej samej wiadomo?ci zwykle jest inny ? co ma znaczenie w niektorych zastosowaniach.

Rz?d Stanow Zjednoczonych usiłował swego czasu ograniczy? stosowanie silnej kryptografii do szyfrowania, jednak musiał pozwoli? na silne podpisy cyfrowe. RSA nie dawała mo?liwo?ci udost?pnienia tylko jednej z tych funkcji, dlatego promowany był system podpisow cyfrowych DSA . Jak si? jednak okazało, losowo?? tych podpisow mo?na wykorzysta? do implementacji ? ukrytego kanału komunikacji ” i silnego szyfrowania za pomoc? DSA (jak rownie? w podpisach ElGamala, ale ElGamal udost?pnia te? normalne szyfrowanie). Jest to jednak metoda bardzo powolna i nie jest stosowana ze wzgl?du na dost?pno?? szybszych ?po?rednich” metod takich jak RSA i ElGamal .

Zale?no?ci mi?dzy kluczem publicznym i prywatnym [ edytuj | edytuj kod ]

We wszystkich kryptosystemach uzyskanie klucza prywatnego na podstawie publicznego musi by? obliczeniowo trudne .

W RSA zale?no?? mi?dzy kluczem publicznym i prywatnym jest symetryczna ? uzyskanie klucza publicznego na podstawie prywatnego jest rownie trudne, jak uzyskanie prywatnego na podstawie publicznego. Składowe kluczy i obliczane s? przy u?yciu dwoch du?ych i zbli?onych długo?ci? liczb pierwszych ( i ), generowanych w sposob mo?liwie przypadkowy. i otrzymuje si? na podstawie rownania ( jest losowane, obliczane lub odwrotnie):

Iloczyn i jest cz??ci? klucza oznaczan? przez

Klucz publiczny i prywatny tworz? odpowiednio pary i Liczby i nie s? potrzebne poza procesem generowania kluczy i zwykle s? kasowane, jednak?e istnieje wariant algorytmu, w ktorym wchodz? one w skład klucza prywatnego (s? wykorzystywane w celu zwi?kszenia szybko?ci działania kryptosystemu).

W systemie ElGamal wybierana jest liczba pierwsza generator nast?pnie losowana jest liczba Kluczem prywatnym jest kluczem publicznym za? w grupie multiplikatywnej liczb całkowitych modulo p . Klucz publiczny mo?e by? obliczony na podstawie prywatnego, co zreszt? ma miejsce podczas generacji kluczy.

Bardzo podobnie wygl?da sytuacja w innych systemach opartych na logarytmie dyskretnym , takich jak kryptografia krzywych eliptycznych . W tych metodach grup? Zp zast?puje si? inn? grup? , np. utworzon? z punktow le??cych na krzywej eliptycznej .

Zobacz te? [ edytuj | edytuj kod ]

Przypisy [ edytuj | edytuj kod ]

  1. Elementy budowy protokołow. W: Bruce Schneier : Kryptografia dla praktykow. Protokoły, algorytmy i programy ?rodłowe w j?zyku C . Wyd. 2. Warszawa: Wydawnictwa Naukowo-Techniczne, 2002, s. 51?81. ISBN  83-204-2678-2 .
  2. Steven Levy: Rewolucja w kryptografii . Warszawa: Wydawnictwa Naukowo-Techniczne, 2002, s. 314?331. ISBN  83-204-2757-6 .