39
Криптостойкость – стойкость шифра к раскрытию методами
криптоанализа. Она определяется вычислительной сложностью алго-
ритмов, применяемых для атаки на шифр. Вычислительная сложность
измеряется временной и емкостной сложностями [8].
Для определения сложности алгоритма с конкретной задачей
связывается число, называемое размером задачи, которое характери-
зует количество входных данных. Например, для задачи умножения
чисел размером может быть длина наибольшего из сомножителей.
Временная сложность (или просто сложность) – это время, за-
трачиваемое алгоритмом для решения задачи, рассматриваемое как
функция от размера задачи. Нередко сложность измеряют количест-
вом некоторых элементарных операций. Емкостная сложность –
объем памяти, необходимой для хранения полученных в ходе работы
данных, как функция от размера задачи.
Очень важное требование к стойкому шифру было сформулиро-
вано в XIX веке голландским криптографом Огюстом Керкгоффсом
(Auguste Kerckhoffs). В соответствии с ним, при оценке надежности
шифрования необходимо предполагать, что противник знает все об
используемой системе шифрования, кроме применяемых ключей.
Данное правило отражает важный принцип организации защиты ин-
формации: защищенность системы не должна зависеть от секретности
долговременных элементов (т. е. таких элементов, которые невоз-
можно было бы быстро изменить в случае утечки секретной инфор-
мации).
Существует несколько обобщенных постановок задачи криптоа-
нализа. Все они формулируются в предположении, что криптоанали-
тику известны применяемый алгоритм шифрования и полученные
криптограммы. Могут рассматриваться:
- атака при наличии только известной криптограммы;
- атака при наличии известного фрагмента открытого текста. В
этом случае, криптоаналитик имеет доступ к криптограммам, а также
к соответствующим некоторым из них исходным сообщениям. Зада-