Wprowadzenie do algorytmów symetrycznych

Algorytmy symetryczne zwane również algorytmami tajnego klucza są szeroko stosowane w szyfrowaniu danych zbiorczych lub strumienia danych. Jest to rodzaj algorytmu kryptograficznego, który szyfruje i deszyfruje dane przy użyciu tego samego klucza (co czyni ten algorytm symetrycznym). Nazywa się to tajnym kluczem, ponieważ używany klucz jest utrzymywany w tajemnicy przez systemy uczestniczące w procesie szyfrowania i deszyfrowania. Szyfrowanie wykonane przez ten algorytm nie jest łatwe do złamania, jeśli osoba, która próbuje odszyfrować, nie ma tajnego klucza, musiałaby użyć zaawansowanych technik, aby go złamać. Algorytmy te mają na ogół bardzo szybki charakter, co jest tym bardziej powodem, że stosuje się je, gdy zachodzi potrzeba szyfrowania dużych ilości danych. Ryc. 1a przedstawia podstawowe szyfrowanie kluczem symetrycznym:

Rysunek 1. Szyfrowanie za pomocą klucza symetrycznego

Rodzaje algorytmów symetrycznych

Algorytmy zasadniczo symetryczne są podzielone na dwa

  • Blok
  • Strumień

Blokuj algorytmy

Algorytmy blokowe szyfrują blok danych blok po bloku (wiele bajtów). Blok odnosi się do określonego zestawu bitów, które są modyfikowane / szyfrowane przy użyciu tajnego klucza. Wadą algorytmów blokowych jest to, że załóżmy, że będziemy szyfrować dane strumienia sieciowego, dane te są zatrzymywane przez system szyfrowania w jego komponentach pamięci. Przechowywanie danych odbywa się, gdy system faktycznie czeka na pełne bloki danych. Ten czas oczekiwania może prowadzić do luki bezpieczeństwa, która może zagrozić bezpieczeństwu i integralności danych. Aby uniknąć tego zagrożenia, możemy zmniejszyć blok i scalić dane z wcześniej zaszyfrowanym blokiem danych do momentu otrzymania kolejnych bloków, w uproszczeniu technika ta nazywana jest sprzężeniem zwrotnym. Ten algorytm szyfruje tylko wtedy, gdy zostanie odebrany cały blok.

Algorytmy strumieniowe

Algorytmy In-Stream, dane są szyfrowane bajt po bajcie, a czasem nawet krok po kroku. W przypadku algorytmu strumieniowego dane nie są zatrzymywane przez system w pamięci, dlatego można powiedzieć, że jest to znacznie bezpieczniejsze w porównaniu z algorytmem blokowym, ponieważ dane nie są zatrzymywane w systemie bez szyfrowania.

Ponadto istnieje kilka rodzajów algorytmów szyfrowania, spośród których kilka wymieniono poniżej

  • DES i Triple DES
  • RC2
  • Blowfish

DES i Triple DES

DES oznacza standard szyfrowania danych, który pobiera 64-bitowy zwykły tekst i szyfruje do 64-bitowego tekstu zaszyfrowanego i odszyfrowuje za pomocą 56-bitowego klucza. W DES proces szyfrowania rozpoczyna się od początkowego etapu permutacji, w którym pobierze dane wejściowe jako dane 64-bitowe i permutuje je w określony sposób. Po wstępnej permutacji następuje 16 rund szyfrowania Feistel (szyfr Feistel bierze dane wejściowe i dzieli je na dwie części i szyfruje tylko jedną część), gdzie każda runda będzie używać innego 48-bitowego klucza szyfrującego. Do celów szyfrowania i deszyfrowania wykorzystuje szyfr i odwraca algorytm szyfrowania. Wreszcie dane przechodzą przez ostatni etap permutacji, aby odzyskać tekst zaszyfrowany. Podobnie jak DES Triple DES to nic innego jak szyfr DES powtórzony 3 razy. Ryc. 2.a pokazuje ogólną architekturę algorytmu DES.

Ogólna architektura algorytmu DES

RC2

