Zalecane, 2019

Wybór Redakcji

Różnica między szyfrem blokowym a szyfrem strumieniowym

Szyfr blokowy i Szyfr strumieniowy to metody używane do konwersji zwykłego tekstu na tekst szyfru bezpośrednio i należą do rodziny symetrycznych szyfrów kluczy.

Główna różnica między szyfrem blokowym a szyfrem strumieniowym polega na tym, że szyfr blokowy szyfruje i odszyfrowuje blok tekstu na raz. Z drugiej strony, szyfr strumieniowy szyfruje i odszyfrowuje tekst, przyjmując jeden bajt tekstu na raz.

Wykres porównania

Podstawa do porównaniaZablokuj szyfrSzyfr strumyka
Podstawowy
Konwertuje zwykły tekst, biorąc jego blok na raz.
Konwertuje tekst, biorąc jeden bajt zwykłego tekstu na raz.
Złożoność
Prosta konstrukcja
Kompleksowo porównywany
Liczba użytych bitów
64 bity lub więcej
8 bitów
Zamieszanie i dyfuzja
Wykorzystuje zarówno zamieszanie, jak i dyfuzjęPolega tylko na pomyłce
Używane tryby algorytmu
ECB (Electronic Code Book)
CBC (Cipher Block Chaining)
CFB (Cipher Feedback)
OFB (informacja zwrotna o wyjściu)
Odwracalność
Odwracanie zaszyfrowanego tekstu jest trudne.
Używa XOR do szyfrowania, które można łatwo odwrócić do zwykłego tekstu.
Realizacja
Feistel Cipher
Vernam Cipher

Definicja szyfru blokowego

Szyfr blokowy przyjmuje komunikat i dzieli go na stały rozmiar bloków i natychmiast konwertuje jeden blok wiadomości. Na przykład, mamy komunikat w postaci zwykłego tekstu "STREET_BY_STREET" wymagany do zaszyfrowania. Używając szyfrowania Bock, "STREET" musi być najpierw zaszyfrowany, a następnie "_BY_" i nareszcie "ULICA".
W praktyce komunikacja odbywa się tylko w bitach. Dlatego STREET faktycznie oznacza binarny odpowiednik znaku ASCII STREET. Następnie dowolny algorytm szyfruje je; wynikowe bity są przekształcane z powrotem do ich odpowiedników ASCII.

Oczywistym problemem dotyczącym użycia Szyfrów Blokowych jest powtarzanie tekstu, dla którego generowany jest ten sam szyfr. W związku z tym dałoby to wskazówkę kryptoanalitykowi, dzięki czemu łatwiej jest znaleźć powtarzające się ciągi zwykłego tekstu. W rezultacie może ujawnić całą wiadomość.

Aby rozwiązać ten problem, stosuje się tryb łączenia . W tej technice poprzedni blok tekstu zaszyfrowanego jest mieszany z bieżącym blokiem, tak aby tekst szyfrowany był niejasny, co pozwala uniknąć powtarzających się wzorców bloków o tej samej treści.

Definicja szyfru strumieniowego

Strumień szyfrujący zazwyczaj szyfruje jeden bajt wiadomości w tym momencie zamiast bloków. Weźmy przykład, przypuśćmy , że oryginalna wiadomość (zwykły tekst) to "błękitne niebo" w ASCII (tj. Format tekstu). Po konwersji tych ASCII na równoważne wartości binarne, da wynik w postaci 0 i 1. Niech to będzie przetłumaczone na 010111001.

Do szyfrowania i deszyfrowania wykorzystywany jest pseudolosowy generator bitów, w którym ładowany jest klucz i zwykły tekst. Pseudolosowy generator bitów tworzy strumień 8-bitowych liczb, które są pozornie losowe, znane jako strumień klucza . Niech kluczem wejściowym jest 100101011. Teraz klucz i tekst jawny są XORed. Logika XOR jest prosta do zrozumienia.
XOR generuje wyjście 1, gdy jedno wejście ma wartość 0, a drugie ma wartość 1. Wyjście ma wartość 0, jeśli jedno z wejść ma wartość 0 lub oba wejścia mają wartość 1.

Zamieszanie to metoda gwarantująca, że ​​tekst zaszyfrowany nie daje żadnego pojęcia o oryginalnym zwykłym tekście.
Dyfuzja jest strategią stosowaną w celu zwiększenia redundancji zwykłego tekstu poprzez rozłożenie go na wiersze i kolumny.

Kluczowe różnice między szyfrem blokowym a szyfrem strumieniowym

  1. Technika szyfrowania blokowego polega na szyfrowaniu jednego bloku tekstu na raz, tj. Pojedynczo. Podobnie, odszyfruj tekst, wykonując jeden blok po drugim. Natomiast technika szyfrowania Strumienia polega na szyfrowaniu i odszyfrowywaniu jednego bajtu tekstu na raz.
  2. Szyfr blokowy wykorzystuje zarówno zamieszanie, jak i dyfuzję, podczas gdy szyfr strumieniowy opiera się tylko na pomyłce.
  3. Zwykły rozmiar bloku może wynosić 64 lub 128 bitów w szyfrze blokowej. W przeciwieństwie do tego, 1 bajt (8 bitów) na raz jest konwertowany w szyfrze strumieniowej.
  4. Szyfr blokowy wykorzystuje tryby algorytmu ECB (Electronic Code Book) i CBC (Cipher Block Chaining) . Wręcz przeciwnie, Szyfrowanie Strumienia wykorzystuje tryby algorytmu CFB (Cipher Feedback) i OFB (Output Feedback) .
  5. Szyfr strumyka używa funkcji XOR do konwersji zwykłego tekstu na tekst szyfrujący, dlatego łatwo jest odwrócić bity XORed. Natomiast szyfr blokowy nie używa XOR do tego.
  6. Szyfr blokowy używa tego samego klucza do szyfrowania każdego bloku, podczas gdy szyfr strumieniowy używa innego klucza dla każdego bajtu.

Wniosek:

Szyfr blokowy i Szyfr strumyka różnią się sposobem, w jaki zwykły tekst jest szyfrowany i odszyfrowywany. Ideą kryptografu blokowego jest dzielenie zwykłego tekstu na bloki, które dodatkowo szyfrują te bloki. Podczas gdy szyfr strumieniowy konwertuje zwykły tekst bit po bicie, podobny do strumienia.

Top