- •Теория построения совершенно стойких и вычислительно стойких систем шифрования
- •Модель системы шифрования
- •Классы систем шифрования
- •Пусть задано двумерное распределение вероятностей p(x, y) случайных величин x, y. В нашем
- •Необходимые и достаточные условия для построения идеальных КС
- •Утверждение 1
- •Теорема Шеннона
- •Достаточность.
- •Необходимость.
- •Утверждение 2
- •Доказательство
- •Следствие. В БССШ объём ключа пропорционален длине сообщения
- •Пример расчета длины ключа для БССШ
- •. Существует метод, позволяющий уменьшить длину ключа, но не имеющий прямого отношения к
- •Понятие расстояния единственности
- •Пояснение расстояния единственности
- •Пример расчета расстояния единственности
- •Полезные формулы
- •Вычислительно стойкие системы шифрования
- •Элементы теории сложности алгоритмов
- •Проблема разрешима, если может быть написан алгоритм для решения этой проблемы
- •Простые задачи, проблемы - могут быть решены на детерминированной машине Тьюринга в полиномиальное
- •Пример сравнения сложности решения полиномиальной и экспоненциальной задач
- •Количественная оценка сложности вычислений
- •При разработке шифра сложность всех применимых для него алгоритмов криптоанализа должна соответствовать сложности
- •Полный перебор ключей
- •Оценка времени тотального перебора ключей
- •Подстановочно-перестановочные шифры (ППШ)
- •2. Перестановки
- •Учебный ППШ
- •Из схемы видно, что такой шифр имеет четыре итерации, причем каждая из них
- •Все S-блоки выполняют одинаковое табличное преобразование, не зависящее от ключа и задаваемое в
Проблема разрешима, если может быть написан алгоритм для решения этой проблемы
Алгоритмы
Простые |
Сложные |
|
|
|
|
Р-проблема |
|
|
? |
|
|
Экспоненциально |
NP- |
NPС- |
сложные |
проблема |
проблема |
21
Простые задачи, проблемы - могут быть решены на детерминированной машине Тьюринга в полиномиальное время.
Их также называют задачами полиномиальной сложности
N = polynom (n), -N = k nd + k nd-1 + k nd-2 …. + n
Сложныеопер задачи это задачи1 2 экспоненциальной1 сложности
.
Nопер = akn , a, k > 0
NP-проблемы (недетерминированно-полиномиальные) - это такие задачи, для которых пока не известны алгоритмы решения с полиномиальной сложностью, однако если решение найдено, то проверка его правильности – задача полиномиальной сложности.
NPC (coNP). Задачи, относящиеся к этому классу таковы, что если будет решена одна задача из класса, то и другие задачи класса могут быть решен в
полиномиальное время. |
22 |
Пример сравнения сложности решения полиномиальной и экспоненциальной задач
|
|
7 |
|
|
|
|
|
71 10 |
|
|
|
|
|
||
10 |
|
|
|
|
|
|
|
y1(n) |
|
6 |
|
|
|
|
|
5 10 |
|
|
|
|
y1(n) 2n |
||
y2(n) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y2(n) n4 n3 n |
2 |
|
0 |
10 |
20 |
30 |
40 |
|
|
|
|
|
||||
|
|
1 |
|
n |
|
40 |
23 |
|
|
|
|
|
|
|
Количественная оценка сложности вычислений
•Сложность побитовой операции это число f (nb )
•элементарных операций, которые должен выполнить
компьютер, чтобы получить результат при входе длины nb бит.
Элементарная обработка бита – это время, которое требуется компьютеру, чтобы сложить, вычесть, умножить или делить два единственных бита или сдвинуть единственный бит.
Примеры:
Сложность побитовой операции сложения – f (nb ) nb Сложность побитовой операции умножения - f (nb ) nb2 Сложность операции быстрого возведения в степень f (nb ) nb3
24
При разработке шифра сложность всех применимых для него алгоритмов криптоанализа должна соответствовать сложности решения сложной задачи
Основные подходы к криптоанализу:
1.Тотальный перебор ключей
2.Анализ статистических особенностей криптограмм
3.Линейный криптоанализ
4.Дифференциальный криптоанализ
5.Максимального правдоподобия;
6.На основе решения алгебраических (булевых) уравнений;
7.На основе внесения ошибок в процедуру дешифрования.5.
Быстродействие вычислительных устройств 1010- 1012 операций/с Быстродействие ЭВМ увеличивается в 4 раза каждые 3 года
25
Полный перебор ключей
При данном методе криптоанализа криптоаналитик перебирает все допустимые ключи, пытаясь дешифровать криптограмму достаточно большой длины, n равной или превосходящей расстояние единственности npe, т. е. при условии, что n npe. Тогда первый ключ, который даст смысловой результат при дешифровании, и принимается за истинный. Однако возможности данного метода ограничены временем перебора всех или хотя бы в среднем половины ключей.
Длина ключа, гарантирующая вычислительную стойкость шифра от переборного алгоритма криптоанализа
N 256
Оценка времени тотального перебора ключей
Симметричные шифры: длина ключа N = 64-256 бит
При N = 256 бит Sk= 2256 = 1.18*1077 Время полного перебора Тп= Sk/V,
Если V = 109 ключей в секунду, то Тп = 1068 сек = 3.3*1060 лет! (в году 3.1536*107 секунд).
Если длина двоичного ключа N = 256 бит, то поиск ключей перебором всех возможных успеха за разумное время не даст ни при каких вычислительных ресурсах..
27
Подстановочно-перестановочные шифры (ППШ)
1. Подстановки
Это нелинейные преобразования блоков в блоки такой же длины. Нелинейные преобразования подстановок часто задаются таблицей
Пример. Блок длины n = 3, что соответствует отображению
x1 x2 x3 y1 y2 y3
28
2. Перестановки
Это преобразование, которое показывает, на какую позицию в выходном блоке должен попасть стоящий на определенной позиции символ входной последовательности (рис. 3.2).
Перестановка элементов блока
3. Сложение блока с подключем
Ei 1 Ei Ki
29
Учебный ППШ
30