System kryptograficzny jest obecnie podzielony na dwa główne obszary badawcze: kryptografię symetryczną i kryptografię asymetryczną. Kryptografia symetryczna jest często synonimem szyfrowania symetrycznego, a kryptografia asymetryczna obejmuje dwa główne przypadki użycia: szyfrowanie asymetryczne i podpisy cyfrowe.

Dlatego możemy pogrupować te pojęcia w następujący sposób:

  • Kryptografia klucza symetrycznego

    • Szyfrowanie symetryczne

  • Kryptografia asymetryczna (lub szyfrowanie kluczem publicznym)

    • Szyfrowanie asymetryczne (lub szyfrowanie kluczem publicznym)

    • Podpis cyfrowy (który może obejmować szyfrowanie lub nie)

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


Szyfrowanie symetryczne a szyfrowanie asymetryczne

Algorytmy szyfrowania są ogólnie podzielone na dwie kategorie, zwane szyfrowaniem symetrycznym i asymetrycznym. Podstawowa różnica między tymi dwoma algorytmami szyfrowania polega na tym, że algorytmy szyfrowania symetrycznego używają jednego klucza, podczas gdy szyfrowanie asymetryczne wykorzystuje dwa różne, ale powiązane klucze. Ten opis różnicy, choć bardzo prosty, jasno wyjaśnia różnice w funkcjonalności i zastosowaniu pomiędzy dwiema technologiami szyfrowania. .


Zrozumienie kluczy szyfrowania

W kryptografii algorytm szyfrowania generuje kilkubitowy klucz znakowy używany do szyfrowania i deszyfrowania fragmentu informacji. Sposób użycia tych kluczy ilustruje również różnicę między szyfrowaniem symetrycznym i asymetrycznym.

Podczas gdy algorytmy szyfrowania symetrycznego używają tego samego klucza do szyfrowania i deszyfrowania, odwrotnie, algorytmy szyfrowania asymetrycznego używają jednego klucza do szyfrowania danych, a drugiego do ich odszyfrowania. W asymetrycznym systemie szyfrowania klucz używany do szyfrowania nazywany jest kluczem publicznym i można go udostępniać innym. Z drugiej strony klucz używany do odszyfrowania jest kluczem prywatnym i powinien być utrzymywany w tajemnicy.

Na przykład, jeśli Alicja wysyła Bobowi wiadomość zaszyfrowaną przy użyciu algorytmu symetrycznego, musi udostępnić Bobowi klucz szyfrowania, którego użyła do szyfrowania, aby mógł odszyfrować wiadomość. Oznacza to, że jeśli złośliwy aktor przechwyci klucz, może łatwo uzyskać dostęp do zaszyfrowanych informacji.

Jeśli jednak Alicja używa algorytmu szyfrowania asymetrycznego, do zaszyfrowania wiadomości używa klucza publicznego Boba, a Bob może użyć swojego klucza prywatnego do odszyfrowania wiadomości. Dlatego szyfrowanie asymetryczne zapewnia wyższy poziom bezpieczeństwa, ponieważ nawet jeśli ktoś przechwyci ich wiadomość i uzyska klucz publiczny Boba, nie będzie mógł odszyfrować wiadomości.


Długość klucza

Kolejna funkcjonalna różnica między szyfrowaniem symetrycznym i asymetrycznym dotyczy długości klucza mierzonej w bitach i jest bezpośrednio powiązana z poziomem bezpieczeństwa zapewnianym przez każdy algorytm szyfrowania.

W szyfrowaniu symetrycznym klucz jest wybierany losowo, a jego długość jest zwykle ustawiana na 128 lub 256 bitów, w zależności od pożądanego poziomu bezpieczeństwa. Jednak w przypadku szyfrowania asymetrycznego klucze publiczny i prywatny są powiązane matematycznie, co oznacza, że ​​istnieje między nimi powiązanie arytmetyczne. Osoba atakująca może wykorzystać ten wzór do złamania szyfrogramu, dlatego klucze asymetryczne wymagają większej długości klucza, aby zapewnić ten sam 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.

Porównanie zalet i wad

