- •Лекция Линейный криптоанализ
- •Вычислительно стойкие системы шифрования
- •Основные типы криптографических атак:
- •Полный перебор ключей
- •Правило остановки перебора
- •Анализ статистических особенностей криптограмм
- •Понятие линейной и нелинейной функции
- •Линейный криптоанализ
- •Учебный ППШ
- •Из схемы видно, что такой шифр имеет четыре итерации, причем каждая из них
- •2. Перестановки
- •Подстановка. Это нелинейные преобразования блоков в блоки такой же длины. Нелинейные преобразования подстановок
- •Для решения этой задачи для полного шифра будет использован
- •Примеры расчета линейных аппроксимаций S-BOX-а
- •Из табл. 3.3 видим, что в 12случаях из 16 равенство выполняется.
- •Таблица перекосов
- •Анализ линейной аппроксимации для полного шифра
- •Пример 3.1.2. Выберем следующую аппроксимацию дляS-блоков: S12 : X1 X3 X 4 Y2
- •Для 2-го раунда получаем
- •Для расчета вероятности выполнения равенства (3.5) используем
- •Используя эту лемму, получаем вероятность выполнения равенства (3.5):
- •Подставим в (3.10) V 2,6 V 2,8 из(3.5):
- •Из равенства (3.13) видно, что оно принимает значения 0 или 1, в
- •Принцип линейного КА
- •Подсчет количества совпадений линейной аппроксимации
- •1) в качестве истинного ключа выбирается тот ключ, который дает
- •В теории линейного криптоанализа доказывается [5], что если – это
2. Перестановки
Это преобразование, которое показывает, на какую позицию в выходном блоке должен попасть стоящий на определенной позиции символ входной последовательности (рис. 3.2).
Перестановка элементов блока
3. Сложение блока с подключем
Ei 1 Ei Ki
12
Подстановка. Это нелинейные преобразования блоков в блоки такой же длины. Нелинейные преобразования подстановок часто задаются таблицей
вход
Подстановка S блок
выход
Вход 1 |
Выход |
1 |
0000 |
0110 |
|
0001 |
1000 |
|
0010 |
0010 |
|
0011 |
0011 |
|
0100 |
1001 |
|
0101 |
1010 |
|
0110 |
0101 |
|
0111 |
1100 |
|
1000 |
0001 |
|
1001 |
1110 |
|
1010 |
0100 |
|
1011 |
0111 |
|
1100 |
1011 |
|
1101 |
1101 |
|
1110 |
0000 |
|
1111 |
1111 |
|
13
p1 p2 p3 p4
|
|
+¿ |
|
X1 |
X2 |
X3 |
X4 |
Подстановка S блок
E1 |
E2 |
E3 |
E4 |
{K1,K2,K3, K4} Ключ
E= S(P+K)
Предположим X3=E1+E4 тогда, зная E! и E2 , находим Х3.
Далее находим K3=P3+X3
14
Для решения этой задачи для полного шифра будет использован
следующий подход, состоящий из двух этапов:
1) сначала исследуются отдельныеS-блоки (так как только они имеют нелинейность) и находится их наилучшая аппроксимация линейными
уравнениями; |
2) затем производится объединение всех S - |
|||||
X 1 X 2 X 3 X 4 |
||||||
|
|
|
|
|
|
блоков для установления полной связи входа всего |
|
|
|
|
|
|
|
|
|
|
|
|
|
шифра с его выходом. |
|
|
S -блок |
|
|||
|
|
|
Рассмотрим решение задачи на первом этапе. |
|||
4×4 |
|
|
||||
|
|
|
|
|
|
Проведем анализ возможностей по линейной |
Y |
|
|
|
|
|
аппроксимации S-блока для учебного шифра, |
1 Y2 Y3 Y4 |
представленного ранее таблицей с четырьмя входами |
и четырьмя выходами для каждого S-блока(табл. 3.1 и рис. 3.5).
Рассмотрим в качестве первой попытки аппроксимации следующее уравнение:
X2 X 3 Y1 Y3 Y4 0 , что эквивалентно равенству X 2 X3 Y1 Y3 Y4.
Перебирая 16 возможных входов X1 X 2 X3 X4 , мы можем наблюдать
частоту выполнения данного равенства, используя табл. 3.1, определяющую преобразование входов S-блоков в их выходы.
15
Примеры расчета линейных аппроксимаций S-BOX-а
X1 X2 X3 X4 |
Y1 |
Y2 |
Y3 |
Y4 |
X2 X3 |
Y1 Y3 Y4 |
X1 X4 |
Y2 |
X3 X4 |
Y1 Y4 |
|||
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
|
|
0 |
1 |
0 |
1 |
0 |
0 |
||||||||||||
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
16
Из табл. 3.3 видим, что в 12случаях из 16 равенство выполняется.
Тогда можно определить так называемый «перекос вероятности», т. е.
отклонение ееот 1 |
2 |
: |
12 |
1 |
1 . |
|
|
||||
|
|
|
|
|
16 |
2 |
4 |
|
|
|
|
Для другого |
|
уравнения |
X 1 X 4 Y2 аналогично |
получаем |
перекос |
||||||
вероятности, равный 0, а для уравнения X 3 X4 Y1 |
Y4 перекос будет |
||||||||||
следующий: |
|
2 |
|
|
|
1 |
3 |
. |
В последнем случае |
скорее |
уместно |
16 |
|
|
8 |
||||||||
|
|
|
|
2 |
|
|
|
|
рассматривать аппроксимацию вида X 3 X4 Y1 Y4 1, но это не имеет
принципиального значения, поскольку в дальнейшеммы будем вычислять перекос вероятности по абсолютной величине.
В табл. 3.4 представлены результаты проверки всех видов комбинаций (записанных в 16-ричной форме), связывающих входы и выходы S-блока, при различных входных последовательностях. На пересечении дается количество выполненных уравнений минус 8. Тогда для получения перекоса надо разделить на 16 значения, приведенные в табл. 3.4.
17
Таблица перекосов
Полный набор линейных аппроксимаций для S-блока
|
|
|
|
|
|
|
|
Выходные суммы |
|
|
|
|
|
|
||||
|
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
|
|
0 |
+8 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
|
1 |
0 |
0 |
–2 |
–2 |
0 |
0 |
–2 |
+6 |
+2 |
+2 |
0 |
0 |
+2 |
+2 |
0 |
0 |
|
В |
2 |
0 |
0 |
–2 |
–2 |
0 |
0 |
–2 |
–2 |
0 |
0 |
+2 |
+2 |
0 |
0 |
–6 |
+2 |
|
3 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
+2 |
–6 |
–2 |
–2 |
+2 |
+2 |
–2 |
–2 |
||
х |
||||||||||||||||||
4 |
0 |
+2 |
0 |
–2 |
–2 |
–4 |
–2 |
0 |
0 |
–2 |
0 |
+2 |
+2 |
–4 |
+2 |
0 |
||
о |
||||||||||||||||||
д |
5 |
0 |
–2 |
–2 |
0 |
–2 |
0 |
+4 |
+2 |
–2 |
0 |
-4 |
+2 |
0 |
–2 |
–2 |
0 |
|
н |
6 |
0 |
+2 |
-2 |
+4 |
+2 |
0 |
0 |
+2 |
0 |
–2 |
+2 |
+4 |
–2 |
0 |
0 |
–2 |
|
ы |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
е7 0 –2 0 +2 +2 -4 +2 0 –2 0 +2 0 +4 +2 0 +2 8 0 0 0 0 0 0 0 0 –2 +2 +2 –2 +2 –2 –2 –6
с |
9 |
0 |
0 |
–2 |
–2 |
|
0 |
0 |
–2 |
–2 |
|
–4 |
0 |
–2 |
+2 |
0 |
+4 |
+2 |
–2 |
у |
A |
0 |
+4 |
–2 |
+2 |
|
–4 |
0 |
+2 |
–2 |
|
+2 |
+2 |
0 |
0 |
+2 |
+2 |
0 |
0 |
м |
B 0 |
+4 |
0 |
-4 +4 |
0 |
+4 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|||
м |
C |
0 |
–2 |
+4 |
–2 |
|
–2 |
0 |
+2 |
0 |
|
+2 |
0 |
+2 |
+4 |
0 |
+2 |
0 |
–2 |
ы |
|
|
|||||||||||||||||
D |
0 |
+2 |
+2 |
0 |
|
–2 |
+4 |
0 |
+2 |
|
–4 |
–2 |
+2 |
0 |
+2 |
0 |
0 |
+2 |
|
|
|
|
|||||||||||||||||
|
E |
0 |
+2 |
+2 |
0 |
|
–2 |
–4 |
0 |
+2 |
|
–2 |
0 |
0 |
–2 |
–4 |
+2 |
–2 |
0 |
|
F |
0 |
–2 |
–4 |
–2 |
|
–2 |
0 |
+2 |
0 |
|
0 |
–2 |
+4 |
–2 |
–2 |
0 |
+2 |
0 |
|
|
Пример 3.1.1. x |
3 |
4 |
0011 |
|
1 |
4 |
|
|
|
|
|
|
|||||
|
|
|
x |
3 ; Y |
Y |
1001 |
9 . |
|
|
|
На пересечении получаем –6, и тогда величина перекоса вероятности будет следующая: 166 83.
18
Анализ линейной аппроксимации для полного шифра
Для этого необходимо выбрать линейные комбинации,
соответствующие максимальным (по абсолютной величине) значениям их перекосов вероятностей и проследить, как эти комбинации сочетаются друг с другом для заданной структуры шифра.
Далее будем использовать следующие обозначения:
Ui – входная последовательность для S-блока наi-м раунде; Vi – выходная последовательность дляS-блока наi-м раунде; Uij –j-й бит блока Ui ;
Vij –j-й бит блока Vi ;
ki – блок ключей на входеi-го раунда;
kij –j-й бит блока ki .
Из приведенной на рис.3.6 схемы видим, что U1 P k1, где P – открытое сообщение.
19
20
Пример 3.1.2. Выберем следующую аппроксимацию дляS-блоков: S12 : X1 X3 X 4 Y2 с вероятностью 34 ; S22 : X2 Y2 Y4 с вероятностью 14 ; S32 : X2 Y2 Y4 с вероятностью 14 ; S34 : X 2 Y2 Y4 с вероятностью 14 .
Пояснение к расчету вероятности для S12.
По таблице для X1+X3+X4 (знак B по вертикали и для Y2 знак 1 по горизонтали находим перекос +4. Находим перекос вероятности 4/16 =1/4. Тогда вероятность
выполнения равенства 1/4 + 1/2 = ¾.
Используя аппроксимацию для S12 , получаем уравнение для выхода 1-
го раунда
V U |
15 |
U |
17 |
U |
P |
k |
|
P |
k |
|
|
P k |
|
с вероятностью |
|
3 |
4 |
. (3.2) |
16 |
|
|
18 5 |
1,5 |
7 |
1,7 |
|
8 1,8 |
|
|
|
21
22