Интернет магазин китайских планшетных компьютеров



Компьютеры - Поточный шифр - Потоковые шифры основанные на РСЛОС. Усложнение

22 января 2011
лев хасис

Оглавление:
1. Поточный шифр
2. Режим гаммирования для поточных шифров
3. Классификация поточных шифров
4. Поточные шифры на регистрах сдвига с линейной обратной связью
5. Потоковые шифры основанные на РСЛОС. Усложнение
6. Основные отличия поточных шифров от блочных
7. Проектирование поточных шифров
8. Криптоанализ. Атаки на поточные шифры



К сожалению, выходная последовательность РСЛОС легко предсказуема. Так, зная 2L знаков выходной последовательности, легко найти исходное заполнение регистра, решив систему линейных уравнений.
Считается, что для криптографического использования выходная последовательность РСЛОС должна иметь следующие свойства:

  • большой период
  • высокую линейную сложность
  • хорошие статистические свойства

Существует несколько методов проектирования генераторов ключевого потока, которые разрушают линейные свойства РСЛОС и тем самым делают такие системы криптографически более стойкими:
1. использование нелинейной функции, объединяющей выходы нескольких РСЛОС
2. использование нелинейной фильтрующей функции для содержимого каждой ячейки единственного РСЛОС
3. использование выхода одного РСЛОС для управления синхросигналом одного РСЛОС.

Нелинейная комбинация генераторов

Нелинейная комбинация генераторов

Известно, что каждая Булева функция ~f может быть записана как сумма по модулю 2 произведений порядков ~m независимых переменных,  0 \leqslant m \leqslant n . Это выражение называется алгебраической нормальной формой функции ~f. Нелинейным порядком функции f называется максимальный порядок членов в записи её алгебраической нормальной формы.
Например, Булева функция  f=x_1  \oplus x_2 \oplus x_4  \oplus x_1 x_3  \oplus x_2 x_3 x_4 имеет нелинейный порядок 3. Максимально возможный нелинейный порядок Булевой функции равен количеству переменных ~n.
Предположим теперь, что у нас ~n регистров сдвига с линейной обратной связью, их длины L_1, L_2, L_3, \dots , L_n попарно различны и больше двух. Все регистры объединены нелинейной функцией  f, как показано на рисунке. Функция ~f представлена в алгебраической нормальной форме. Тогда линейная сложность потока ключей равна f.
Если L_1, L_2,\dots, L_n – попарно взаимно-простые числа, то длина периода ключевого потока равна: \cdot \cdots. Например, если ~L_i=10, то \approx 10^3. И длина периода ключевого потока равна ~^n .

Генератор Геффа

Пример:
В этом генераторе используются три РСЛОС, объединённые нелинейным образом. Длины этих регистров ~L_1, L_2, L_3 попарно простые числа.
Нелинейную функцию для данного генератора можно записать следующим образом:

f=x_1 x_2 \oplus x_3=x_1 x_2  \oplus x_2 x_3  \oplus x_3.

Длина периода: \cdot\cdot.

Линейная сложность: ~L=L_1\cdot L_2+L_2\cdot L_3+L_3.

Генератор Геффа криптографически слаб, потому что информация о состояниях генераторов РСЛОС 1 и РСЛОС 3 содержится в его выходной последовательности. Для того чтобы понять это, обозначим ~x_1,x_2,x_3,z ~t-ые выходные биты РСЛОС 1,2,3 и потока ключей, соответственно. Тогда корреляционная вероятность последовательности x1 по отношению к последовательности z~:

~P=x_1 )=P+P*P=1/2+1/2*1/2=3/4.

Аналогично, ~P=x_3 )=3/4.
По этой причине, несмотря на длинный период и достаточно высокую линейную сложность, генератор Геффа поддаётся корреляционным атакам.

Генератор на нелинейном фильтре

Генераторы на нелинейных фильтрах

Выход каждой ячейки подаётся на вход некоторой нелинейной булевой фильтрующей функции ~f. Предположим, что фильтрующая функция порядка ~m, тогда линейная сложность потока ключей не больше L_m=\sum^{m}_{i=1} {L \choose i}.

Генераторы основанные на управлении синхросигналом

В нелинейных комбинациях генераторов и генераторах на нелинейных фильтрах перемещение данных во всех РСЛОС контролируется одним синхросигналом.
Основная идея функционирования рассматриваемого типа генераторов – внести нелинейность в работу генераторов потока ключей, основанных на РСЛОС, путём управления синхросигналом одного регистра выходной последовательностью другого.
Есть 2 типа генераторов основанных на управлении синхросигналом:
1. генератор переменного шага
2. сжимающий генератор.

Генератор переменного шага

Основная идея:
РСЛОС 1 используется для управления передвижением битов двух других РСЛОС 2 и 3.

Генератор переменного шага

Алгоритм работы:
1. Регистр РСЛОС 1 синхронизован внешним синхросигналом
2. Если на выходе регистра РСЛОС 1 единица, то на регистр РСЛОС 2 подаётся синхросигнал, а РСЛОС 3 повторяет свой предыдущий выходной бит
3. Если на выходе регистра РСЛОС 1 ноль, то на регистр РСЛОС 3 подаётся синхросигнал, а РСЛОС 2 повторяет свой предыдущий выходной бит
4. Выходная последовательность битов генератора с переменным шагом является результатом применения операции побитового исключающего ИЛИ к выходным последовательностям регистров РСЛОС 2 и РСЛОС 3.

Увеличение безопасности генераторов с переменным шагом:

  • длины регистров РСЛОС 1, РСЛОС 2, РСЛОС 3 должны быть выбраны попарно простыми числами
  • длины этих регистров должны быть близкими числами.

Сжимающий генератор

Сжимающий генератор

Контролирующий регистр РСЛОС 1 используется для управления выходом РСЛОС 2. Алгоритм:

  1. Регистры РСЛОС 1 и РСЛОС 2 синхронизованы общим синхросигналом;
  2. Если выходной бит РСЛОС 1 равен 1, выход генератора формируется выходным битом регистра РСЛОС 2;
  3. Если выходной бит РСЛОС 1 равен 0, выходной бит регистра РСЛОС 2 отбрасывается.

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

Для увеличения безопасности сжимающего генератора:

  • длины регистров РСЛОС 1 и РСЛОС 2 должны быть взаимно простыми числами;
  • желательно использовать скрытое соединение между регистрами РСЛОС 1 и РСЛОС 2.


Просмотров: 14663


<<< Поросячья латынь
Простая литорея >>>