Systemy kryptograficzne dzieli się obecnie na dwie główne dziedziny nauki: kryptografię symetryczną i asymetryczną. Chociaż szyfrowanie symetryczne jest często używane jako synonim kryptografii symetrycznej, kryptografia asymetryczna obejmuje dwa główne przypadki użycia: szyfrowanie asymetryczne i podpisy cyfrowe.
Dlatego możemy przedstawić te grupy w następujący sposób:
Kryptografia klucza symetrycznego
Szyfrowanie symetryczne
Kryptografia asymetryczna (lub kryptografia klucza publicznego)
Szyfrowanie asymetryczne (lub szyfrowanie kluczem publicznym)
Podpisy cyfrowe (mogą obejmować szyfrowanie lub nie)
W tym artykule skupimy się na algorytmach szyfrowania symetrycznego i asymetrycznego.
Szyfrowanie symetryczne i asymetryczne
Algorytmy szyfrowania często dzieli się na dwie kategorie, zwane szyfrowaniem symetrycznym i asymetrycznym. Zasadnicza różnica między tymi dwiema metodami szyfrowania polega na tym, że algorytmy szyfrowania symetrycznego korzystają z jednego klucza, podczas gdy szyfrowanie asymetryczne wykorzystuje dwa różne, ale powiązane klucze. Takie rozróżnienie, choć pozornie proste, wyjaśnia różnice funkcjonalne między dwiema formami technik szyfrowania i sposobami ich wykorzystania.
Zrozumienie kluczy szyfrowania
W kryptografii algorytmy szyfrujące generują klucze w postaci serii bitów, które służą do szyfrowania i deszyfrowania informacji. Sposób wykorzystania tych kluczy wyjaśnia różnicę między szyfrowaniem symetrycznym i asymetrycznym.
Podczas gdy algorytmy szyfrowania symetrycznego używają tego samego klucza do wykonywania funkcji szyfrowania i deszyfrowania, algorytm szyfrowania asymetrycznego używa jednego klucza do szyfrowania danych, a drugiego do ich deszyfrowania. W systemach asymetrycznych klucz używany do szyfrowania nazywany jest kluczem publicznym i można go swobodnie udostępniać innym. Z drugiej strony klucz używany do odszyfrowania jest kluczem prywatnym i powinien być trzymany w tajemnicy.
Na przykład, jeśli Alicja wyśle Bobowi wiadomość chronioną szyfrowaniem symetrycznym, musi udostępnić Bobowi ten sam klucz, którego użyła do szyfrowania, aby mógł odszyfrować wiadomość. Oznacza to, że jeśli złośliwy aktor przechwyci klucz, będzie mógł uzyskać dostęp do zaszyfrowanych informacji.
Jeśli jednak Alicja zamiast tego użyje schematu asymetrycznego, szyfruje wiadomość kluczem publicznym Boba, dzięki czemu Bob będzie mógł ją odszyfrować swoim kluczem prywatnym. Zatem szyfrowanie asymetryczne zapewnia wyższy poziom bezpieczeństwa, ponieważ nawet jeśli ktoś przechwyci ich wiadomości i znajdzie klucz publiczny Boba, nie będzie w stanie odszyfrować wiadomości.
Długości kluczy
Kolejna funkcjonalna różnica między szyfrowaniem symetrycznym i asymetrycznym związana jest z długością kluczy, która jest mierzona w bitach i jest bezpośrednio powiązana z poziomem bezpieczeństwa zapewnianym przez każdy algorytm kryptograficzny.
W schematach symetrycznych klucze dobierane są losowo, a ich długość zwykle ustalana jest na 128 lub 256 bitów, w zależności od wymaganego poziomu bezpieczeństwa. Jednakże w szyfrowaniu asymetrycznym musi istnieć związek matematyczny pomiędzy kluczami publicznymi i prywatnymi, co oznacza, że istnieje między nimi wzór matematyczny. Ze względu na to, że ten wzorzec może potencjalnie zostać wykorzystany przez atakujących do złamania szyfrowania, klucze asymetryczne muszą być znacznie dłuższe, aby zapewniały równoważny poziom bezpieczeństwa. Różnica w długości klucza jest tak wyraźna, że 128-bitowy klucz symetryczny i 2048-bitowy klucz asymetryczny zapewniają mniej więcej podobny poziom bezpieczeństwa.
Zalety i wady
Obydwa typy szyfrowania mają względem siebie zalety i wady. Algorytmy szyfrowania symetrycznego są znacznie szybsze i wymagają mniejszej mocy obliczeniowej, ale ich główną słabością jest dystrybucja kluczy. Ponieważ do szyfrowania i odszyfrowywania informacji używany jest ten sam klucz, klucz ten należy przekazać każdemu, kto miałby dostęp do danych, co w naturalny sposób stwarza ryzyko bezpieczeństwa (jak pokazano powyżej).
I odwrotnie, szyfrowanie asymetryczne rozwiązuje problem dystrybucji kluczy, używając kluczy publicznych do szyfrowania i kluczy prywatnych do deszyfrowania. Wadą jest jednak to, że systemy szyfrowania asymetrycznego są bardzo powolne w porównaniu z systemami symetrycznymi i wymagają znacznie większej mocy obliczeniowej ze względu na znacznie dłuższe klucze.
Przypadków użycia
Szyfrowanie symetryczne
Ze względu na większą prędkość szyfrowanie symetryczne jest szeroko stosowane do ochrony danych w wielu nowoczesnych systemach komputerowych. Na przykład zaawansowany standard szyfrowania (AES) jest używany przez rząd Stanów Zjednoczonych do szyfrowania informacji niejawnych i wrażliwych. AES zastąpił poprzedni standard szyfrowania danych (DES), który został opracowany w latach 70. XX wieku jako standard szyfrowania symetrycznego.
Szyfrowanie asymetryczne
Szyfrowanie asymetryczne można zastosować w systemach, w których wielu użytkowników może potrzebować zaszyfrować i odszyfrować wiadomość lub zestaw danych, zwłaszcza gdy szybkość i moc obliczeniowa nie są głównymi kwestiami. Jednym z przykładów takiego systemu jest zaszyfrowana poczta elektroniczna, w której klucz publiczny może zostać użyty do zaszyfrowania wiadomości, a klucz prywatny może zostać użyty do jej odszyfrowania.
Systemy hybrydowe
W wielu zastosowaniach szyfrowanie symetryczne i asymetryczne jest używane łącznie. Typowymi przykładami takich systemów hybrydowych są protokoły kryptograficzne Security Sockets Layer (SSL) i Transport Layer Security (TLS), które zostały zaprojektowane w celu zapewnienia bezpiecznej komunikacji w Internecie. Protokoły SSL są obecnie uważane za niebezpieczne i należy zaprzestać ich stosowania. Natomiast protokoły TLS są uważane za bezpieczne i są szeroko stosowane we wszystkich głównych przeglądarkach internetowych.
Czy kryptowaluty korzystają z szyfrowania?
Techniki szyfrowania są stosowane w wielu portfelach kryptowalut w celu zapewnienia użytkownikom końcowym zwiększonego poziomu bezpieczeństwa. Algorytmy szyfrowania stosowane są np. wtedy, gdy użytkownicy ustawiają hasło do swoich portfeli kryptowalutowych, co oznacza, że plik używany do uzyskania dostępu do oprogramowania został zaszyfrowany.
Jednakże ze względu na fakt, że Bitcoin i inne kryptowaluty korzystają z par kluczy publiczno-prywatnych, panuje powszechne błędne przekonanie, że systemy blockchain wykorzystują algorytmy szyfrowania asymetrycznego. Jak jednak zauważono wcześniej, szyfrowanie asymetryczne i podpisy cyfrowe to dwa główne przypadki użycia kryptografii asymetrycznej (kryptografia klucza publicznego).
Dlatego nie wszystkie systemy podpisu cyfrowego wykorzystują techniki szyfrowania, nawet jeśli przedstawiają klucz publiczny i prywatny. W rzeczywistości wiadomość może być podpisana cyfrowo bez szyfrowania. RSA jest jednym z przykładów algorytmu, którego można używać do podpisywania zaszyfrowanych wiadomości, ale algorytm podpisu cyfrowego używany przez Bitcoin (nazwany ECDSA) w ogóle nie wykorzystuje szyfrowania.
Zamykanie myśli
Zarówno szyfrowanie symetryczne, jak i asymetryczne odgrywają ważną rolę w zapewnianiu bezpieczeństwa poufnych informacji i komunikacji w dzisiejszym świecie uzależnionym od technologii cyfrowych. Chociaż oba mogą być przydatne, każdy z nich ma swoje zalety i wady, dlatego znajdują zastosowanie w różnych zastosowaniach. Ponieważ kryptografia stale ewoluuje w celu ochrony przed nowszymi i bardziej wyrafinowanymi zagrożeniami, zarówno symetryczne, jak i asymetryczne systemy kryptograficzne prawdopodobnie pozostaną istotne dla bezpieczeństwa komputera.

