Слайд 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)
Отличаются друг от друга принципом формирования шифрующей последовательности
Слайд 8
LSFR
Для формирования последовательности часто используют:
ЛРР линейные рекуррентные регистры
или иначе LSFR (регистры сдвига с линейными обратными связями).
an
an-1
…
a2
a1
bj
Слайд 9
LSFR
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 *
*
- при атаке по известной гамме.
Полиномы обратных связей разрежены
(для упрощения аппаратной реализации, но при этом несколько снижается стойкость.)
Шифруются данные только между абонентом и базовой станцией.
Слайд 21
RC4
Ривест (Райвест):
Q1
Q2
S(Q1)
S(Q2)
S(T)
T
γ
Q1 Q2 – счетчики – для постоянного
изменения таблицы замен.
S( ) – блоки замены
Сумматоры по модулю
28
Слайд 22
RC4
Q1=(Q1+1)mod 28
Q2=(Q2+S[Q1])mod 28
S[Q1] S[Q2] - обмен значениями
Т=
(S[Q1]+S[Q2])mod 28
γ = S[T];
Для работы алгоритмы необходима первоначальная инициализация
таблиц замен.