Strumień szyfru a blok szyfru | Szyfr Stanowy a Szyfr Blokowy
W kryptografii szyfry strumieniowe i szyfrowe blokowe to dwa algorytmy szyfrowania / deszyfrowania, które należą do rodziny szyfrów klucza symetrycznego. Zazwyczaj szyfr przyjmuje jako dane wejściowe zwykły tekst i generuje tekst wyjściowy. Szyfry blokowe szyfrują blok bitów o stałej długości przy użyciu niezmiennej transformacji. Szyfry strumieniowe szyfrują strumienie bitów o różnej długości i używają różnych transformacji na każdym bicie.
Co to jest szyfr strumieniowy?
Szyfry strumieniowe należą do rodziny szyfrów klucza symetrycznego. Szyfry strumieniowe łączą bity w postaci zwykłego tekstu z pseudolosowym strumieniem bitów za pomocą operacji XOR (exclusive-or). Szyfry strumieniowe szyfrują cyfry zwykłego tekstu pojedynczo, z różnymi transformacjami dla kolejnych cyfr. Ponieważ szyfrowanie każdej cyfry zależy od bieżącego stanu silnika szyfru, szyfry strumieniowe są również znane jako szyfry stanowe. Zwykle pojedyncze bity / bity są używane jako pojedyncze cyfry. Aby uniknąć problemów związanych z bezpieczeństwem, należy upewnić się, że ten sam stan początkowy nie zostanie użyty więcej niż jeden raz. Najczęściej stosowanym szyfrem strumieniowym jest RC4.
Co to jest szyfr szyfrowy?
Szyfr blokowy to kolejny symetryczny klucz szyfrowy. Szyfry blokowe działają na blokach (grupach bitów) o stałej długości. Szyfry blokowe używają stałej (niezmiennej) transformacji dla wszystkich cyfr w bloku. Na przykład, gdy x-bitowy blokowy tekst (wraz z tajnym kluczem) jest dostarczany jako dane wejściowe do silnika szyfru blokowego, generuje odpowiedni x-bitowy blok tekstu zaszyfrowanego. Rzeczywista transformacja zależy od tajnego klucza. Podobnie algorytm deszyfrujący odzyskuje oryginalny x-bitowy blok tekstu jawnego, używając x-bitowego bloku tekstu zaszyfrowanego i powyższego tajnego klucza jako danych wejściowych. W przypadku, gdy komunikat wejściowy jest zbyt długi w porównaniu z rozmiarem bloku, zostanie on podzielony na bloki i bloki te zostaną (indywidualnie) zaszyfrowane przy użyciu tego samego klucza. Ponieważ jednak używany jest ten sam klucz, każda powtarzająca się sekwencja w tekście jawnym staje się tą samą powtarzaną sekwencją w tekście szyfrowanym, co może powodować obawy dotyczące bezpieczeństwa. Popularne szyfry blokowe to DES (Data Encryption Standard) i AES (Advanced Encryption Standard).
Jaka jest różnica między szyfrem strumieniowym a szyfrem blokowym?
Chociaż zarówno szyfry strumieniowe, jak i szyfrowe blokowe należą do rodziny szyfrów symetrycznych, istnieją pewne kluczowe różnice. Szyfry blokowe szyfrują bloki bitów o stałej długości, podczas gdy szyfry strumieniowe łączą bity zwykłego tekstu ze strumieniem bitów pseudolosowych przy użyciu operacji XOR. Mimo że szyfry blokowe korzystają z tej samej transformacji, szyfry strumieniowe używają różnych transformacji w zależności od stanu silnika. Szyfry strumieniowe zwykle działają szybciej niż szyfry blokowe. Pod względem złożoności sprzętowej szyfry strumieniowe są stosunkowo mniej złożone. Szyfry strumieniowe są typową preferencją w stosunku do szyfrów blokowych, gdy zwykły tekst jest dostępny w różnych ilościach (np. Bezpieczne połączenie Wi-Fi), ponieważ szyfry blokowe nie mogą działać bezpośrednio na blokach krótszych niż rozmiar bloku. Ale czasami różnica między szyframi strumieniowymi i szyframi blokowymi nie jest bardzo wyraźna. Powodem jest to, że podczas korzystania z niektórych trybów pracy, można użyć szyfru blokowego, który działa jak szyfr strumieniowy, umożliwiając mu szyfrowanie najmniejszej dostępnej jednostki danych.