- •Лекция Линейный криптоанализ
- •Вычислительно стойкие системы шифрования
- •Основные типы криптографических атак:
- •Полный перебор ключей
- •Правило остановки перебора
- •Анализ статистических особенностей криптограмм
- •Понятие линейной и нелинейной функции
- •Линейный криптоанализ
- •Учебный ППШ
- •Из схемы видно, что такой шифр имеет четыре итерации, причем каждая из них
- •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], что если – это
Лекция Линейный криптоанализ
1
Вычислительно стойкие системы шифрования
Определение. КС называется доказуемо стойкой относительно
определенного метода криптоанализа или решения математической задачи, если ее дешифрование данным методом требует необозримо большого времени или объема оборудования. (Такие КС, как будет показано далее, существуют.)
Основные подходы к криптоанализу:
1.Тотальный перебор ключей
2.Анализ статистических особенностей криптограмм
3.Линейный криптоанализ
4.Дифференциальный криптоанализ
5.Максимального правдоподобия;
6.На основе решения алгебраических (булевых) уравнений;
7.На основе внесения ошибок в процедуру дешифрования.5.
2
Основные типы криптографических атак:
1)только при известной криптограмме Е;
2)при известной криптограмме Е и соответствующей ей части сообщения M;
3)при специально выбранном сообщении M и соответствующей ему криптограмме E.
3
Полный перебор ключей
При данном методе криптоанализа криптоаналитик перебирает все допустимые ключи, пытаясь дешифровать криптограмму достаточно
большой длины, |
n |
равной или превосходящей расстояние |
|||
единственности npe, т. е. при условии, что n |
|
npe |
. Тогда первый ключ, |
||
|
который даст смысловой результат при дешифровании, и принимается за истинный. Однако возможности данного метода ограничены временем перебора всех или хотя бы в среднем половины ключей.
Длина ключа, гарантирующая вычислительную стойкость переборного |
|
алгоритма |
N 256 |
4
Правило остановки перебора
•Подсчитать количество появлений заданного символа s в дешифрованной криптограмме ns.
•Найти частоту появления символа s – Ps=ns/n, где n – общее кол-во символов.
•Сравнить Ps с известной вероятностью символа в языке – P’s.
• Если где заданный порог, то совпадение со статистикой языка есть.
•Провести аналогичную проверку на других символах. При совпадении статистики ключ найден.
5
Анализ статистических особенностей криптограмм
Статистика букв русского языка
пробел |
О |
Е,Ё |
А |
|
0.175 |
0.090 |
0.072 |
0.062 |
|
И |
Т |
Н |
С |
|
0.062 |
0.053 |
0.053 |
0.045 |
|
Р |
В |
Л |
К |
|
0.040 |
0.038 |
0.035 |
0.028 |
|
М |
Д |
П |
У |
|
0.026 |
0.025 |
0.023 |
0.021 |
|
Я |
Ы |
3 |
Ь,Ъ |
|
0.018 |
0.016 |
0.016 |
0.014 |
|
Б |
Г |
Ч |
Й |
|
0.014 |
0.013 |
0.012 |
0.010 |
|
Х |
Ж |
Ю |
Ш |
|
0.009 |
0.007 |
0.006 |
0.006 |
|
Ц |
Щ |
Э |
Ф |
|
0.004 |
0.003 |
0.003 |
0.002 |
7 |
|
|
|
|
Понятие линейной и нелинейной функции
Определение. Функция y=f(x) называется линейной, если f(a)+f(b)=f(a+b),
иначе функция нелинейная. (то есть для л.ф. сумма значений функций равна значению функции от суммы аргументов)
Покажем, что функция суммирования по mod2 линейная.
Пусть f(x1,x2)=x1 x2, f(x’1,x’2)=x’1 x’2 f(x1 x’1,x2 x’2)= (x1 x’1) (x2 x’2)=f(x1,x2) f(x’1,x’2) Пусть f(x1,x2)=x1*x2
f(x1 x’1,x2 x’2)= (x1 x’1)*(x2 x’2) =x1*x2 x’1*x2 x1*x’2 x’1*x’2 ≠
x1*x’1 x2*x’2= f(x1,x2) f(x’1,x’2)
8
Линейный криптоанализ
Линейный криптоанализ
Линейный криптоанализ блокового шифра был предложен Мацуи в 1994 г. Основная идея его состоит в использовании (существующих для любых нелинейныхпреобразований) скрытых линейных уравнений, связывающих некоторые биты входа и выхода.
При выполнении данной атаки предполагается использовать много открытых текстов и соответствующих им криптограмм(т. е. это атака второго типа).
Общее уравнение линейных связей имеет вид
Xi |
Xi |
Xi |
, Yj |
Yj |
Yj 0 |
, |
(3.1) |
1 |
2 |
n |
t |
2 |
l |
|
|
где Xi – i-й бит входа;Yj – j-й бит выхода.
Такие уравнения будут существовать не всегда, а лишь для некоторой части входных сообщений. Поэтому мы можем говорить только о некоторой вероятности их выполнения. Для определения номеров i1, ..., in ; j1, ..., jl
влинейном уравнении (3.1) необходимо выбрать такие их них, которые обеспечивают наибольшую вероятность выполнения (3.1) по всем возможным входам.
9
Учебный ППШ
10
Из схемы видно, что такой шифр имеет четыре итерации, причем каждая из них включает в себя:
•сложение по модулю 2 с раундовым ключом,
•нелинейное преобразование, выполняемое в четырех S- блоках, (подстановка)
•перестановка символов, определяемую направлениями линий.
(в последнем раунде перестановка не используется, но используется
5-й раундовый ключ).
Длина блока учебного ППШ равна 16 бит, а общее число бит раундовых ключей – 80.
11