Szyfrowanie asymetryczne wyjaśnione w 5 minut lub mniej

Dane są cenne, a w niepowołanych rękach mogą wyrządzić szkodę osobie, stronie trzeciej lub organizacji.

Dlatego mamy szyfrowanie, sposób na zabezpieczenie danych do przechowywania lub podczas przesyłania danych przez Internet.

W tym artykule przyjrzymy się szyfrowaniu asymetrycznemu.

Zacznijmy.

Co to jest szyfrowanie?

Szyfrowanie to proces obliczeniowy konwersji danych do formatu trudnego do odkodowania (znanego również jako tekst zaszyfrowany). Opiera się na solidnym algorytmie szyfrowania obliczeń.

Dlatego prosisz komputery o szyfrowanie danych w celu bezpiecznego przechowywania lub przesyłania. Oznacza to również, że dostęp do danych mają tylko osoby upoważnione.

U podstaw szyfrowania znajdują się klucze kryptograficzne. Posiadają klucze generowane matematycznie, obliczane na podstawie innych parametrów szyfrowania oraz na podstawie umowy nadawcy i odbiorcy.

Weźmy przykład prostego szyfrowania.

Więc ty (nazwijmy to Bob) chcesz wysłać wiadomość do Johna, twojego internetowego kumpla, który lubi zaszyfrowane teksty.

Bob pisze wiadomość, a następnie przepuszcza dane przez „szyfrowanie”. Algorytm szyfrowania, którego używają, jest prosty. Najpierw Bob przesuwa wartość ASCII o 4 punkty i tworzy tekst zaszyfrowany.

Tak więc wartości ASCII „A” stają się od 65 do 69, co zwraca kwestię „E”. W ASCII E ma wartość 69. Postępując zgodnie z tą prostą metodą, Bob tworzy wiadomość i wysyła ją do Johna.

Ponieważ John i Bob uzgodnili już sposób kodowania i dekodowania, mogą wysyłać do siebie wiadomości.

Tak więc, jeśli Bob napisze „Cześć, John”, jego zaszyfrowany tekst zwróci „LIPPS0 $ NRLR”.

Proces dekodowania wiadomości wysłanej przez Boba jest znany jako deszyfrowanie.

Aby to zrozumieć, sprawdź tabelę ASCII.

Przeczytaj także: Najlepsze konwertery tekstu na ASCII, które powinieneś wypróbować

Co to jest szyfrowanie asymetryczne?

Szyfrowanie asymetryczne (znane również jako kryptografia asymetryczna) to szyfrowanie kluczem publicznym. Tutaj algorytm przeprowadza szyfrowanie i deszyfrowanie za pomocą dwóch par kluczy:

  • Klucz publiczny: Klucz publiczny pomaga w szyfrowaniu wiadomości.
  • Klucz prywatny: Klucz prywatny pomaga w odszyfrowaniu wiadomości. Klucz prywatny jest również nazywany kluczem tajnym, ponieważ nie można go udostępniać i jest on utrzymywany w tajemnicy przez właściciela.

Jak działa szyfrowanie asymetryczne?

Przywróćmy Boba i Johna z naszego poprzedniego przykładu.

Bob wiedział, że jego metoda wysyłania zaszyfrowanych wiadomości do Johna nie była bezpieczna. W końcu każdy może łatwo użyć szyfrowania metodą brute-force.

I dlatego wybrał szyfrowanie asymetryczne do wysyłania wiadomości do Johna.

W takim przypadku Bob najpierw prosi o klucz publiczny Johna. Potem, skoro już zna Johna, może go osobiście zapytać.

W przeciwnym razie istnieją katalogi kluczy publicznych (PKD), z których podmioty mogą rejestrować i udostępniać swój klucz publiczny. W ten sposób każdy, kto chce wysłać bezpieczną wiadomość, musi zdobyć klucz publiczny tej osoby.

Teraz Bob może użyć szyfrowania asymetrycznego do zaszyfrowania wiadomości kluczem publicznym nadawcy, w tym przypadku kluczem publicznym Jana.

John otrzymuje wiadomość i może ją odszyfrować za pomocą swojego klucza prywatnego.

Z drugiej strony możliwa jest również droga w drugą stronę. Oznacza to, że dane mogą być szyfrowane i odszyfrowywane przy użyciu klucza prywatnego.

Tak więc, jeśli Bob zaszyfruje wiadomość swoim kluczem prywatnym, Jan może ją odszyfrować za pomocą klucza publicznego Boba!

Szyfrowanie asymetryczne działa, ponieważ do jego działania potrzebny jest dostęp do dwóch kluczy. Różni się to od szyfrowania symetrycznego, w którym zarówno szyfrowanie, jak i deszyfrowanie są przeprowadzane za pomocą jednego klucza.

Jak działa kryptografia asymetryczna?

Aby dobrze zrozumieć, na czym polega kryptografia asymetryczna, musimy zobaczyć, jak to działa.