Jest to algorytm szyfru blokowego, w którym dane są najpierw dzielone na blok o wielkości 8 bajtów, a bloki te są przetwarzane osobno. Algorytm ten był szeroko stosowany w latach 90. Szyfr Rc2 używa tajnego klucza użytkownika, którego rozmiar może wynosić od jednego bajtu do 128 bajtów. Pobiera ten tajny klucz użytkownika i wykorzystuje algorytm rozszerzania klucza oraz szyfruje dane. Algorytm został zaprojektowany w taki sposób, aby można go było łatwo wdrożyć w 16-bitowych mikroprocesorach. Tutaj nie ma rund Feistela, zamiast tego dane podlegają 18 rundom mieszania i zacierania. Ryc. 2.b pokazuje ogólną architekturę algorytmu RC2.

Ogólna architektura algorytmu RC2

Blowfish

Jest to algorytm asymetryczny, który zastępuje DES. Tutaj zastosowany rozmiar bloku to 64 bity, a rozmiary kluczy od 32 do 448 bitów. Szyfrowanie przy użyciu blowfish składa się głównie z dwóch etapów

  • Okrągła funkcja
  • Operacja wyjściowa

Okrągła funkcja wykonuje następujące kroki

  1. Wybielanie klawiszy, w którym pobierana jest lewa część danych wejściowych i wykonywana jest na niej operacja wyłączności LUB.
  2. W drugim etapie używa S-boxów, te S-boxy odwzorowują dane 8-bitowe na 32-bitowe, a wynik jest łączony z kombinacją operacji dodawania i operacji XOR
  3. Powyższe dwa kroki połączone razem zwane są funkcją F. Przy wyjściu funkcji F i prawej stronie danych wejściowych wykonywana jest operacja XOR.
  4. Ostatni krok polega na zamianie wyników.

Funkcja Output ujawnia ostateczną zamianę i wykonuje wybielanie wyjściowe. Wynikiem tej funkcji jest tekst szyfrujący Blowfish. Deszyfrowanie za pomocą blowfish wymaga użycia tej samej struktury co szyfrowanie, ponieważ wykorzystuje on szyfr Feistel, ale okrągłe klucze muszą być używane w odwrotnej kolejności. Główną zaletą tego algorytmu jest to, że jest on dostępny w domenie publicznej, dzięki czemu jest łatwo dostępny. Wady są w zasadzie trochę czasochłonne w generowaniu kluczy, a jeśli rozmiar bloku jest mały, jest podatny na ataki.

Zastosowania algorytmów symetrycznych

Niektóre z miejsc, w których stosuje się algorytm szyfrowania symetrycznego

  • Transakcje kartą służą do zapobiegania kradzieżom tożsamości i nieuczciwym transakcjom.
  • Aby potwierdzić tożsamość posłańca.
  • Hashowanie i generowanie liczb losowych
  • Szyfrowanie bazy danych

Wniosek - algorytmy symetryczne

Algorytmy symetryczne są znacznie szybsze i wydajniejsze w porównaniu do algorytmów asymetrycznych. Jest to tym bardziej powód, dla którego są one używane w szyfrowaniu zbiorczym. Jednak jego wadą jest to, że zarządzanie kluczami jest bardzo wyczerpujące, dlatego utrzymanie na dużą skalę jest żmudnym zadaniem, w którym musimy mieć wysoki poziom bezpieczeństwa, aby to osiągnąć, musimy utrzymać cykl życia klucza wygenerowanego za pomocą oddzielnego systemu . Dlatego zawsze musimy stosować odpowiednie szyfrowanie, aby uniknąć ataków na nasze dane.

Polecane artykuły

Jest to przewodnik po algorytmach symetrycznych. Tutaj omawiamy wprowadzenie i typy algorytmów symetrycznych wraz z DES i Triple DES. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Co to jest WebSocket?
  2. Bezpieczeństwo aplikacji internetowych
  3. Kariera w tworzeniu stron internetowych
  4. Kariera w projektowaniu stron internetowych
  5. Tryby działania Block Cipher
  6. Przykłady algorytmu C ++