Яка різниця між потоковими шифрами та блочними шифрами?

...

Потокові шифри добре підходять для апаратних програм реального часу.

Шифр — це набір математичних правил або алгоритму, що використовується для перетворення читаного тексту або відкритого тексту в нечитаний текст або зашифрований текст. Принципова різниця між потоковими шифрами та блочними шифрами полягає в тому, що потокові шифри працюють над потоками тексту, по одному біту або одному байту за раз, тоді як блочні шифри працюють над блоками тексту.

Потоковий шифр

Основна ідея потокового шифру полягає в тому, щоб розділити текст на невеликі блоки, довжиною в один біт або один байт, і кодувати кожен блок залежно від багатьох попередніх блоків. Потокові шифри використовують інший ключ шифрування - значення, яке має бути подано в алгоритм - для кожного біта або байта, тому один і той самий біт або байт створює різний зашифрований текст кожного разу, коли він шифрується. Деякі потокові шифри використовують генератор ключового потоку, який створює випадковий або майже випадковий потік бітів. Шифр виконує булеву операцію, відому як виключне АБО, між бітами в потоці ключів і бітами відкритого тексту, щоб створити зашифрований текст.

Відео дня

Блоковий шифр

Основна ідея блочного шифру полягає в тому, щоб розділити текст на відносно великі блоки, зазвичай довжиною 64 або 128 біт, і кодувати кожен блок окремо. Для кожного блоку використовується один і той же ключ шифрування, і саме ключ шифрування визначає порядок, у якому для кожного виконуються заміщення, транспортування та інші математичні функції блокувати. Сильні алгоритми означають, що зворотна інженерія шифру або визначення того, які функції виконувались на кожному блоці, в якому порядку, практично неможливо.

Дифузія і плутанина

Блочні шифри використовують методи, відомі як плутанина та дифузія, щоб зашифрувати відкритий текст у зашифрований текст. Ідея плутанини полягає в тому, щоб зробити зв’язок між ключем шифрування та шифротекстом якомога складнішим. В ідеалі кожен символ у ключі шифрування повинен впливати на кожен символ шифротексту. Навпаки, дифузія поширює вплив кожного символу відкритого тексту на кілька символів у шифротексті, роблячи шифр менш сприйнятливим до статистичних атак.

Плюси і мінуси

Той факт, що потокові шифри шифрують і дешифрують дані по одному біту, означає, що вони особливо добре підходять для апаратних програм реального часу, таких як аудіо- та відеопрограми. Потокові шифри слабкіші та менш ефективні, ніж блочні шифри, коли справа доходить до програмних додатків, і в цій сфері використовуються рідше. Блочні шифри легше реалізувати в програмному забезпеченні, оскільки вони шифрують дані блоками довжини, яку вже використовує програмне забезпечення. Ключ шифрування часто має таку ж довжину, як і розмір блоку.