Szyfr strumieniowy a szyfr blokowy | Szyfr stanowy a szyfr blokowy
W kryptografii szyfry strumieniowe i szyfry blokowe to dwa algorytmy szyfrowania / deszyfrowania, które należą do rodziny szyfrów z kluczem symetrycznym. Zazwyczaj szyfr przyjmuje zwykły tekst jako dane wejściowe i generuje zaszyfrowany tekst jako dane wyjściowe. 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 symetrycznych szyfrów kluczowych. Szyfry strumieniowe łączą bity zwykłego tekstu ze strumieniem bitów szyfru pseudolosowego za pomocą operacji XOR (wyłączność-lub). Szyfry strumieniowe szyfrują cyfry zwykłego tekstu pojedynczo, z różnymi przekształceniami dla kolejnych cyfr. Ponieważ szyfrowanie każdej cyfry zależy od aktualnego stanu silnika szyfrującego, 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 jest używany więcej niż jeden raz. Najpopularniejszym szyfrem strumieniowym jest RC4.
Co to jest szyfr blokowy?
Szyfr blokowy to kolejny symetryczny szyfr kluczowy. Szyfry blokowe działają na blokach (grupach bitów) o stałej długości. Szyfry blokowe używają ustalonej (niezmiennej) transformacji dla wszystkich cyfr w bloku. Na przykład, gdy blok x-bitowy zwykły tekst (wraz z tajnym kluczem) jest dostarczany jako dane wejściowe do silnika szyfrującego blok, tworzy odpowiadający x-bitowy blok szyfrogramu. Rzeczywista transformacja zależy od tajnego klucza. Podobnie, algorytm deszyfrujący odzyskuje oryginalny x-bitowy blok tekstu jawnego przy użyciu x-bitowego bloku tekstu zaszyfrowanego i powyższego tajnego klucza jako danych wejściowych. W przypadku, gdy wiadomość wejściowa jest zbyt długa w porównaniu z rozmiarem bloku, zostanie podzielona na bloki i te bloki zostaną (indywidualnie) zaszyfrowane przy użyciu tego samego klucza. Jednak ponieważ używany jest ten sam klucz,każda powtórzona sekwencja w zwykłym tekście staje się tą samą powtórzoną sekwencją w zaszyfrowanym tekście, co może powodować problemy z bezpieczeństwem. 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 szyfry 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 z pseudolosowym strumieniem bitów szyfru przy użyciu operacji XOR. Mimo że szyfry blokowe używają tej samej transformacji, szyfry strumieniowe używają różnych transformacji w zależności od stanu silnika. Szyfry strumieniowe są zwykle wykonywane 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 szyfrem strumieniowym a szyfrem blokowym nie jest zbyt jasna. Powodem jest to, że podczas korzystania z pewnych trybów działania szyfr blokowy może służyć jako szyfr strumieniowy, umożliwiając zaszyfrowanie najmniejszej dostępnej jednostki danych.