Te dwa różne typy algorytmów szyfrowania mają różne zalety i wady. Algorytmy szyfrowania symetrycznego działają szybko i wymagają mniej zasobów obliczeniowych, jednak ich główną wadą jest rozmieszczenie kluczy. Ponieważ do szyfrowania i deszyfrowania informacji używany jest ten sam klucz, klucz ten musi zostać rozdany osobom, które muszą uzyskać dostęp do danych, co stwarza ryzyko bezpieczeństwa (jak wspomniano wcześniej).

Natomiast szyfrowanie asymetryczne wykorzystuje klucz publiczny do szyfrowania i klucz prywatny do deszyfrowania, aby rozwiązać problem dystrybucji kluczy. Kompromis polega jednak na tym, że systemy szyfrowania asymetrycznego działają bardzo wolno w porównaniu z szyfrowaniem symetrycznym i wymagają więcej zasobów obliczeniowych ze względu na bardzo duże długości kluczy.


Aplikacje

Szyfrowanie symetryczne

Szyfrowanie symetryczne jest szeroko stosowane w nowoczesnych systemach komputerowych w celu ochrony informacji ze względu na większą prędkość przetwarzania. Na przykład rząd Stanów Zjednoczonych używa zaawansowanego standardu szyfrowania (AES) do szyfrowania i klasyfikowania informacji dotyczących bezpieczeństwa. AES zastępuje poprzedni standard szyfrowania danych (DES), który został opracowany w latach 70. XX wieku i był standardem szyfrowania symetrycznego.


szyfrowanie asymetryczne

Szyfrowanie asymetryczne jest często stosowane w systemach, w których duża liczba użytkowników musi jednocześnie szyfrować i deszyfrować wiadomości lub dane, szczególnie jeśli prędkość obliczeniowa i zasoby obliczeniowe są wystarczające. Typowym przypadkiem użycia tego systemu jest zaszyfrowana wiadomość e-mail, 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.


Hybrydowy system szyfrowania

W wielu zastosowaniach szyfrowanie symetryczne i asymetryczne jest używane łącznie. Typowymi przykładami takich systemów hybrydowych są protokoły szyfrowania Secure Sockets Layer (SSL) i Transport Layer Security (TLS), które służą do zapewnienia bezpiecznej komunikacji w Internecie. Protokół SSL jest obecnie uważany za niebezpieczny i należy go zaprzestać. Natomiast protokół TLS jest obecnie uważany za bezpieczny i jest powszechnie używany przez główne przeglądarki internetowe.


Czy kryptowaluty korzystają z kryptografii?

Technologia szyfrowania stosowana w wielu kryptowalutach zapewnia wyższy poziom bezpieczeństwa użytkownikom końcowym. Na przykład, gdy użytkownik ustawia hasło do swojego portfela kryptograficznego, algorytm szyfrowania używany jest do kryptograficznego szyfrowania plików używanych do uzyskania dostępu do oprogramowania.

Ponieważ jednak Bitcoin i inne kryptowaluty korzystają z kluczy publicznych i prywatnych, istnieje powszechne błędne przekonanie, że systemy blockchain korzystają z algorytmów kryptografii asymetrycznej. Jak wspomniano wcześniej, szyfrowanie asymetryczne i podpisy cyfrowe to dwa główne przypadki zastosowania kryptografii asymetrycznej (szyfrowania klucza publicznego).

Dlatego nie wszystkie systemy podpisów cyfrowych korzystają z szyfrowania, nawet jeśli korzystają z kluczy publicznych i prywatnych. W rzeczywistości możliwe jest po prostu cyfrowe podpisanie wiadomości bez jej szyfrowania. RSA to przykładowy algorytm podpisywania zaszyfrowanych wiadomości, ale algorytm podpisu cyfrowego używany przez Bitcoin (zwany ECDSA) w ogóle nie wykorzystuje szyfrowania.


Podsumowanie przemyśleń

W dzisiejszej erze cyfrowej szyfrowanie symetryczne i asymetryczne odgrywa ważną rolę w ochronie wrażliwych informacji i komunikacji sieciowej. Chociaż oba są przydatne, każdy z nich ma swoje zalety i wady, dzięki czemu nadają się do różnych przypadków użycia. Dzięki ciągłemu rozwojowi kryptografii można ją wykorzystać do lepszej odporności na różne nowe i złożone zagrożenia. Szyfrowanie symetryczne i asymetryczne jest również ściśle powiązane z bezpieczeństwem komputera.