Szyfrowanie Symetryczne vs Asymetryczne

Udostępnij
Szyfrowanie Symetryczne vs Asymetryczne
Posłuchaj tego artykułu
00:00 / 00:00

Kryptografia współcześnie podzielona jest dwie główne dziedziny: kryptografię symetryczną i asymetryczną. Podczas gdy szyfrowanie symetryczne często jest wykorzystywane jako synonim dla kryptografii symetrycznej, kryptografia asymetryczna obejmuje dwa podstawowe przypadki użycia: szyfrowanie asymetryczne oraz podpisy cyfrowe.

Biorąc powyższe pod uwagę, podział wygląda następująco

  • Symetryczna kryptografia kluczy

    • Szyfrowanie symetryczne

  • Kryptografia asymetryczna (inaczej kryptografia klucza publicznego)

    • Szyfrowanie asymetryczne (inaczej szyfrowanie kluczem publicznym)

    • Podpisy cyfrowe (mogą obejmować szyfrowanie)

W tym artykule skupimy się na algorytmach szyfrowania symetrycznego i asymetrycznego.


Szyfrowanie symetryczne vs asymetryczne

Algorytmy szyfrowania podobnie jak kryptografia dzielą się na dwie kategorie: algorytmy szyfrowania symetrycznego i algorytmy szyfrowania asymetrycznego. Podstawowa różnica między tymi dwiema metodami szyfrowania polega na tym, że algorytmy szyfrowania symetrycznego opierają się na pojedynczym klucz, podczas gdy szyfrowanie asymetryczne polega na wykorzystaniu dwóch różnych, ale powiązanych ze sobą kluczy. Takie rozróżnienie, choć pozornie proste, najlepiej wyjaśnia różnice funkcjonalne występujące między tymi dwiema formami szyfrowania oraz sposobem ich wykorzystania.


Klucze szyfrujące - jak je rozumieć

kryptografii algorytmy szyfrowania generują klucze, które są niczym innym jak serią bitów używanych do szyfrowania i deszyfrowania informacji. Sposób wykorzystania tych kluczy zależy od wybranej metody szyfrowania.

Podczas gdy algorytmy szyfrowania symetrycznego wykorzystują ten sam klucz do wykonywania zarówno funkcji szyfrowania, jak i deszyfrowania, algorytm szyfrowania asymetrycznego wykorzystuje jeden klucz do szyfrowania danych, a inny klucz do ich odszyfrowania. W systemach asymetrycznych pierwszym kluczem jest ten, który jest wykorzystywany do szyfrowania danych. Klucz ten nazywany jest kluczem publicznym. Jak wskazuje już sama nazwa, można bez żadnych obaw udostępniać go innym osobom. Drugim kluczem natomiast jest klucz prywatny, który służy do deszyfrowania danych. Dostęp do tego klucza powinien mieć tylko jego właściciel.

Dla lepszego zrozumienia zasady działania kluczy posłużymy się przykładem. 
Jeśli Patrycja wyśle Marcinowi wiadomość chronioną przez szyfrowanie symetryczne, musi udostępnić mu ten sam klucz, którego użyła do szyfrowania danych, aby Marcin mógł odszyfrować jej wiadomość. Oznacza to, że ktokolwiek, kto przechwyci ten klucz po drodze, może uzyskać dostęp do zaszyfrowanych za jego pomocą informacji.

Jeśli jednak Patrycja zaszyfruje swoją wiadomość asymetrycznie, to wykorzysta do tego celu klucz publiczny Marcina, dzięki czemu Marcin będzie w stanie odszyfrować tak zakodowaną wiadomość za pomocą swojego klucza prywatnego. Co za tym idzie, szyfrowanie asymetryczne zapewnia wyższy poziom bezpieczeństwa, ponieważ nawet jeśli ktoś przechwyci wiadomość wysłaną przez Patrycję do Marcina i znajdzie klucz publiczny Marcina, to i tak nie będzie w stanie odszyfrować tej wiadomości.


Długość kluczy

Inna funkcjonalna różnica występująca pomiędzy szyfrowaniem symetrycznym, a asymetrycznym jest związana z długością kluczy, które są mierzone w bitach. Długość klucza jest bezpośrednio związana z poziomem bezpieczeństwa zapewnianym przez każdy z algorytmów kryptograficznych.

W algorytmach symetrycznych klucze są wybierane losowo, a ich długość zazwyczaj wynosi 128 lub 256 bitów, w zależności od wymaganego poziomu bezpieczeństwa. W przypadku szyfrowania asymetrycznego z kolei, aby szyfrowanie i odszyfrowywanie mogło się odbyć, pomiędzy kluczem publicznym, a prywatnym musi istnieć matematyczna zależność. Oznacza to, że pomiędzy nimi musi istnieć pewien unikalny wzór matematyczny. Ze względu na fakt, że ten wzór może być potencjalnie wykorzystany przez atakujących do złamania szyfrowania, klucze asymetryczne muszą być znacznie dłuższe, aby móc zapewnić równoważny poziom bezpieczeństwa. Koniec końców, 128-bitowy klucz symetryczny i 2048-bitowy klucz asymetryczny oferują mniej więcej podobny poziom bezpieczeństwa.

 

