If you're seeing this message, it means we're having trouble loading external resources on our website.

Jeżeli jesteś za filtrem sieci web, prosimy, upewnij się, że domeny *.kastatic.org i *.kasandbox.org są odblokowane.

Główna zawartość

Szyfrowanie klucza publicznego

W Internecie dwa komputery często chcą przesyłać między sobą dane w bezpieczny sposób. Kiedy wpisuję swoje hasło na ekranie logowania do Khan Academy, chcę, aby mój komputer bezpiecznie przesyłał te dane na serwery Khan Academy. Nie chcę się martwić, że cyberprzestępca może monitorować mój ruch internetowy i obserwować, jak hasło przechodzi przez łącza.
Ilustracja hackera kradnącego hasło. Pokazany jest laptop z przeglądarką i polem do wprowadzania hasła. Strzałka biegnie z laptopa do serwera. Nad strzałką znajduje się woreczek, który zawiera tekst "Be3tP@ssw0rd3ver" i uśmiechniętego hackera patrzącego na ten tekst.
Techniki szyfrowania symetrycznego polegają na tym, że zarówno nadawca, jak i odbiorca używają tego samego klucza do szyfrowania i odszyfrowywania danych. W jaki sposób mój komputer i serwer Khan Academy mogą bezpiecznie wymieniać klucz? Jeśli cyberprzestępca może zobaczyć moje hasło przechodzące przez łącza, to może również zobaczyć klucz szyfrujący!
Ilustracja cyberprzestępcy kradnącego klucz szyfrowania. Laptop jest pokazany z przeglądarką i polem do wprowadzania hasła. Strzałka przechodzi z laptopa na serwer. Nad strzałką znajduje się woreczek, który zawiera tekst "TOP_SECRET_KEY" i uśmiechnięty cyberprzestępca patrzący na ten tekst.
Szyfrowanie kluczem publicznym na ratunek! Jest to asymetryczna technika szyfrowania, która wykorzystuje różne klucze do szyfrowania i odszyfrowywania, pozwalając komputerom na bezpieczną komunikację między sobą przez Internet.
Przejdźmy przez proces szyfrowania klucza publicznego na wysokim poziomie.

Krok 1: Generowanie klucza

Każda osoba (lub jej komputer) musi wygenerować parę kluczy, które ją identyfikują: klucz prywatny i klucz publiczny.
Możesz wygenerować parę poniżej, używając tego samego algorytmu RSA, który jest używany przez Twój komputer:
Czy zauważyłeś/aś, że wygenerowanie kluczy zajmuje kilka sekund? Jest to spowodowane faktem, iżkllucze są generowane przez pomnożenie dwóch niezwykle dużych liczb pierwszych. Algorytm wielokrotnie generuje losowe duże liczby i sprawdza, czy są one pierwsze, dopóki nie znajdzie w końcu takich dwóch liczb. Wszystko to, że sprawdzanie czy liczba jest pierwsza może chwilę potrwać, a te klucze mają tylko 512 bitów długości - obecna zalecana długość klucza wynosi 2048 lub nawet 3072 bity.

Krok 2: Wymiana kluczy

Komputery wysyłające i odbierające wymieniają klucze publiczne między sobą za pośrednictwem niezawodnego kanału, takiego jak TCP/IP. Klucze prywatne nigdy nie są wymieniane.
Key exchange diagram with a laptop and a server. The laptop screen shows a browser with a password input field. An arrow goes from the server to the laptop and is labeled with "SERVER_PUBLIC_KEY". Under that, an arrow goes from the laptop to the server and is labeled with "CLIENT_PUBLIC_KEY."

Krok 3: Szyfrowanie

Komputer wysyłający szyfruje tajne dane przy użyciu klucza publicznego komputera odbierającego i operacji matematycznej.
Moc szyfrowania kluczem publicznym jest w tej operacji matematycznej. Jest to "funkcja jednokierunkowa", co oznacza, że komputerowi niezwykle trudno jest odwrócić operację i odkryć oryginalne dane. Nawet klucz publiczny nie może być użyty do odszyfrowania danych.
Możesz wypróbować go poniżej, przy użyciu klucza publicznego wygenerowanego powyżej:

Krok 4: Wysyłanie zaszyfrowanych danych

Nadawca może teraz bezpiecznie przesyłać zaszyfrowane dane przez Internet bez obaw o osoby postronne.
Schemat wymiany kluczy między laptopem a serwerem. Ekran laptopa pokazuje przeglądarkę z polem wprowadzania hasła. Strzałka biegnie z serwera do laptopa i jest oznaczona fragmentem zaszyfrowanego tekstu. Atakujący wygląda z niezadowoleniem na tekst.

Krok 5: Deszyfrowanie

Teraz odbiorca może odszyfrować wiadomość, używając klucza prywatnego. Jest to jedyny klucz (na świecie!), który może być użyty do odszyfrowania wiadomości.
Wypróbuj go poniżej, z zaszyfrowaną wiadomością i wcześniej wygenerowanym kluczem prywatnym:
Po pomyślnym odszyfrowaniu wiadomości spróbuj odszyfrować ją kluczem publicznym. Nie zadziała, tylko klucz prywatny może go odszyfrować.

Ale jak to możliwe?

Może to zabrzmieć zbyt dobrze, aby było prawdziwe; że możliwe jest zaszyfrowanie czegoś za pomocą jednego klucza, który może być odszyfrowany tylko za pomocą innego klucza. Przez długi czas matematycy nie byli pewni, czy jest to możliwe, ale na szczęście odkryli sposób w latach 70.
Matematyka funkcji jednokierunkowej opiera się na liczbach pierwszych, trudnościach z rozkładem na czynniki dużych liczb pierwszych i modułowej arytmetyce. Jeśli chcesz zagłębić się głębiej w matematykę, sprawdź Khan Academy samouczki na temat współczesnej kryptografii.
Na szczęście wszyscy możemy korzystać z kryptografii klucza publicznego i czerpać z niej korzyści bez konieczności rozumienia skomplikowanej matematyki. Prawdopodobnie używamy kryptografii klucza publicznego codziennie, gdy używamy komputerów i Internetu. Tylko sobie wyobraź, jak wyglądałby świat bez niego?

🙋🏽🙋🏻‍♀️🙋🏿‍♂️Masz pytania związane z tym zagadnieniem? Możesz zadać swoje pytanie poniżej!

Chcesz dołączyć do dyskusji?

Na razie brak głosów w dyskusji
Rozumiesz angielski? Kliknij tutaj, aby zobaczyć więcej dyskusji na angielskiej wersji strony Khan Academy.