«Серия криптографии» || Что такое поточный шифр в криптографии?

Безопасность

Делитесь с сердцем и растите вместе

Нет ничего более ощутимого, чем каждый день понемногу прогрессировать

Эта статья была включена в мой GitHub, и все желающие могут отметиться?.GitHub

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

 Нечего сказать, тогда начнем наш цикл криптографии.Мы уже обсуждали с вами угрозу информационной безопасности, а затем мы начнем наш первый урок криптографии——потоковый шифр, что является наименьшей единицейбитыВ качестве рабочего элемента одноразового шифрования и дешифрования алгоритм шифрования используется для шифрования и дешифрования. Основная идея потокового шифра состоит в том, чтобы использовать ключ k для генерации потока ключей z и использовать соответствующие правила для шифрования строки открытого текста x, и полученный зашифрованный текст: y.

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

Синхронный поточный шифр:

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

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

  Мы вводим открытый текст x, используем ключ z, сгенерированный генератором потока ключей, и применяем алгоритм шифрования E для шифрования открытого текста x. Зашифрованный текст y может быть получен.

 Наоборот, когда мы знаем зашифрованный текст y, мы можем использовать ключ z и алгоритм дешифрования D для анализа зашифрованного текста y, чтобы получить открытый текст x.

Алгоритм шифрования E синхронного потокового шифра может быть различным, но мы должны обеспечить, чтобы преобразование было обратимым (то есть шифртекст можно было получить, используя алгоритм шифрования в открытом тексте, а открытый текст, в свою очередь, можно было полученный с использованием зашифрованного текста и алгоритма расшифровки).

 Реально используемая система цифровой защищенной связи, как правило,бинарная система, поэтому поточный шифр с двоичным сложением, обсуждаемый в конечном поле GF(2), является наиболее часто используемой системой потокового шифра в настоящее время.

 На самом деле, мы можем сравнить эти две картинки.В двоичном домене поточный шифр с двоичным сложением должен заменить наш алгоритм шифрования на так называемое сложение в двоичном домене. (Я считаю, что мы, изучающие компьютеры, должны быть знакомы с этим! Hhhh~)

Сдвиговый регистр с линейной обратной связью LFSR:

  Сдвиговый регистр с линейной обратной связью (LFSR): обычно состоит из сдвигового регистра и логической схемы XOR. Его основные приложения: псевдослучайные числа, псевдошумовые последовательности, счетчики, BIST, шифрование данных и проверка CRC и т. д. Здесь мы в основном говорим о применении LFSR в криптографии, особенно в потоковом шифровании, регистр сдвига с линейной обратной связью является важной частью генератора потока ключей.

 GF(2) Сдвиговый регистр с обратной связью с n ступенями состоит из n двоичных запоминающих устройств и функции обратной связи f ( a1 , a2 ,…, an ). Без лишних слов, давайте посмотрим прямо на картинку.

Из рисунка видно, что каждая память называется каскадом сдвигового регистра, в каждый момент времени содержимое этих каскадов составляет состояние регистра сдвига с обратной связью, и каждому состоянию соответствует n-мерный вектор на GF( 2) Возможны 2n состояний. Состояние в каждый момент времени может быть представлено n-длинной последовательностью a1, a2,…, an, где ai — содержимое памяти i-го уровня.

Начальное состояние определяется пользователем, при поступлении i-го импульса сдвига каждый разряд памяти ai передает свое содержимое на следующий разряд ai - 1, и вычисляет по состоянию регистра в это время a1 , a2 , …, an f ( a1 , a2 , …, an ), как в следующий момент.

