Рекомендуем, 2024

Выбор редакции

Разница между блочным шифром и потоковым шифром

Блочный шифр и потоковый шифр - это методы, используемые для прямого преобразования простого текста в зашифрованный текст и принадлежащие к семейству шифров с симметричным ключом.

Основное различие между блочным шифром и потоковым шифром заключается в том, что блочный шифр зашифровывает и дешифрует блок текста одновременно. С другой стороны, потоковый шифр шифрует и дешифрует текст, беря один байт текста за раз.

Сравнительная таблица

Основа для сравненияБлочный шифрПотоковый шифр
основной
Преобразует простой текст, беря его блок за раз.
Преобразует текст, беря один байт простого текста за раз.
сложность
Простой дизайн
Комплекс сравнительно
Количество использованных битов
64 бит или больше
8 бит
Путаница и диффузия
Использует путаницу и диффузиюПолагается только на путаницу
Используемые режимы алгоритма
ECB (электронная кодовая книга)
CBC (цепочка блоков шифрования)
CFB (шифр обратной связи)
OFB (обратная связь по выходу)
обратимость
Перевернуть зашифрованный текст сложно.
Он использует XOR для шифрования, которое может быть легко преобразовано в обычный текст.
Реализация
Feistel Cipher
Вернам Шифр

Определение блочного шифра

Block Cipher принимает сообщение и разбивает его на блоки фиксированного размера и мгновенно преобразует один блок сообщения. Например, у нас есть сообщение в виде простого текста «STREET_BY_STREET», которое необходимо зашифровать. Используя bock-шифр, сначала нужно зашифровать «STREET», затем «_BY_» и, наконец, «STREET».
На практике общение происходит только в битах. Следовательно, STREET фактически означает двоичный эквивалент символа ASCII STREET. Впоследствии любой алгоритм шифрует их; результирующие биты преобразуются обратно в их эквивалент ASCII.

Очевидной проблемой, касающейся использования блочных шифров, является повторяющийся текст, для которого генерируется тот же шифр. Следовательно, это дало бы подсказку криптоаналитику, что облегчает поиск повторяющихся строк простого текста. В результате он может раскрыть все сообщение.

Чтобы преодолеть эту проблему, используется режим цепочки . В этом методе предыдущий блок зашифрованного текста смешивается с текущим блоком, так что из-за расплывчатого текста шифрования это позволяет избежать повторяющихся шаблонов блоков с одинаковым содержимым.

Определение потокового шифра

Stream Cipher обычно шифрует один байт сообщения в этот момент вместо использования блоков. Давайте возьмем пример, предположим , что исходное сообщение (простой текст) - это «голубое небо» в ASCII (то есть в текстовом формате). Когда вы конвертируете эти ASCII в эквивалентные двоичные значения, он выдаст выходные данные в форме 0 и 1. Пусть это будет переведено в 010111001.

Для шифрования и дешифрования используется генератор псевдослучайных битов, в который загружаются ключ и простой текст. Генератор псевдослучайных битов создает поток 8-битных чисел, которые кажутся случайными и известны как поток ключей . Пусть клавиша ввода - 100101011. Теперь ключ и открытый текст XORed. Логика XOR проста для понимания.
XOR выдает выход 1, когда один вход равен 0, а другой равен 1. Выход равен 0, если либо оба входа равны 0, либо оба входа равны 1.

Путаница - это метод, который гарантирует, что зашифрованный текст не дает никакой подсказки об исходном тексте.
Диффузия - это стратегия, используемая для повышения избыточности простого текста путем его распределения по строкам и столбцам.

Ключевые различия между блочным шифром и потоковым шифром

  1. Техника блочного шифрования включает в себя шифрование одного блока текста за раз, то есть по одному. Точно так же расшифруйте текст, беря один блок за другим. В отличие от этого, технология потокового шифрования включает в себя шифрование и дешифрование одного байта текста за раз.
  2. Блочный шифр использует как путаницу, так и диффузию, в то время как потоковый шифр полагается только на путаницу.
  3. Обычный размер блока может быть 64 или 128 битов в блочном шифре. В отличие от этого, 1 байт (8 бит) за раз преобразуется в потоковом шифре.
  4. Блочный шифр использует режимы алгоритмов ECB (электронная кодовая книга) и CBC (цепочка блоков шифров) . Напротив, потоковый шифр использует режимы алгоритма CFB (Cipher Feedback) и OFB (Output Feedback) .
  5. Потоковый шифр использует функцию XOR для преобразования обычного текста в зашифрованный текст, поэтому легко обратить биты XORed. Принимая во внимание, что блочный шифр не использует XOR для этого.
  6. Блочный шифр использует один и тот же ключ для шифрования каждого блока, в то время как потоковый шифр использует разные ключи для каждого байта.

Заключение:

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

Top