Поточний шифр проти блокового шифру | State Cipher vs Block Cipher
У криптографії потокові шифри та блокові шифри - це два алгоритми шифрування / дешифрування, які належать до сімейства симетричних ключових шифрів. Зазвичай шифр приймає звичайний текст як вхідний і створює шифротекст як вихід. Блок шифрів шифрує блок бітів фіксованої довжини, використовуючи незмінну трансформацію. Потокові шифри шифрують потоки бітів з різною довжиною і використовують різну трансформацію на кожен біт.
Що таке потіковий шифр?
Потокові шифри належать до сімейства симетричних ключових шифрів. Потокові шифри поєднують бітові текстові біти з псевдовипадковими бітовими шифрованими потоками з використанням операції XOR (ексклюзивна або). Шифри потоку шифрують цифри простого тексту по одному з різними перетвореннями для послідовних цифр. Оскільки шифрування кожної цифри залежить від поточного стану двигуна шифру, потокові шифри також відомі як шифри стану. Зазвичай одинарні біти / біти використовуються як одноцифрові. Щоб уникнути проблем із безпекою, слід переконатися, що одне і те ж стартове стан не використовується більше одного разу. Найбільш широко використовуваний потіковий шифр - RC4.
Що таке блок-шифр?
Блок-шифр - це ще один симетричний ключовий шифр. Блокові шифри працюють на блоки (групи бітів) з фіксованою довжиною. Блокові шифри використовують фіксовану (незмінну) трансформацію для всіх цифр у блоці. Наприклад, коли звичайний текст x-бітового блоку (разом із секретним ключем) надається як вхід до двигуна блоку шифру, він створює відповідний x-бітовий блок шифротексту. Фактична трансформація залежить від секретного ключа. Аналогічно, алгоритм дешифрування відновлює вихідний x-бітовий блок простого тексту, використовуючи x-бітовий блок шифротексту та вищезазначений секретний ключ як вхід. Якщо вхідне повідомлення занадто довге порівняно з розміром блоку, воно буде розбито на блоки, і ці блоки будуть (індивідуально) шифруватися за допомогою одного і того ж ключа. Однак, оскільки використовується однаковий ключ, кожна повторювана послідовність у простому тексті стає однаковою повторюваною послідовністю в тексті шифру, і це може викликати занепокоєння щодо безпеки. Популярними блоковими шифрами є DES (стандарт шифрування даних) та AES (розширений стандарт шифрування).
Яка різниця між шифром потоку та шифром блоку?
Хоча як потокові шифри, так і блокові шифри належать до сімейства симетричних шифруючих шифрів, є деякі ключові відмінності. Блокові шифри шифрують блоки бітів фіксованої довжини, в той час як шифри потоку поєднують біт простого тексту з потоком біт псевдовипадкових шифрів за допомогою операції XOR. Незважаючи на те, що блокові шифри використовують одне й те саме перетворення, потокові шифри використовують різні перетворення залежно від стану двигуна. Потокові шифри зазвичай виконуються швидше, ніж блокові шифри. Щодо апаратної складності, токові шифри відносно менш складні. Потокові шифри є типовою перевагою перед блоковими шифрами, коли звичайний текст доступний у різних кількостях (наприклад, захищене з'єднання Wi-Fi), оскільки блок-шифри не можуть працювати безпосередньо на блоках, менших за розмір блоку. Але іноді різниця між потоковими шифрами і блоковими шифрами не дуже зрозуміла. Причина полягає в тому, що при використанні певних режимів роботи блоковий шифр може бути використаний як потіковий шифр, дозволяючи йому шифрувати найменшу одиницю наявних даних.