Na czym polega Kryptografia Klucza Publicznego?
Strona G艂贸wna
Artyku艂y
Na czym polega Kryptografia Klucza Publicznego?

Na czym polega Kryptografia Klucza Publicznego?

艢rednio zaawansowany
Opublikowane Jan 31, 2019Zaktualizowane Nov 8, 2022
5m
Kryptografia Klucza Publicznego (ang. Public key cryptography - PKC), nazywana r贸wnie偶 聽asymetryczn膮 kryptografi膮, to inaczej to framework wykorzystuj膮cy zar贸wno klucz prywatny, jak i publiczny do wykonywania okre艣lonych czynno艣ci. PKC stoi w przeciwie艅stwie do symetrycznej kryptografii w kt贸rej wykorzystywany jest tylko jeden klucz.
Wykorzystanie pary kluczy, a nie pojedynczego klucza sprawia, 偶e PKC daje dost臋p do unikalnego zestawu cech i mo偶liwo艣ci, kt贸re mo偶na wykorzysta膰 do rozwi膮zywania problem贸w zwi膮zanych z wykorzystaniem innych technik kryptograficznych w kodzie. Ta forma kryptografii sta艂a si臋 wa偶nym elementem dziedziny bezpiecze艅stwa komputerowego, a tak偶e kluczowym elementem rozwijaj膮cego si臋 ekosystemu kryptowalut.


Jak dzia艂a Kryptografia Klucza Publicznego?

W schemacie PKC, klucz publiczny jest u偶ywany przez nadawc臋 do szyfrowania informacji, podczas gdy klucz prywatny jest u偶ywany przez odbiorc臋 do odszyfrowania tej informacji. Poniewa偶 obydwa klucze r贸偶ni膮 si臋 od siebie, klucz publiczny mo偶e by膰 bezpiecznie udost臋pniany bez nara偶ania bezpiecze艅stwa dost臋pu do kluczaprywatnego. Ka偶da asymetryczna para kluczy jest unikatowa, dzi臋ki czemu wiadomo艣膰 zaszyfrowana przy u偶yciu klucza publicznego mo偶e zosta膰 odczytana tylko przez osob臋 posiadaj膮c膮 odpowiedni klucz prywatny.

Poniewa偶 algorytmy s艂u偶膮ce do szyfrowania asymetrycznego generuj膮 pary kluczy, kt贸re s膮 ze sob膮 matematycznie powi膮zane, klucze wygenerowane w ten spos贸b s膮 znacznie d艂u偶sze od kluczy generowanych przy u偶yciu symetrycznej kryptografii. Ich d艂ugo艣膰 - zazwyczaj wynosz膮ca od 1024 do 2048 bit贸w - sprawia, 偶e niezwykle trudno jest wyliczy膰 klucz prywatny z jego publicznego odpowiednika. Jednym z najbardziej powszechnych algorytm贸w szyfrowania asymetrycznego b臋d膮cym w u偶yciu jest RSA. W schemacie RSA klucze s膮 generowane za pomoc膮 modu艂u, kt贸ry jest uzyskiwany przez pomno偶enie dw贸ch liczb (najcz臋艣ciej dw贸ch du偶ych liczb pierwszych). Z takiej operacji zawsze powstaj膮 dwa klucze: jeden publiczny, kt贸ry mo偶na udost臋pni膰, i jeden prywatny, kt贸ry powinien by膰 trzymany w sekrecie. Algorytm RSA zosta艂 po raz pierwszy opisany w 1977 roku przez tr贸jk臋 kryptograf贸w: Rivesta, Shamira i Adlemana (st膮d te偶 skr贸t RSA) i do dzi艣 pozostaje g艂贸wnym sk艂adnikiem system贸w wykorzystuj膮cych kryptografi臋 klucza publicznego.


PKC jako narz臋dzie szyfrowania

