Безопасность алгоритмов

Различные алгоритмы предоставляют различные степени безопасности в зависимости от того, насколько трудно взломать алгоритм. Если стоимость взлома алгоритма выше, чем стоимость зашифрованных данных, вы, скорее всего, в безопасности. Если время взлома алгоритма больше, чем время, в течение которого заши ф-рованные данные должны сохраняться в секрете, то вы также, скорее всего, в безопасности . Если объем дан­ных, зашифрованных одним ключом, меньше, чем объем данных, необходимый для взлома алгоритма, и тогда вы, скорее всего, в безопасности.

Я говорю "скорее всего", потому что существует вероятность новых прорывов в криптоанализе. С другой стороны, значимость большинства данных падает со временем . Важно, чтобы значимость данных всегда оста­валась меньше, чем стоимость взлома системы безопасности, защищающей данные .

Ларе Кнудсен (Lars Knudsen) разбил вскрытия алгоритмов по следующим категориям, приведенным в п о-рядке убывания значимости [858]:

1. Полное вскрытие.Криптоаналитик получил ключ, К, такой, что DK(C) = Р.

2. Глобальная дедукция.Криптоаналитик получил альтернативный алгоритм, А, эквивалентный DK(C) без знания К.

3. Местная (или локальная) дедукция.Криптоаналитик получил открытый текст для перехваченного шифротекста.


4. Информационная дедукция.Криптоаналитик получил некоторую информацию о ключе или откр ы-том тексте. Такой информацией могут быть несколько бит ключа, сведения о форме открытого текста и так далее.

Алгоритм является безусловно безопасным,если, независимо от объема шифротекстов у криптоаналитика, информации для получения открытого текста недостаточно . По сути, только шифрование одноразовыми блок­нотами (см. раздел 1.5) невозможно вскрыть при бесконечных ресурсах. Все остальные криптосистемы под­вержены вскрытию с использованием только шифротекста простым перебором возможных ключей и прове р-кой осмысленности полученного открытого текста. Это называется вскрытием грубой силой(см. раздел 7.1).

Криптография больше интересуется криптосистемами, которые тяжело взломать вычислительным способом . Алгоритм считается вычислительно безопасным(или, как иногда называют, сильным), если он не может быть взломан с использованием доступных ресурсов сейчас или в будущем . Термин "доступные ресурсы" явля­ется достаточно расплывчатым. Сложность вскрытия можно измерить (см раздел 11.1) различными способ ами:

1. Сложность данных.Объем данных, используемых на входе операции вскрытия .

2. Сложность обработкиВремя, нужное для проведения вскрытия. Часто называется коэффициентом работы.

3. Требования к памяти.Объем памяти, необходимый для вскрытия.

В качестве эмпирического метода сложность вскрытия определяется по максимальному из этих трех коэфф и-циентов. Ряд операций вскрытия предполагают взаимосвязь коэффициентов : более быстрое вскрытие возможно за счет увеличения требований к памяти.

Сложность выражается порядком величины. Если сложность обработки для данного алгоритма составляет 2128, то 2128 операций требуется для вскрытия алгоритма. (Эти операции могут быть сложными и длительными.) Так, если предполагается, что ваши вычислительные мощности способны выполнять миллион операций в с е-кунду, и вы используете для решения задачи миллион параллельных процессоров, получение ключа займет у вас свыше 1019 лет, что в миллиард раз превышает время существования вселенной .

В то время, как сложность вскрытия остается постоянной (пока какой-нибудь криптоаналитик не придумает лучшего способа вскрытия), мощь компьютеров растет. За последние полвека вычислительные мощности ф е-номенально выросли, и нет никаких причин подозревать, что эта тенденция не будет продолжена . Многие крип­тографические взломы пригодны для параллельных компьютеров: задача разбивается на миллиарды маленьких кусочков, решение которых не требует межпроцессорного взаимодействия . Объявление алгоритма безопасным просто потому, что его нелегко взломать, используя современную технику, в лучшем случае ненадежно. Хор о-шие криптосистемы проектируются устойчивыми к взлому с учетом развития вычислительных средств на много лет вперед.