Stan zagrożeń w internecie znajduje się obecnie na poziomie standardowym. Nie występują duże epidemie a eksperci z Kaspersky Lab nie zanotowali żadnych poważnych incydentów związanych z bezpieczeństwem. Poziom zagrożenia: 1

Szyfrowanie symetryczne


Szyfrowanie symetryczne to algorytm szyfrowania danych, w którym ten sam klucz jest wykorzystywany do kodowania i dekodowania informacji. Do czasu, gdy w latach 70 pojawiły się szyfry asymetryczne, była to jedyna metoda kryptograficzna.

Jak działają algorytmy symetryczne

Mówiąc ogólnie, za symetryczny uważa się każdy szyfr wykorzystujący ten sam tajny klucz do kodowania i dekodowania.

Na przykład, jeżeli algorytm zamienia litery na cyfry, nadawca i odbiorca wiadomości muszą posiadać tę samą tablicę mapowania znaków. Pierwszy używa jej do zaszyfrowania wiadomości, a drugi - do odszyfrowania treści.

Niestety szyfry tego rodzaju są łatwe do złamania - na przykład, jeżeli znana jest częstotliwość występowania poszczególnych liter w danym alfabecie, możliwe jest dopasowywanie najczęściej pojawiających się liter do najczęstszych cyfr w kodzie, aż do momentu, w którym zaczną pojawiać się sensowne słowa. Przy użyciu komputerów to zadanie jest na tyle proste, że stosowanie takich algorytmów szyfrowania całkowicie traci sens.

Z tego powodu współczesne algorytmy symetryczne są uważane za skuteczne tylko, gdy spełniają następujące wymagania:

  • w danych wyjściowych nie powtarzają się wzorce statystyczne występujące w danych źródłowych (jak np. w powyższym przykładzie);
  • szyfr jest nieliniowy (czyli w zaszyfrowanych danych nie ma żadnych wzorców ani prawidłowości, które ktoś posiadający zwykły tekst i jego zaszyfrowany odpowiednik mógłby prześledzić).

Aby osiągnąć żądany rezultat, w większości współczesnych szyfrów symetrycznych używa się kombinacji podstawiania (zastępowania fragmentów wiadomości źródłowej, np. liter, innymi danymi, np. cyframi, zgodnie z określoną regułą lub tabelą mapującą) oraz permutacji (pomieszanie fragmentów przekazu źródłowego według określonej reguły), powtarzając je na przemian. Jeden cykl takich operacji nazywany jest rundą.

Rodzaje algorytmów szyfrowania symetrycznego

Algorytmy szyfrowania symetrycznego dzielą się na dwa typy ze względu na ich zasadę działania:

  • szyfry blokowe;
  • szyfry strumieniowe.

Algorytmy blokowe szyfrują dane w blokach o stałej długości (64, 128 lub inna liczba bitów, w zależności od algorytmu). Jeśli cała wiadomość lub jej ostatnia część jest mniejsza niż rozmiar bloku, algorytm dodaje własne symbole, nazywane wypełnieniem.

Aktualne algorytmy blokowe obejmują:

  • AES;
  • GOST 28147-89;
  • RC5;
  • Blowfish;
  • Twofish.

Strumieniowe szyfrowanie danych polega na zastosowaniu szyfru addytywnego, w którym każdy bit informacji jest zmieniany za pomocą odpowiedniego pseudolosowego bitu tajnego strumienia klucza (sekwencji liczb generowanych na podstawie klucza), który ma taką samą długość jak zaszyfrowana wiadomość. Zazwyczaj bity danych źródłowych są porównywane z bitami strumienia klucza przy użyciu logicznej operacji XOR (która zwraca 0, jeśli wartości bitów są zgodne i 1, jeśli się różnią).

Szyfrowanie strumieniowe jest stosowane w następujących algorytmach:

  • RC4;
  • Salsa20;
  • HC-256;
  • WAKE.

Zalety i wady szyfrowania symetrycznego

Algorytmy symetryczne w mniejszym stopniu obciążają zasoby i są szybsze niż ich asymetryczne odpowiedniki. Zakłada się, że większość szyfrów symetrycznych jest odporna na ataki z użyciem komputerów kwantowych, które w teorii stanowią zagrożenie dla algorytmów asymetrycznych.

Piętą achillesową szyfrowania symetrycznego jest wymiana kluczy. Ponieważ nadawca i odbiorca wiadomości potrzebują tego samego klucza, aby algorytm działał, trzeba go jakoś przesłać. Jeżeli zostanie to wykonane z użyciem niezabezpieczonego kanału, klucz może zostać przechwycony. W praktyce wiele systemów rozwiązuje ten problem wykorzystując algorytm asymetryczny do szyfrowania klucza.

Zakres stosowania szyfrowania symetrycznego

Wiele nowoczesnych usług wykorzystuje szyfrowanie symetryczne do wymiany danych, często w połączeniu z szyfrowaniem asymetrycznym. Na przykład komunikatory internetowe używają takich szyfrów do zabezpieczania korespondencji (przy czym symetryczny klucz szyfrowania jest zwykle dostarczany w postaci zaszyfrowanej asymetrycznie), podobnie jak usługi wideo do zabezpieczania strumieni audio i wideo. W protokole Transport Layer Security (TLS) szyfrowanie symetryczne zapewnia poufność przesyłanych danych.

Algorytmy symetryczne nie nadają się do generowania podpisów cyfrowych i certyfikatów, ponieważ tajny klucz musi zostać ujawniony wszystkim, którzy pracują z szyfrem, co neguje samą ideę podpisu elektronicznego (możliwość sprawdzenia jego autentyczności bez odniesienia do właściciela) .