Zalety i wady

Oba rodzaje szyfrowania cechują się zarówno zaletami jak i wadami w stosunku do siebie. Symetryczne algorytmy szyfrowania są znacznie szybsze i wymagają mniejszej mocy obliczeniowej, ale ich główną słabością jest właściwa i bezpieczna dystrybucja klucza. Ponieważ ten sam klucz jest używany do szyfrowania i deszyfrowania informacji, musi być dystrybuowany do każdego, kto ma uzyskać dostęp do zaszyfrowanych nim danych, co naturalnie niesie za sobą wiele niebezpieczeństw.


Przykładowe zastosowania

Szyfrowanie symetryczne

Ze względu na większą szybkość, szyfrowanie symetryczne jest szeroko stosowane do ochrony informacji w wielu nowoczesnych systemach komputerowych. Najbardziej znanymi przykładami są m.in Advanced Encryption Standard (AES) wykorzystywany przez rząd Stanów Zjednoczonych do szyfrowania poufnych i tajnych informacji. AES zastąpił wcześniejszy standard szyfrowania danych (DES), który został opracowany w latach siedemdziesiątych jako jeden ze standardów szyfrowania symetrycznego.

Szyfrowanie asymetryczne

Szyfrowanie asymetryczne z kolei jest wykorzystywane w systemach, w których wielu użytkowników może wymagać dostępu do zarówno szyfrowania, jak i deszyfrowania wiadomości lub zestawu danych. Jednym z przykładów takiego systemu jest zaszyfrowana wiadomość e-mail, w której klucz publiczny może być użyty do zaszyfrowania wiadomości, a klucz prywatny może zostać użyty do jej odszyfrowania.

Systemy hybrydowe

W wielu obecnie dostępnych na rynku aplikacjach wykorzystuje się już zarówno szyfrowanie symetryczne jak i asymetryczne. Typowymi przykładami takich systemów hybrydowych są protokoły Security Sockets Layer (SSL) i Transport Layer Security (TLS), które zaprojektowano w celu zapewnienia bezpiecznej komunikacji w sieci Internet. Protokół SSL jest obecnie uważany za nie w pełni bezpieczny i sugerowane jest jego porzucenie. Protokół TLS z kolei uważany jest za bezpieczny i jest szeroko stosowany przez wszystkie z najpopularniejszych przeglądarek internetowych.


Czy kryptowaluty wykorzystują szyfrowanie?

Szyfrowanie jest wykorzystywane m.in aby zapewnić bezpieczeństwo środków (kryptowalut) zdeponowanych w portfelach. Algorytmy szyfrowania są stosowane, na przykład, gdy użytkownicy ustanawiają hasło dostępowe do swoich portfeli.

Jednak ze względu na fakt, że Bitcoin i inne kryptowaluty wykorzystują pary kluczy publiczno-prywatnych, istnieje powszechne błędne przekonanie, że systemy blockchain wykorzystują algorytmy szyfrowania asymetrycznego. Jak wcześniej zauważono, szyfrowanie asymetryczne i podpisy cyfrowe to dwa główne przypadki wykorzystania kryptografii asymetrycznej (kryptografii klucza publicznego).

Tym samym nie wszystkie systemy podpisów cyfrowych korzystają z technik szyfrowania, nawet jeśli wykorzystywane w nich są klucze publiczne i prywatne. W rzeczywistości wiadomość może zostać podpisana cyfrowo bez szyfrowania. RSA jest jednym z przykładów algorytmu, który może zostać wykorzystany do podpisywania zaszyfrowanych wiadomości. Algorytm podpisu cyfrowego zaimplementowany w Bitcoinie (o nazwie ECDSA) w ogóle nie wykorzystuje mechanizmów szyfrowania.


Zakończenie

Szyfrowanie symetryczne jak i asymetryczne odgrywa ważną rolę w zabezpieczaniu poufnych informacji i komunikacji w dzisiejszym cyfrowo zależnym świecie. Chociaż oba podejścia mogą być użyteczne, każdy z nich ma swoje zalety i wady. To sprawia, że są one wykorzystywane w różnych aplikacjach i na różny sposób. Ponieważ sama kryptografia - jako dziedzina kryptologii - nadal ewoluuje, aby bronić się przed nowszymi i coraz bardziej wyrafinowanymi zagrożeniami, zarówno symetryczne, jak i asymetryczne algorytmy kryptograficzne prawdopodobnie w dalszym ciągu będą odgrywały istotną rolę w zapewnieniu bezpieczeństwa systemów i aplikacji komputerowych.

Loading