Функция обратной связи f(a1,a2,…,an) является n-местной булевой функцией, то есть n аргументов a1,a2,…,an могут независимо принимать два возможных значения 0 и 1, а операции в функции являются логическим И, логическим или, логическим дополнением и другими операциями, конечное значение функции также равно 0 или 1.

  Характер выходной последовательности сдвигового регистра с линейной обратной связью полностью определяется его функцией обратной связи. Регистр сдвига с линейной обратной связью с n ступенями имеет не более 2 различных состояний в n-й степени. Если его начальное состояние равно 0, его состояние всегда равно 0. Если его начальное состояние не равно 0, то его последующие состояния также не будут равны 0. Следовательно, период состояния n-ступенчатого регистра сдвига с линейной обратной связью меньше или равен 2 в n-й степени - 1. Период его выходной последовательности равен периоду состояния и меньше или равен 2 в n-й степени - 1. Пока выбрана соответствующая функция обратной связи, цикл последовательности может достигать максимального значения 2 в n-й степени - 1, а последовательность, цикл которой достигает максимального значения, называется m-последовательностью.

m-последовательность:

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

Что такое псевдослучайная последовательность?

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

Свойства m-последовательностей:
  • Остаток средств:   В одном цикле последовательности m, как правило, количество нулей и единиц в основном одинаково или количество единиц на единицу больше, чем количество нулей.

  Например, 0111101101001100000111001010101 показывает, что всего 16 единиц и 15 нулей.

  • Запустить раздачу: Эти последовательные элементы в последовательности   m с одинаковым значением вместе называются «серией». Количество элементов в серии называется длиной серии.

В m-последовательности n-го уровня всего 2n-1 прогонов, из которых на прогон длины 1 приходится 1/2 от общего количества прогонов, на прогон длины 2 приходится 1/4 от общего числа прогонов. количество прогонов, а на прогон длины k приходится 1/4 от общего количества прогонов 2k от общего количества прогонов. А в серии длины k количество серий с 0 и 1 составляет половину.

 Например, в последовательности 0111101101001100000111001010101 общее количество серий 18-1=17, а распределение серий различной длины в этой последовательности следующее:  Количество серий длины 1 равно 10, из них 5 серий 1 и 5 серий 0;  Количество прогонов длины 2 равно 4, 2 прогона по 11 и 2 прогона по 00;  Количество последовательных прогонов длины 3 равно 1;   Количество прогонов с нулями длины 4 равно 1;   Количество последовательных прогонов длины 5 равно 1.

  • Shift-добавить характеристики m последовательность m1, другая последовательность m2, сгенерированная произвольным сдвигом задержки m последовательности, сложение по модулю 2 m1 и m2, полученная последовательность по-прежнему является определенной последовательностью смещения задержки m3 из m1, а m3 равно m1 и m2 м2 Исключающее ИЛИ.

  • Связанные функции

  Мы можем проверить свойства автокорреляции m-последовательностей в соответствии со свойством сдвига-добавления. Поскольку последовательность m получается после сдвига и сложения, количество нулей на 1 меньше, чем количество единиц.

постулат Голомба:

 Из свойств m-последовательностей мы можем убедиться, что Голомб предложил следующие три постулата случайности для псевдослучайных периодических последовательностей, а именно:

① В одном цикле последовательности разница между числом 0 и 1 не превышает 1.

  • Постулат ① утверждает, что вероятность появления 0 и 1 в {ai} в основном одинакова.

② В одном цикле последовательности прогоны длины i составляют 1/2 n-й степени от общего количества прогонов ( i = 1, 2 ,… ), а количество прогонов 0 и количество прогонов из 1 в прогонах равной длины Количество прогонов одинаковое.

  • Постулат ② утверждает, что 0 и 1 имеют одинаковую вероятность появления в каждой позиции последовательности.

③ Автокорреляционная функция вне фазы является постоянной.

③ Автокорреляционная функция вне фазы является постоянной.

  • Постулат ③ означает, что при сравнении последовательности с ее преобразованной последовательностью нельзя получить никакой другой информации.

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

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

Выбранные статьи синхронизируются в официальном аккаунте, официальный аккаунт будет выглядеть удобнее, и вы сможете читать его в любое время и в любом месте. Поиск в WeChat【Лун Юэ Двенадцать] подписываться.