Systemy kryptograficzne dzieli się obecnie na dwa główne obszary badań: kryptografię symetryczną i asymetryczną. Szyfrowanie symetryczne jest często używane jako synonim kryptografii symetrycznej, a kryptografia asymetryczna obejmuje dwa główne przypadki użycia: szyfrowanie asymetryczne i podpisy cyfrowe.
Możemy je zatem przedstawić następująco:
Kryptografia klucza symetrycznego
Szyfrowanie symetryczne
Kryptografia asymetryczna (lub kryptografia klucza publicznego)
Szyfrowanie asymetryczne (lub szyfrowanie kluczem publicznym)
Podpisy cyfrowe (mogą lub nie zawierać szyfrowania)
W tym artykule skupimy się na algorytmach szyfrowania symetrycznego i asymetrycznego.
Szyfrowanie symetryczne a asymetryczne
Algorytmy szyfrowania często dzieli się na dwie kategorie, znane jako szyfrowanie symetryczne i asymetryczne. Podstawowa różnica między tymi dwiema metodami polega na tym, że algorytmy szyfrowania symetrycznego używają jednego klucza, podczas gdy algorytmy szyfrowania asymetrycznego używają dwóch różnych, ale powiązanych ze sobą kluczy. To rozróżnienie, choć pozornie proste, stanowi istotną różnicę funkcjonalną między tymi dwiema formami szyfrowania i sposobem ich wykorzystania.
Wzajemne powiązanie kluczy
W kryptografii algorytmy szyfrujące generują klucze w postaci kolejnych bitów, które służą do szyfrowania i deszyfrowania informacji. Sposób użycia tych kluczy wyjaśnia różnicę między metodami symetrycznymi i asymetrycznymi.
Podczas gdy algorytmy szyfrowania symetrycznego wykorzystują ten sam klucz do wykonania tej funkcji, algorytm szyfrowania asymetrycznego używa jednego klucza do szyfrowania danych, a drugiego do ich deszyfrowania. W systemach asymetrycznych klucz używany do szyfrowania, zwany również kluczem publicznym, można swobodnie udostępniać innym użytkownikom. Z drugiej strony, klucz używany do deszyfrowania jest prywatny i musi być utrzymywany w tajemnicy.
Na przykład, jeśli Alicja wyśle Bobowi wiadomość zabezpieczoną szyfrowaniem symetrycznym, musi przekazać Bobowi ten sam klucz, którego użyła do jej zaszyfrowania, aby mógł odczytać wiadomość. Oznacza to, że jeśli atakujący ją przechwyci, będzie mógł uzyskać dostęp do zaszyfrowanych informacji.
Jeśli jednak Alicja użyje metody asymetrycznej, zaszyfruje wiadomość za pomocą klucza publicznego Boba, dzięki czemu Bob będzie mógł ją odszyfrować za pomocą swojego klucza prywatnego. Szyfrowanie asymetryczne zapewnia zatem wyższy poziom bezpieczeństwa, ponieważ nawet jeśli ktoś przechwyci Twoje wiadomości i znajdzie Twój klucz publiczny, nie będzie mógł z nim nic zrobić.
Długość kluczy
Kolejna różnica funkcjonalna między szyfrowaniem symetrycznym i asymetrycznym wiąże się z długością kluczy, która jest mierzona w bitach i jest bezpośrednio związana z poziomem bezpieczeństwa każdego algorytmu.
W systemach symetrycznych klucze są wybierane losowo, a ich ogólnie akceptowana długość waha się między 128 a 256 bitami, w zależności od wymaganego poziomu bezpieczeństwa. W szyfrowaniu asymetrycznym musi istnieć matematyczna relacja między kluczem publicznym a prywatnym, tj. pewien wzór matematyczny łączący je. Z tego powodu atakujący mogą wykorzystać ten wzorzec do złamania szyfru, podczas gdy klucze asymetryczne muszą być znacznie dłuższe, aby zapewnić równoważny poziom bezpieczeństwa. Różnica w długości klucza jest tak znacząca, że 128-bitowy klucz symetryczny i 2048-bitowy klucz asymetryczny zapewniają mniej więcej ten sam poziom bezpieczeństwa.
Zalety i wady
Te dwa rodzaje szyfrowania mają zarówno zalety, jak i wady. Algorytmy szyfrowania symetrycznego są znacznie szybsze i wymagają mniejszej mocy obliczeniowej, ale ich główną wadą jest dystrybucja klucza. Ponieważ ten sam klucz jest używany do szyfrowania i deszyfrowania informacji, musi on być rozprowadzany między wszystkimi osobami potrzebującymi dostępu, co naturalnie stwarza pewne ryzyko (jak opisano wcześniej).
Z kolei szyfrowanie asymetryczne rozwiązuje problem dystrybucji kluczy poprzez użycie kluczy publicznych do szyfrowania i kluczy prywatnych do deszyfrowania. Wadą jest to, że systemy asymetryczne są bardzo powolne w porównaniu z symetrycznymi i wymagają znacznie większej mocy obliczeniowej ze względu na długość klucza.
Opcje aplikacji
Szyfrowanie symetryczne
Ze względu na swoją szybkość, szyfrowanie symetryczne jest szeroko stosowane do ochrony informacji w wielu współczesnych systemach komputerowych. Na przykład, Advanced Encryption Standard (AES) jest używany przez rząd USA do szyfrowania informacji niejawnych. AES zastąpił wcześniejszy standard szyfrowania danych (DES), 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ć szyfrować i deszyfrować wiadomość lub pakiet danych, zwłaszcza gdy szybkość i moc obliczeniowa nie są priorytetem. Prostym przykładem takiego systemu jest szyfrowana poczta e-mail, w której klucz publiczny może być użyty do zaszyfrowania wiadomości, a klucz prywatny do ich odszyfrowania.
Systemy hybrydowe
W wielu aplikacjach szyfrowanie symetryczne i asymetryczne jest stosowane łącznie. Dobrym przykładem takich systemów hybrydowych są protokoły kryptograficzne Security Sockets Layer (SSL) i Transport Layer Security (TLS), które zostały opracowane w celu zapewnienia bezpiecznej komunikacji w internecie. Protokoły SSL są obecnie uważane za niebezpieczne i nie są zalecane do stosowania. Z kolei protokoły TLS są uważane za bezpieczne i są powszechnie używane przez wszystkie nowoczesne przeglądarki internetowe.
Wykorzystanie szyfrowania przez kryptowaluty
Wiele portfeli kryptowalutowych stosuje metody szyfrowania, aby zapewnić użytkownikom końcowym wyższy poziom bezpieczeństwa. Algorytmy szyfrowania są używane, gdy użytkownik ustawia hasło do pliku portfela, który służy do dostępu do oprogramowania.
Ponieważ jednak Bitcoin i inne kryptowaluty wykorzystują parę kluczy publicznych i prywatnych, powszechne jest błędne przekonanie, że systemy blockchain wykorzystują algorytmy szyfrowania asymetrycznego. Jak jednak wspomniano wcześniej, szyfrowanie asymetryczne i podpisy cyfrowe to dwa główne zastosowania kryptografii asymetrycznej (kryptografii klucza publicznego).
Dlatego nie wszystkie systemy podpisu cyfrowego wykorzystują szyfrowanie, nawet jeśli udostępniają klucze publiczne i prywatne. W rzeczywistości wiadomość można podpisać cyfrowo bez użycia szyfrowania. RSA to jeden z przykładów algorytmu, który może być użyty do podpisywania zaszyfrowanych wiadomości, ale algorytm podpisu cyfrowego używany w Bitcoinie (zwany ECDSA) nie oferuje szyfrowania.
Wniosek
Zarówno szyfrowanie symetryczne, jak i asymetryczne odgrywają ważną rolę w zabezpieczaniu poufnych informacji i komunikacji w dzisiejszym cyfrowym świecie. Oba szyfry mogą być użyteczne, a każdy z nich ma swoje zalety i wady, dlatego są stosowane w różnych sytuacjach. Wraz z rozwojem kryptografii, która ma chronić przed nowymi i poważniejszymi zagrożeniami, symetryczne i asymetryczne systemy kryptograficzne zawsze będą miały znaczenie dla bezpieczeństwa komputerowego.

