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┼Ť.