Поточните шифри са много подходящи за хардуерни приложения в реално време.
Шифърът е набор от математически правила или алгоритъм, използван за преобразуване на четим текст или отворен текст в нечетим текст или шифрован текст. Принципната разлика между поточните шифри и блоковите шифри е, че поточните шифри работят върху потоци от текст, един бит или един байт наведнъж, докато блоковите шифри работят върху блокове текст.
Поточно шифър
Основната идея на потоковия шифър е да разделя текста на малки блокове, дълги един бит или един байт, и да кодира всеки блок в зависимост от много предишни блокове. Поточните шифри използват различен ключ за шифроване - стойност, която трябва да бъде въведена в алгоритъма - за всеки бит или байт, така че един и същ бит или байт произвежда различен шифрован текст всеки път, когато е криптиран. Някои поточни шифри използват генератор на ключов поток, който произвежда произволен или почти случаен поток от битове. Шифърът изпълнява булева операция, известна като изключително ИЛИ, между битовете в ключовия поток и битовете в открития текст, за да произведе шифрован текст.
Видео на деня
Блоков шифър
Основната идея на блоковия шифър е да разделя текста на относително големи блокове, обикновено с дължина 64 или 128 бита, и да кодира всеки блок поотделно. Един и същ ключ за криптиране се използва за всеки блок и именно ключът за криптиране определя ред, в който се изпълняват заместването, транспортирането и други математически функции на всеки блок. Силните алгоритми означават, че обратното проектиране на шифъра или определянето кои функции са били изпълнени на всеки блок и в какъв ред е практически невъзможно.
Дифузия и объркване
Блоковите шифри използват техники, известни като объркване и дифузия, за да криптират отворен текст в шифров текст. Идеята зад объркването е връзката между ключа за криптиране и шифрования текст да бъде възможно най-сложна. В идеалния случай всеки знак в ключа за криптиране трябва да влияе на всеки знак в шифрования текст. За разлика от това, дифузията разпределя влиянието на всеки знак в открития текст върху няколко знака в шифрования текст, което прави шифъра по-малко податлив на статистически атаки.
Предимства и недостатъци
Фактът, че поточните шифри криптират и декриптират данни един бит в даден момент, означава, че те са особено подходящи за хардуерни приложения в реално време, като аудио и видео приложения. Поточните шифри са по-слаби и по-малко ефективни от блоковите шифри, когато става въпрос за софтуерни приложения и се използват по-рядко в тази сфера. Блоковите шифри са по-лесни за внедряване в софтуера, защото криптират данни в блокове с дължина, която софтуерът вече използва. Ключът за криптиране често е със същата дължина като размера на блока.