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

Автор: Laura McKinney
Дата создания: 1 Апрель 2021
Дата обновления: 10 Май 2024
Anonim
Современные блочные шифры 05 Потоковые шифры
Видео: Современные блочные шифры 05 Потоковые шифры

Содержание


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

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

  1. Сравнительная таблица
  2. Определение
  3. Ключевые отличия
  4. Вывод

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

Основа для сравненияБлочный шифрПотоковый шифр
основной

Преобразует равнину, беря ее блок за раз.
Преобразует, беря один байт равнина за раз.
сложность
Простой дизайн

Комплекс сравнительно
Количество использованных битов
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 (шифр обратной связи) а также OFB (обратная связь по выходу) режимы алгоритма.
  5. Потоковый шифр использует функцию XOR для преобразования простого в шифр, поэтому легко инвертировать биты XOR. Принимая во внимание, что блочный шифр не использует XOR для этого.
  6. Блочный шифр использует один и тот же ключ для шифрования каждого блока, в то время как потоковый шифр использует разные ключи для каждого байта.

Вывод:

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