Szyfry strumieniowe dobrze sprawdzają się w aplikacjach sprzętowych czasu rzeczywistego.
Szyfr to zestaw reguł matematycznych lub algorytmów używanych do konwersji czytelnego tekstu lub zwykłego tekstu na nieczytelny tekst lub tekst zaszyfrowany. Podstawowa różnica między szyframi strumieniowymi a blokowymi polega na tym, że szyfry strumieniowe działają na strumieniach tekstu, jednobitowo lub po jednym bajcie, podczas gdy szyfry blokowe działają na blokach tekstu.
Szyfr strumieniowy
Podstawową ideą szyfrowania strumieniowego jest podzielenie tekstu na małe bloki o długości jednego bitu lub jednego bajta i zakodowanie każdego bloku w zależności od wielu poprzednich bloków. Szyfry strumieniowe używają innego klucza szyfrowania — wartości, która musi być wprowadzona do algorytmu — dla każdego bitu lub bajtu, więc ten sam bit lub bajt generuje inny szyfrogram za każdym razem, gdy jest szyfrowany. Niektóre szyfry strumieniowe używają generatora strumienia klucza, który generuje losowy lub prawie losowy strumień bitów. Szyfr wykonuje operację logiczną, znaną jako wyłączne OR, między bitami w strumieniu klucza a bitami w tekście jawnym, aby utworzyć tekst zaszyfrowany.
Wideo dnia
Szyfr blokowy
Podstawową ideą szyfru blokowego jest podzielenie tekstu na stosunkowo duże bloki, zwykle o długości 64 lub 128 bitów, i zakodowanie każdego bloku osobno. W każdym bloku używany jest ten sam klucz szyfrowania i to on określa kolejność, w jakiej wykonywane są na każdym podstawie podstawienie, transport i inne funkcje matematyczne blok. Silne algorytmy powodują, że inżynieria wsteczna szyfru, czyli ustalenie, które funkcje zostały wykonane na każdym bloku, w jakiej kolejności, jest praktycznie niemożliwe.
Dyfuzja i zamieszanie
Szyfry blokowe wykorzystują techniki znane jako zamieszanie i dyfuzja do szyfrowania tekstu jawnego w tekst zaszyfrowany. Ideą zamieszania jest sprawienie, aby związek między kluczem szyfrowania a zaszyfrowanym tekstem był jak najbardziej złożony. W idealnym przypadku każdy znak w kluczu szyfrowania powinien wpływać na każdy znak w zaszyfrowanym tekście. Natomiast dyfuzja rozkłada wpływ każdego znaku w tekście jawnym na kilka znaków w tekście zaszyfrowanym, czyniąc szyfr mniej podatnym na ataki statystyczne.
Plusy i minusy
Fakt, że szyfry strumieniowe szyfrują i deszyfrują dane po jednym bicie, oznacza, że szczególnie dobrze nadają się do zastosowań sprzętowych działających w czasie rzeczywistym, takich jak aplikacje audio i wideo. Szyfry strumieniowe są słabsze i mniej wydajne niż szyfry blokowe, jeśli chodzi o aplikacje programowe i są rzadziej używane w tej sferze. Szyfry blokowe są łatwiejsze do zaimplementowania w oprogramowaniu, ponieważ szyfrują dane w blokach o długości używanej już przez oprogramowanie. Klucz szyfrowania ma często taką samą długość jak rozmiar bloku.