Podstawowy proces zależy w dużej mierze od algorytmu, który wykorzystuje dobrze przygotowaną funkcję matematyczną. Funkcja obsługuje generowanie pary kluczy.

Jednak generowanie klucza różni się w zależności od umowy między nadawcą a odbiorcą.

Ponadto większość narzędzi i języków programowania ma już predefiniowane biblioteki do obsługi kryptografii. Więc jeśli zdecydujesz się kodować kryptografię asymetryczną, będziesz musiał użyć tych bibliotek i nie tracić czasu na ponowne wymyślanie koła.

Typowy proces, który ma miejsce, gdy dana osoba decyduje się wysłać zaszyfrowaną wiadomość do innej osoby, wygląda następująco:

➡️ Nadawca i odbiorca generują klucze publiczne i prywatne na podstawie pewnych parametrów.

➡️ Następnie nadawca szuka klucza publicznego odbiorcy w katalogu public-key.

➡️ Po zapisaniu klucza publicznego nadawca używa go do zaszyfrowania wiadomości.

➡️ Następnie wysyła go do odbiorcy, który odszyfrowuje go swoim kluczem prywatnym.

➡️ Odbiorca może zdecydować się na odpowiedź na wiadomość, a ten sam proces powtarza się (tylko w odwrotnej kolejności).

Zalety szyfrowania asymetrycznego

Szyfrowanie asymetryczne ma wiele zalet. Obejmują one:

  • Uwierzytelnianie wiadomości: Szyfrowanie asymetryczne zapewnia doskonałe uwierzytelnianie wiadomości, co pozwala na weryfikację wiadomości i jej nadawcy. Dlatego podpisy cyfrowe są jednym z najlepszych przypadków użycia kryptografii asymetrycznej.
  • Wygoda: Implementacja szyfrowania asymetrycznego jest wygodna, ponieważ dystrybucja kluczy jest łatwa i dostępna. Klucze publiczne są łatwo dostępne, więc nadawcy mogą łatwo zaszyfrować wiadomość za pomocą klucza publicznego odbiorcy. Z drugiej strony odbiorca może odszyfrować wiadomość swoim kluczem prywatnym.
  • Wykrywa manipulacje: kryptografia asymetryczna wykrywa również wszelkie formy manipulacji podczas transportu.
  • Umożliwia niezaprzeczalność: Działa podobnie do fizycznie podpisanych dokumentów, a zatem nadawca nie może odmówić.

Następnie omówimy wady szyfrowania asymetrycznego.

Wady szyfrowania asymetrycznego

Wady stosowania szyfrowania asymetrycznego obejmują:

  • Wolne: szyfrowanie asymetryczne jest powolne, dlatego nie jest idealne do przesyłania dużych ilości danych.
  • Nieuwierzytelnione klucze publiczne: Oferuje otwarty model, w którym klucze publiczne są swobodnie dostępne. Nie ma jednak możliwości zweryfikowania ogólnej autentyczności klucza i jego powiązania z osobą. Powoduje to obciążenie użytkownika weryfikacją jego autentyczności.
  • Nieodzyskiwalny klucz prywatny: Nie ma mechanizmu odzyskiwania klucza prywatnego. Jeśli zostanie utracony, wiadomości nigdy nie będzie można odszyfrować.
  • Jeśli klucz prywatny wycieknie, może to zagrozić bezpieczeństwu: jeśli klucz prywatny zostanie naruszony, może to doprowadzić do wycieku danych lub wiadomości.

Teraz przyjrzymy się niektórym przypadkom użycia szyfrowania asymetrycznego.

Przypadki użycia szyfrowania asymetrycznego

# 1. Podpisy cyfrowe

Podpisy cyfrowe są obecnie powszechne. Używają algorytmu Rivesta-Shamira-Adlemana (RSA). Generuje dwa powiązane matematycznie klucze: publiczny i prywatny. W ten sposób podpis cyfrowy jest tworzony przy użyciu klucza prywatnego i może być łatwo zweryfikowany lub odszyfrowany przy użyciu klucza publicznego osoby podpisującej.

#2. Zaszyfrowana wiadomość e-mail

Wiadomości e-mail można bezpiecznie przesyłać przez Internet. Treść wiadomości e-mail jest szyfrowana kluczem publicznym i deszyfrowana kluczem prywatnym.

#3. SSL/TLS

SSL/TLS to bezpieczny protokół do komunikacji w sieci. Wykorzystuje szyfrowanie symetryczne i asymetryczne do tworzenia bezpiecznego połączenia między nadawcą a odbiorcą.

W większości przypadków wykorzystuje szyfrowanie symetryczne. Mimo to może być konieczne użycie kryptografii asymetrycznej, gdy obie strony generują swoje klucze sesji, co wymaga szyfrowania asymetrycznego w celu zweryfikowania tożsamości serwera źródłowego.

#4. kryptowaluty

