Стойкость криптоалгоритмов
Принцип максимальной однородности
Сложностная неоднородность - количество задач, решение одной из которых нарушает безопасность системы.
Число задач, положенных в основу информационной системы, должно быть минимальным.
Стойкость - способность криптографических примитивов противостоять атакам. Она должна быть достаточной, чтобы обеспечить безопасность данных в течение некоторого срока. В количественном плане она отражает трудоемкость нарушения информационной безопасности.
Единицы измерения стойкости:
- временная сложность наилучшего алгоритма, нарушающего безопасность;
- требуемый объем памяти для вскрытия ключа;
- длительность вскрытия;
- стоимость вскрытия;
- физический объем вычислительной модели.
Классификация по уровню стойкости
1. безусловно стойкие - гарантированно не позволяют вскрыть ключ
Такое условие выполняется в случае, если длина ключа равна длине сообщения (шифры Вернера). Необходимым условием является то, что ключ не короче сообщения.
2. доказуемо стойкие - стойкость определяется сложностью решения массовой
математической задачи(криптография с открытым ключом).
3. предположительно стойкие - безопасность основана на решении частной задачи(симметричный шифр).
Время, в течение которого алгоритм остается безопасным, уменьшается из-за того, что растут вычислительные возможности, появляются новые методы. Оно вычисляется по формуле:
, где S - стойкость, T - текущий момент времени, t - интервал, на котором оценивается скорость падения S.
Пример Имеется ключ 50 бит
S(T) = 250
t = 10 лет
S(T+t) = 240
Вычислим время, в течение которого алгоритм будет безопасным:
в год
Это означает, что сложность будет каждый год падать на 2%.
Следовательно ключ 50 бит + 20% = 60 бит.