Kryptografia klucza publicznego rozwi膮zuje jeden z istniej膮cych od dawna problem贸w z kt贸rym borykaj膮 si臋 algorytmy symetryczne. Mowa tutaj o komunikacji pomi臋dzy kluczem u偶ywanym zar贸wno do szyfrowania, jak i deszyfrowania. Wys艂anie tego klucza za po艣rednictwem niezabezpieczonej sieci grozi udost臋pnieniem go stronie trzeciej, kt贸ra dzi臋ki dost臋powi do niego mo偶e nast臋pnie odczyta膰 wszystkie wiadomo艣ci zaszyfrowane za pomoc膮 klucza publicznego. Chocia偶 istniej膮 ju偶 techniki kryptograficzne (takie jak np. protok贸艂 wymiany kluczy Diffie-Hellman-Merkle) umo偶liwiaj膮ca rozwi膮zanie tego problemu, w dalszym ci膮gu s膮 one jednak podatne na ataki. Natomiast w przypadku Kryptografii Klucza Publicznego, klucz u偶ywany do szyfrowania mo偶e by膰 bezpiecznie przes艂any przy u偶yciu dowolnego po艂膮czenie, komunikatora lub serwera. To z kolei w rezultacie sprawia, 偶e algorytmy asymetryczne zapewniaj膮 wy偶szy poziom bezpiecze艅stwa w por贸wnaniu z algorytmami symetrycznymi.


U偶ytek PKC w Generowaniu Podpis贸w Cyfrowych

Innym przyk艂adem zastosowania asymetrycznych algorytm贸w kryptograficznych jest uwierzytelnianie danych za pomoc膮 tzw. podpis贸w cyfrowych. Generalnie rzecz ujmuj膮c podpis cyfrowy, to skr贸t stworzony za pomoc膮 danych zawartych w samej wiadomo艣ci. Po wys艂aniu takiej wiadomo艣ci, jej podpis mo偶e zosta膰 sprawdzony przez odbiorc臋 przy u偶yciu klucza publicznego nadawcy - kt贸ry jest publicznie znany - co pozwala odbiorcy na zweryfikowanie 藕r贸d艂a wiadomo艣ci i upewnienie si臋, 偶e jej tre艣膰 nie zosta艂a w jakikolwiek spos贸b naruszona. Nale偶y jednak zauwa偶y膰, 偶e nie wszystkie systemy podpis贸w cyfrowych korzystaj膮 z technik szyfrowania.


Ograniczenia

Chocia偶 PKC wykorzystywane jest generalnie do zwi臋kszenia bezpiecze艅stwa komunikacji i zapewnienia integralno艣ci komunikatu, to framework ten cechuje si臋 jednak pewnymi ograniczeniami. Ze wzgl臋du na z艂o偶one operacje matematyczne zwi膮zane z szyfrowaniem i odszyfrowywaniem, algorytmy asymetryczne okazuj膮 si臋 dosy膰 powolne w przypadku zetkni臋cia ich z du偶ymi zestawami danych. Ten rodzaj kryptografii zale偶y r贸wnie偶 w du偶ej mierze od za艂o偶enia, 偶e klucz prywatny zawsze pozostanie tajny. Je艣li klucz prywatny zostanie przypadkowo udost臋pniony lub ujawniony, bezpiecze艅stwo wszystkich wiadomo艣ci, kt贸re zosta艂y zaszyfrowane za pomoc膮 odpowiadaj膮cego mu klucza publicznego, zostanie najzwyczajniej naruszona. Co wi臋cej, przypadkowe zgubienie klucza prywatnego daj膮cego dost臋p do zaszyfrowanych danych sprawia, 偶e dane zaszyfrowane za jego pomoc膮 staj膮 si臋 niemo偶liwe do odszyfrowania.


Zastosowania Kryptografii Klucza Publicznego

