Изучение современных методов криптоанализа. Бабенко Л.К - 23 стр.

UptoLike

23
отклонение значения вероятности для каждой пары (i, j), тем более эффек-
тивным будет линейный аналог.
Пусть Q
*
a
(i*, j*): | Q
*
a
(i*, j*) – 32| = max| Q
a
(i, j) – 32| (5)
1 i 63;
1 j 15.
Тогда уравнение
(X,i*) (Y,j*) = (К, i*) (6)
является эффективным линейным статистическим аналогом для а-го S
блока в классе всех линейных статистических аналогов вида (4) с вероятно-
стью
Р
а
= Q
*
a
(i*, j*)/64, а = 1,…,8.
Анализ всех восьми S-
блоков показал, что наибольшее отклонение от ½
находится в S
5
блоке. Чтобы все вышесказанное стало более понятным, про-
анализируем S
5
блок алгоритма DES.
Шестибитовым входам в S
5
- блок однозначно соответствуют четырех-
битовые выходы. Их значения можно определить с помощью известной таб-
лицы замены, которая представляет собой таблицу из четырех строк и шест-
надцати столбцов. По шести входным битам S блока определяется, под ка-
ким номером столбцов и строк следует искать выходное значение (табл.
1.10).
Однако для удобства проводимого анализа
целесообразней сопоставить
значения входов и выходов не в виде двухмерной матрицы, а в виде табл. 1,
приведенной в приложении.
В ходе анализа мы прослеживаем все возможные комбинации двоичных
векторов i и j. Каждую пару векторов мы используем в качестве маски, кото-
рую накладываем на все возможные пары входвыход блока замены. Эти
маски
указывают нам на биты входа и выхода соответственно, которые не-
обходимо сложить по модулю 2, а затем сравнить полученные результаты.
Результат анализа приведен в приложении в табл. 2. В этой таблице значение
Q
5
(i,j), имеющее наибольшее отклонение от ½, помечено *. Следовательно,
Q*
5
(I*,j*) = 12, где j = (1,1,1,1), а i = (0,1,0,0,0,0). Это говорит о том, что из
всех возможных входных значений (от 0 до 63) и соответствующих им вы-
ходных значений, 12 раз встречается совпадение второго входного бита и
суммы по модулю 2 всех четырех выходных битов. Из табл. 1, приведенной
в приложении, следует, что данными 12 парами являются следующие:
1. 000010 – 1100 (0 = 1
1
0
0);
2. 000111 – 1100 (0 = 1
1
0
0);
3. 001010 – 1010 (0 = 1
0
1
0);
4. 001110 – 0110 (0 = 0
1
1
0);
5. 010000 – 1000 (1 = 1
0
0
0);
6. 011000 – 1101 (1 = 1
1
0
1);