Jednym z najczęstszych przypadków użycia kryptografii asymetrycznej jest kryptowaluta. Tutaj klucze publiczny i prywatny są używane do szyfrowania.

Kryptografia klucza publicznego dobrze współpracuje z kryptografią, ponieważ klucz publiczny jest udostępniany do transferu, podczas gdy klucze prywatne służą do odblokowywania transakcji i otrzymywania kryptowalut. Popularna kryptowaluta wykorzystująca szyfrowanie asymetryczne obejmuje Bitcoin.

#5. Szyfrowane przeglądanie

Przeglądarki mogą również używać szyfrowania asymetrycznego w celu zabezpieczenia danych podczas przesyłania. Na przykład po otwarciu przeglądarki i przejściu do witryny zauważysz protokół HTTPS przed adresem URL. Litera „s” oznacza tutaj zabezpieczenie. Aby uzyskać bezpieczne połączenie, przeglądarka wymienia uścisk dłoni z serwerem, gdzie obie strony decydują, jak zaszyfrować dane.

Przeglądarki mogą używać zarówno szyfrowania symetrycznego, jak i asymetrycznego do przeprowadzenia uzgadniania. Jednak szyfrowanie asymetryczne ułatwia tworzenie bezpiecznej łączności.

W rzeczywistych scenariuszach przeglądarki są wystarczająco inteligentne, aby korzystać z obu rodzajów szyfrowania w celu zapewnienia bezpiecznej łączności.

#6. Udostępnianie kluczy do kryptografii klucza symetrycznego

Szyfrowanie kluczem asymetrycznym działa również jako sposób udostępniania kluczy symetrycznych w ramach połączenia.

Symetryczne vs. Szyfrowanie asymetryczne

Różnice między symetrycznym i asymetrycznym są jak poniżej.

Szyfrowanie asymetryczneSzyfrowanie symetryczneKluczeDo działania wymagane są dwa klucze. Klucz publiczny szyfruje wiadomość, podczas gdy klucz prywatny odszyfrowuje wiadomość. Możliwa jest również sytuacja odwrotna. Szyfrowanie symetryczne wymaga tylko jednego klucza. Klucz szyfruje i odszyfrowuje wiadomość. Rozmiar zaszyfrowanego tekstu Tekst zaszyfrowany wygenerowany przez szyfrowanie asymetryczne ma długość podobną do wiadomości lub jest większy. Istnieje wiele popularnych algorytmów szyfrowania asymetrycznego, w tym RSA, ECC, EL, Gamal, Diffie-Hellman, itp. Przypadek idealnego zastosowania Do popularnych algorytmów szyfrowania symetrycznego należą RC4, DES, 3DES i AES. Tekst zaszyfrowany wygenerowany przez szyfrowanie symetryczne ma długość podobną do wiadomości lub mniejszą. Szybkość i wydajność. Proces szyfrowania jest stosunkowo wolniejszy w porównaniu z szyfrowaniem symetrycznym. To sprawia, że ​​wysyłanie dużych ilości danych jest mniej wydajne. Proces szyfrowania jest szybszy niż w przypadku szyfrowania asymetrycznego. Dzięki temu wysyłanie dużych ilości danych jest wydajne. Algorytmy Do popularnych algorytmów szyfrowania symetrycznego należą RC4, DES, 3DES i AES. Do popularnych algorytmów szyfrowania symetrycznego należą RC4, DES, 3DES i AES. Rozmiar klucza Rozmiar klucza może wynosić 2048 bitów lub więcej. Rozmiar klucza mają długość 128 lub 256 bitów. Przeznaczenie Szyfrowanie asymetryczne może być używane do szyfrowania danych, uwierzytelniania i tworzenia bezpiecznego kanału połączenia. Szyfrowanie symetryczne jest najczęściej używane do masowego przesyłania danych.

Kiedy używać szyfrowania asymetrycznego?

Powinieneś używać szyfrowania asymetrycznego, gdy:

  • Szukasz bezpieczniejszej opcji szyfrowania i wysyłania wiadomości.
  • Wysyłasz niewielkie ilości danych, ponieważ szyfrowanie asymetryczne jest powolne i nieodpowiednie do przesyłania dużych ilości danych.
  • Chcesz potwierdzić podpisy cyfrowe.
  • Pracujesz z kryptowalutami i chcesz autoryzować transakcje poprzez potwierdzenie tożsamości.

Ostatnie słowa

Szyfrowanie asymetryczne jest podstawą różnych technologii. Znajdziesz wiele zastosowań, czy to TLS/SSL do weryfikacji podpisów cyfrowych.

Co więcej, dzięki dostępnym już bibliotekom kryptograficznym możesz szybko wdrożyć kryptografię asymetryczną w preferowanym narzędziu i języku programowania. Nie musisz wymyślać koła na nowo i samodzielnie pisać kryptografii asymetrycznej.

Następnie zapoznaj się ze szczegółowym artykułem na temat szyfrowania symetrycznego.