Ten typ kryptografii jest obecnie wykorzystywany przez wiele nowoczesnych system贸w komputerowych, aplikacji oraz sieci w celu zapewnienia nale偶ytego poziomu bezpiecze艅stwa poufnych informacji. Jednym z najprostszych przyk艂ad贸w zastosowania PKC z 偶ycia codziennego jest szyfrowanie wiadomo艣ci e-mail przy u偶yciu technik kryptografii klucza publicznego, aby zachowa膰 poufno艣膰 ich tre艣ci. Protok贸艂 Secure Sockets Layer (SSL), kt贸ry umo偶liwia bezpieczne po艂膮czenia z serwisami WWW, r贸wnie偶 wykorzystuje asymetryczn膮 kryptografi臋. Niekt贸rzy z kryptograf贸w twierdz膮 r贸wnie偶, 偶e systemy wykorzystuj膮ce PKC s膮 w stanie zapewni膰 bezpieczne elektroniczne 艣rodowisko s艂u偶膮ce do g艂osowania, kt贸re potencjalnie umo偶liwi艂oby wyborcom udzia艂 w wyborach przy u偶yciu ich w艂asnych komputer贸w.

Framework PKC posiada r贸wnie偶 znacz膮cy udzia艂 w technologii blockchain i kryptowalut. Podczas konfiguracji portfela s艂u偶膮cego do przechowywania kryptowalut za ka偶dym razem generowana jest para kluczy: publiczny i prywatny. Adres publiczny generowany jest przy u偶yciu klucza publicznego i co do zasady mo偶na go bezpiecznie udost臋pnia膰 innym. Z kolei klucz prywatny s艂u偶y do tworzenia podpis贸w cyfrowych i weryfikacji transakcji, dlatego te偶 obligatoryjnie jego posiadacz musi trzyma膰 go w tajemnicy przed innymi. Za ka偶dym razem kiedy transakcja zostanie zweryfikowana poprzez potwierdzenie hashu zawartego w podpisie cyfrowym, transakcj臋 t臋 mo偶na doda膰 do 艂a艅cucha blockchain. Dzi臋ki temu ka偶dy uczestnik sieci ma pewno艣膰, 偶e tylko osoba, kt贸ra ma klucz prywatny powi膮zany z odpowiednim portfelem kryptowalut, mo偶e zarz膮dza膰 zdeponowanymi na nim funduszami. Nale偶y zauwa偶y膰, 偶e szyfry asymetryczne u偶ywane w aplikacjach kryptowalutowych r贸偶ni膮 si臋 od tych u偶ywanych do cel贸w zabezpieczania sieci czy te偶 komputer贸w. Dla przyk艂adu, kryptowaluty Bitcoin i Ethereum聽 do weryfikacji transakcji wykorzystuj膮 skomplikowany szyfr znany jako algorytm cyfrowej sygnatury 艂uku eliptycznego (ECDSA)

Od bezpiecze艅stwa sieci komputerowych, komputer贸w i aplikacji, po weryfikacj臋 transakcji kryptowalutowych, kryptografia klucza publicznego odgrywa wa偶n膮 rol臋 w bezpiecze艅stwie nowoczesnych system贸w cyfrowych. Wykorzystuj膮c sparowane matematycznie ze sob膮 klucze publiczne i prywatne, asymetryczne algorytmy kryptograficzne rozwi膮zuj膮 podstawowe problemy bezpiecze艅stwa znane w dziedzinie kryptografii symetrycznej. Chocia偶 framework PKC jest w u偶yciu ju偶 od wielu lat, kryptografowie oraz programi艣ci z ca艂ego 艣wiata sukcesywnie tworz膮 dla niego nowe zastosowania i aplikacje - a ju偶 w szczeg贸lno艣ci w przestrzeni technologii blockchain i kryptowalut.

Udost臋pnij Posty
Zarejestruj konto
Wykorzystaj swoj膮 wiedz臋 w praktyce, otwieraj膮c konto Binance ju偶 dzi艣.