- •Лекция
- •Дифференциальный криптоанализ (ДК), предложенный в 1991 г.
- •Дифференциальный криптоанализ (ДК) основан на гипотезе о
- •Примеры пар разностей для S-блока
- •Распределение значений выходных разностей для S-блока и
- •ВЛИЯНИЕ РАУНДОВЫХ КЛЮЧЕЙ НА ВЫХОДНЫЕ РАЗНОСТИ
- •Расчет разностных характеристик для полного шифра.Будем
- •Для всех остальных блоков входные разности будут нулевыми, что на
- •Далее используем ранее выбранную выходную пару для блока S2,3
- •Теперь можно провести криптоанализ полного шифра в целях
- •Принцип дифференциального КА
- •Подсчет количества совпадений линейной аппроксимации
- •Результаты эксперимента для 5000 пар сообщений/криптограмм и для
- •При помощи аналогичного алгоритма находится другая пара
- •Из (3.14) и (3.15) видно, что для разработки шифров, стойких к
- •Построение блоковых шифров, доказуемо стойких к линейному и дифференциальному криптоанализу
- •2. Булевы функции в криптографических преобразованиях
- •1.Область применения криптографических функций
- •1. Область применения криптографических функций
- •После окончания передачи зашифрованного файла сеанс связи должен завершаться.
- •Фильтрующий генератор гаммы
- •Комбинирующий генератор гаммы
- •2. Линейные и аффинные булевы функции
- •Класс линейных двоичных функций от n переменных L2(n)
- •Важнейшей характеристикой КФ является Хэммингово расстояние её строки истинности от всех линейных и
- •Значения линейных и аффинных функций в P2(2)
- •3. Геометрический смысл коэффициентов преобразования Уолша
- •3. Геометрический смысл коэффициентов преобразования Уолша
- •Он показывает значение расстояния Хемминга до максимально возможного, равного в данном случае 2.
- •Из (3.31) видно, что если определяет некоторую ошибку в
- •Определение 3.1.10. Булева функция f x называется сбалансированной, если ее таблица истинности содержит
Лекция
Дифференциальный
криптоанализ
1
Дифференциальный криптоанализ (ДК), предложенный в 1991 г.
Бихамом и Шамиром, использует аномально повышенные вероятности появления некоторых разностей криптограмм для определенных разностей между открытыми сообщениями.
Обозначим |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
через X |
X |
X |
2 |
...X |
n |
вход и черезY YY ...Y |
|
|
выход |
|||||||||||
|
1 |
|
|
1 2 |
n |
|
|
|
|
|
||||||||||
некоторого блокового шифра. Зафиксируем последовательности |
|
|
|
|
|
|
||||||||||||||
|
X |
', X '' и |
||||||||||||||||||
соответствующие |
|
|
|
|
|
|
разности |
|||||||||||||
имY |
',Y ''. Определим входные и выходные |
|
следующим образом: X X '' X '; Y Y '' Y '.
В случае идеального шифра выходные разности были бы
|
|
|
|
|
|
|
1 |
для всех |
||||
равновероятными, т. е. выполнялось бы соотношениеPr( Y |
) |
|||||||||||
2n |
||||||||||||
|
|
. |
|
|
|
|
|
|
|
|
||
входных разностей X |
|
|
|
|
|
|
|
|
|
|||
|
|
|
X1 |
X2 |
Xi |
Xn |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
Схема подстановки |
|
|
|
|
|
|
|||
|
|
|
S-блок |
|
|
|
|
|
|
|
||
|
|
|
Y1 |
Y2 |
Y3 |
Yn |
|
|
2
Дифференциальный криптоанализ (ДК) основан на гипотезе о
существовании определенных выходных разностей, которые имеют повышенные или пониженные вероятности (т. е. отличающиеся от 21n в
большую или в меньшую сторону). ДК, также как и ЛК, распадается на два этапа:
1)анализ разностей для каждогоS-блока;
2)анализ разностей для всего шифра.
Анализ разностей для S-блока. В табл. 3.6 показаны некоторые
разности X и |
соответствующие |
им разности Y для различныхХ, где |
|
Y Y Y ', |
Y S(X ),Y ' S(X ') , |
X ' X X , |
S( )–преобразование, |
выполняемое S-блоком.
3
Примеры пар разностей для S-блока
Х |
Y |
|
Y |
|
|
X =1011 |
X =1000 |
X =0100 |
|||
|
|
||||
0000 |
1110 |
0010 |
1101 |
1100 |
|
0001 |
0100 |
0010 |
1110 |
1011 |
|
0010 |
1101 |
0111 |
0101 |
0110 |
|
0011 |
0001 |
0010 |
1011 |
1001 |
|
0100 |
0010 |
0101 |
0111 |
1100 |
|
0101 |
1111 |
1111 |
0110 |
1011 |
|
0110 |
1011 |
0010 |
1011 |
0110 |
|
0111 |
1000 |
1101 |
1111 |
1001 |
|
1000 |
0011 |
0010 |
1101 |
0110 |
|
1001 |
1010 |
0111 |
1110 |
0011 |
|
1010 |
0110 |
0010 |
0101 |
0110 |
|
1011 |
1100 |
0010 |
1011 |
1011 |
|
1100 |
0101 |
1101 |
0111 |
0110 |
|
1101 |
1001 |
0010 |
0110 |
0011 |
|
1110 |
0000 |
1111 |
1011 |
0110 |
|
1111 |
0111 |
0101 |
1111 |
1011 |
Из табл. 3.6 видно, что Y 0010 появляется в 8 случаях из 16, когдаX 1011, т. е. вероятность ее появления равна 12 , вместо161 , которая была
бы для чисто случайного выбора. Если X 0100, то Y 0010 вообще не появляется. Таким образом, различные виды разностей Y появляются с различной частотой.
4
Распределение значений выходных разностей для S-блока и
различных входных разностей представлено в табл. 3.7, где все эти разности записаны в 16-ричной системе. Видно, что наибольшее число раз
(8) появляется выходная разность Y 2 при входной разности X B .
Таблица 3.7 Распределение всевозможных разностей S-блока учебного шифра
|
|
0 |
|
В |
0 |
16 |
|
1 |
0 |
||
х |
2 |
0 |
|
о |
|||
3 |
0 |
||
д |
|||
4 |
0 |
||
н |
|||
5 |
0 |
||
а |
|||
6 |
0 |
||
я |
|||
|
7 |
0 |
|
р |
8 |
0 |
|
а |
9 |
0 |
|
з |
A |
0 |
|
н |
B |
0 |
|
о |
C |
0 |
|
с |
|||
D |
0 |
||
т |
|||
E |
0 |
||
ь |
|||
F |
0 |
||
|
|
|
|
|
|
Выходная разность |
|
|
|
|
|
|
|||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A B C D E F |
|||||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
2 |
0 |
0 |
0 |
2 |
0 |
2 |
4 |
0 |
4 |
2 |
0 |
0 |
0 |
0 |
2 |
0 |
6 |
2 |
2 |
0 |
2 |
0 |
0 |
0 |
0 |
2 |
0 |
0 |
2 |
0 |
2 |
0 |
0 |
0 |
0 |
4 |
2 |
0 |
2 |
0 |
0 |
4 |
0 |
0 |
2 |
0 |
0 |
6 |
0 |
0 |
2 |
0 |
4 |
2 |
0 |
0 |
0 |
4 |
0 |
0 |
0 |
2 |
2 |
0 |
0 |
0 |
4 |
0 |
2 |
0 |
0 |
2 |
0 |
0 |
4 |
0 |
4 |
0 |
0 |
0 |
0 |
0 |
0 |
2 |
2 |
2 |
2 |
0 |
2 |
2 |
2 |
0 |
2 |
0 |
0 |
2 |
2 |
0 |
0 |
0 |
0 |
4 |
0 |
0 |
0 |
0 |
0 |
2 |
2 |
0 |
0 |
0 |
4 |
0 |
4 |
2 |
2 |
2 |
0 |
0 |
2 |
0 |
0 |
4 |
2 |
0 |
2 |
2 |
2 |
0 |
0 |
0 |
2 |
2 |
0 |
0 |
0 |
0 |
0 |
6 |
0 |
0 |
2 |
0 |
0 |
4 |
0 |
0 |
8 |
0 |
0 |
2 |
0 |
2 |
0 |
0 |
0 |
0 |
0 |
2 |
0 |
2 |
2 |
0 |
0 |
2 |
2 |
2 |
0 |
0 |
0 |
0 |
2 |
0 |
6 |
0 |
0 |
4 |
0 |
0 |
0 |
0 |
0 |
4 |
2 |
0 |
2 |
0 |
2 |
0 |
2 |
0 |
0 |
2 |
4 |
2 |
0 |
0 |
0 |
6 |
0 |
0 |
0 |
0 |
0 |
2 |
0 |
2 |
0 |
0 |
6 |
0 |
0 |
0 |
0 |
4 |
0 |
2 |
0 |
0 |
2 |
0 |
5
ВЛИЯНИЕ РАУНДОВЫХ КЛЮЧЕЙ НА ВЫХОДНЫЕ РАЗНОСТИ
Прежде чем перейти ко второму этапу, отметим важное свойство этого метода криптоанализа: раундовые ключи не влияют на входные разности. Действительно, из схемы, приведенной на рис. 3.7, следует справедливость следующего соотношения:
Wi (X ' ki ) (X '' ki ) (X ' X '') X , поскольку раундовый ключki сохраняется
постоянным, и тогда ki ki 0 .
Рис. 3.7. Нахождение разности
при наличии раундовых ключей
6
Расчет разностных характеристик для полного шифра.Будем
использовать следующие разностные пары для S-блоков, через которые проходят жирные линии на рис.3.8:
|
|
|
|
|
|
8 |
|
|
|
|||||
S(1,2) |
X B |
|
Y 2 |
с вероятностью |
|
|
|
|
|
|
; |
|||
16 |
||||||||||||||
|
|
|
|
|
|
|
||||||||
S(2,3) |
X 4 |
|
Y 6 |
с вероятностью |
|
|
6 |
|
|
|
; |
|||
|
|
|
|
|
|
|
|
|||||||
|
16 |
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|||||
S(3,2) |
X 2 |
|
Y 5 |
с вероятностью |
|
|
6 |
|
|
|
; |
|||
|
|
|
|
|
|
|
|
|||||||
|
16 |
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
6 |
|
|
|
||||
S(3,3) |
X 2 |
|
Y 5 |
с вероятностью |
|
|
|
|
|
|
. |
|||
16 |
|
|||||||||||||
|
|
|
|
|
|
|
|
|
7
8
Для всех остальных блоков входные разности будут нулевыми, что на
выходе даст также нулевые разности. Используя те же обозначения для входов и выходов раундов, что и при линейном криптоанализе, но с индексом (разность), мы получаем следующие выражения для соответствующих разностей:
P U1 [000010110000 0000]; |
|
|
|
|
|
|
|
|
|
|
8 |
|
|
1 |
|||
V1 [0000 0010 0000 0000], ( Y 2) с вероятностью |
|
|
|
|
|
|
. |
|
16 |
2 |
|||||||
После перестановок в первом слое, получаем |
|
|
|
|
||||
|
|
|
|
|
|
|
||
U2 [0000 0000 0100 0000], ( Y 2) с вероятностью |
|
|
1 |
|
|
|
||
|
|
2 |
. |
|
|
|||
|
|
|
|
|
|
|
9
Далее используем ранее выбранную выходную пару для блока S2,3
V2 [0000 0000 0110 0000].
После перестановок получаем для следующего слоя
|
|
|
|
|
|
|
|
1 |
|
|
6 |
|
|
|
|
3 |
|
|
|
|||
|
|
U3 [0000 0010 0010 0000] с вероятностью |
|
|
2 |
|
|
|
|
|
|
. |
|
|||||||||
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
16 |
|
|
16 |
|
|
|
||||||||
Переходя к блокам S3,2 , S3,3 , получаем |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
V [0000 010101010000] с вероятностью |
|
|
|
|
6 |
2 . |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
16 |
|
|
|
|
|
|
|
|
||||
Для слоя U4 получаем |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
8 |
|
6 |
|
|
6 |
|
|
2 |
|
|
|
27 |
|
|||||
U |
4 |
[0000 0110 0000 0110] с вероятностью |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
16 |
16 |
|
|
|
|
|
|
|
|
1024 |
|
||||||||
|
|
|
|
|
|
16 |
|
|
|
|
10
11