Слайд 1Атака на потоковый шифр
Ошибка: использование одинаковой шифрующей последовательности.
1-й сеанс: шифрование
сообщения M1
E1=M1+γ;
2-й сеанс: шифрование сообщения M1
E2=M2+γ;
Противник получает из лини связи:
E1 E2
Слайд 2Действия противника:
E1 + E2 = M1+γ+M2+γ= M1+M2;
Т.о. Противник свел потоковый
шифр к книжному (один осмысленный текст шифруется другим осмысленным текстом).
Слайд 3Подход к вскрытию книжного шифра
M1=влесуродиласьелочкавлесуона
M2=россиясвященнаянашадержавар
Е =xxxxxxxxxxxxxxxxxxxxxxxxxxx
Для вскрытия может использоваться частотный
словарь словоформ русского языка (для другого типа данных аналогичный словарь
надо составлять самостоятельно).
Слайд 4Перебор слов
Е =xxxxxxxxxxxxxxxxxxxxxxxxxxx
1 елочка
елочка
...
елочка
аянаша
2 родилась
ясвященн
3 держава
влесуон
Слайд 5Потоковые шифры
Посимвольное шифрование.
Каждый символ сообщения (независимо от других) преобразуется в
символ криптограммы по правилу, определяемому ключом. Ключ меняется от символа
к символу.
Исторически первое применение –Вернам для телеграфных линий.
Слайд 6Потоковое шифрование
Генератор Г(K)
Г – шифрующая последовательность
Гi
Mi
Ei
Генератор Г(K)
Гi
Ei
Mi
К – по секретному
каналу
E – по открытому каналу
Слайд 7Потоковые шифры
Большинство потоковых шифров – аддитивные (шифрование по модулю 2)
Отличаются
друг от друга принципом формирования шифрующей последовательности
Слайд 8LSFR
Для формирования последовательности часто используют:
ЛРР линейные рекуррентные регистры или иначе
LSFR (регистры сдвига с линейными обратными связями).
an
an-1
…
a2
a1
bj
Слайд 9LSFR
a5
a4
a3
a2
a1
С любым ЛРР(LFSR) можно сопоставить полином обратных связей
(для математического
изучения свойств ЛРР):
h(x)=xn+kn-1xn-1+k2x2+k1x+1,
ki-двоичные коэффициенты, определяющие обратные связи
Слайд 10Свойства LSFR:
Период выходной последовательности T
основан на примитивном полиноме:
Примитивный полином
неприводимый – не представим в виде
произведения полиномов меньшей степени.
делит Xk+1, где k = 2n-1, но не делит Xd+1 для любого d, такого, что d делит 2n-1
Примитивные полиномы существуют для всех степеней. Существуют методы, позволяющие проверить на примитивность произвольный полином.
Слайд 11Выходная последовательность ЛРР, основанного на примитивном полиноме обладает свойствами:
баланса –
равенство количество нулей и единиц (единиц на одну больше)
окна –
выходная последовательность содержит все возможные варианты заполнения регистров (кроме нулевого) по одному разу.
Слайд 12Свойство окна
110
101
111
001
011
010
001
110101111001011010001110101111001011010001
1
1
0
Обратная связь
Слайд 13Недостаток генератора Г на основе ЛРР
Непосредственно использовать ЛРР для шифрования
нельзя, так как существует алгоритм (Месси-Берликампа), который по 2n символам
выходной последовательности восстанавливает вид обратных связей и начальное заполнение. Сложность алгоритма ~n3
n – длина регистра сдвига.
Слайд 14Полиномиальная сложность восстановления регистра по выходной последовательности обусловлена его линейностью.
Для
устранения данного недостатка в схему формирования Г вводят нелинейные элементы
Слайд 15НУУ (нелинейные узлы усложнения)
Схема И Генератор Джеффа(Гефа)
Слайд 16Ввод нелинейности
(комбинация методов)
ЛРР1
ЛРР2
Управление тактовыми импульсами.
Один LSFR (ЛРР) управляет тактированием другого
…
ЛРР3
1
1
0
Обратная связь
Слайд 17Эквивалентный регистр
Любой совокупности ЛРР и НУУ можно сопоставить один эквивалентный
ЛРР большей длины.
dэкв >> Σ dЛРР(i)
i
Слайд 18Свойства потоковых шифров*
Простота схем и низкая стоимость
Высокая скорость
Нет размножения ошибок
Нет
задержек
Проще оценивается стойкость.
* - по сравнению с блоковыми
Слайд 19Примеры потоковых шифров
A5 (шифрование в GSM)
ЛРР(22)
ЛРР (19)
ЛРР(23)
Схема упр. тактированием
8
10
10
Слайд 20Особенности A5 (недостатки)
Первоначально секретный алгоритм
A5/1 ~ 240 *
A5/2 менее стойкий ~218 *
* - при
атаке по известной гамме.
Полиномы обратных связей разрежены (для упрощения аппаратной
реализации, но при этом несколько снижается стойкость.)
Шифруются данные только между абонентом и базовой станцией.
Слайд 21RC4
Ривест (Райвест):
Q1
Q2
S(Q1)
S(Q2)
S(T)
T
γ
Q1 Q2 – счетчики – для постоянного изменения таблицы
замен.
S( ) – блоки замены
Сумматоры по модулю 28
Слайд 22RC4
Q1=(Q1+1)mod 28
Q2=(Q2+S[Q1])mod 28
S[Q1] S[Q2] - обмен значениями
Т= (S[Q1]+S[Q2])mod 28
γ
= S[T];
Для работы алгоритмы необходима первоначальная инициализация таблиц замен.
Слайд 23Другие потоковые шифры
SEAL (Software-Optimized encription Algorithm)
Авторы: Ф. Рогуэй, Д. Копперсмит
CHAMELEON
Автор:
Р.Андерсон
SOBER
быстродействие. Для шифрования речи.
…