Криптография - статьи

       

Выбор параметров криптографических алгоритмов и ключей


Потоковые шифры основываются на псевдослучайных (случайных) ключевых последовательностях - сгенерированных определенным образом последовательностях символов с заданными свойствами непредсказуемости (случайности) появления очередного символа. Генераторы ключевых последовательностей обычно базируются на комбинациях регистров сдвига и нелинейных булевых функциях.

Генераторы ключевых последовательностей характеризуются:

  • периодом повторения последовательности;
  • статистическими свойствами порождаемых последовательностей;
  • криптографической стойкостью генератора ключевой последовательности.

Если используется потоковое шифрование, тогда минимальный период должен удовлетворять условию: TΩ>>Tmax * V * n,(1)


где TΩ - минимальный период повторения последовательности,

Tmax - максимальное время непрерывной работы КСЗИ,

V - скорость передачи в канале связи,

t - разрядность последовательности на выходе генератора ключевой последовательности.

Безопасность любого алгоритма сосредоточена в ключе. Если используется криптографически слабый процесс для генерации ключей, то криптосистема в целом слаба. Злоумышленнику не нужно криптоанализировать алгоритм шифрования, он может криптоанализировать алгоритм генерации ключей.

Теоретически, любой шифровальный алгоритм с использованием ключа может быть вскрыт методом перебора всех значений ключа. Если ключ подбирается методом грубой силы (brute force), требуемая мощность компьютера растет экспоненциально с увеличением длины ключа. Ключ длиной в 32 бита требует 232 (около 109) шагов.

Тогда минимальную длину ключа в битах Nmin можно вычислить по формуле:

                  (2)

где T - время жизни передаваемых данных (определяется в соответствии с законодательством по степени секретности передаваемых данных). Хотя информация может устареть сразу после передачи ее по каналу связи. В этом случае время жизни передаваемых данных должно выбираться не менее 48 часов.


V - скорость подбора ключей, зависит от класса алгоритма шифрования и используемых злоумышленником ресурсов и может колебаться от 103 до 106 и выше, при использовании суперЭВМ либо распределенных вычислений.

- оператор округления до ближайшего большего целого.

Следует учесть, что некоторые алгоритмы могут иметь эквивалентные ключи (в иностранной литературе их называют ключи-дополнения) K* такие, что выполняется равенство:

f −1(C, K)=f −1(C, K*)=f*(C, K*)=P,                  (3)

где f* - функция, при использовании эквивалентного ключа K* , дающая такой же результат, как и функция расшифрования f −1 алгоритма.

При этом может оказаться, что злоумышленнику требуется перебрать только некоторую часть множества ключей.

Пример для режима наложения гаммы:

f(P, K)=P⊕Γ=C , тогда легальный пользователь вычислит f −1(C, K)=C⊕Γ=P .

Злоумышленник может найти такой ключ
и вычислить


В данном случае, эквивалентным ключом является инверсия основного ключа, а f* - инверсия функции сложения по модулю 2.

В итоге злоумышленнику необходимо вместо 2m операций перебора выполнить 2m-1 операций, где m - разрядность ключевой комбинации.

С учетом вышесказанного перепишем формулу (2) в виде:

                  (4)

Ψ - коэффициент, учитывающий наличие эквивалентных ключей. Для алгоритмов шифрования на основе гаммирования Ψ=2÷3 .

Для вычисления Ψ для других алгоритмов криптографической защиты информации необходимо проводить исследования для выявления эквивалентных ключей.

Следует учесть, что вычислительная мощь вычислительных средств удваивается каждые 18÷24 месяцев (Δt = 1,5÷2 года) - эмпирический закон Мура. Если необходимо, чтобы ключи были устойчивы к вскрытию грубой силой в течение 5 лет, то необходимо соответствующим образом планировать использование ключей.

С учетом вышесказанного перепишем формулу (4) в виде:

                  (5)



где [T']=[год]

Δt - срок, за который вычислительная мощь вычислительных средств удваивается (параметр удвоения), год.

Следует учесть, что параметр Δt нужно время от времени пересматривать, особенно в периоды смены поколений микросхем и внедрения новых достижений в технологии.

Пока обоснованным выглядит представление динамики роста вычислительной мощи со следующими значениями параметра удвоения: Δt = 2 года в период с 1971 г. по 1993 г., Δt = 4 года в период с 1993 г. по 1999 г. и Δt = 0.6 года от 1999 г.

Но эти числа дают только часть ответа. Дело в том, что машина заведомо раскрывающая ключ за год, имеет 8% шанс раскрыть ключ за месяц. Если при этом ключ меняют 1 раз в месяц, то есть 8% вероятность раскрыть ключ еще во время его использования.

Более того, пусть есть машина, отыскивающая ключ за месяц, а ключ меняется каждый час. Несмотря на то, что вероятность найти данный ключ за час всего 0,14%, вероятность найти правильный ключ до его смена за месяц использования такой схемы = 63%, причем эта цифра не зависит от частоты смена ключа.

Т.о. частая смена ключей позволяет разве что минимизировать последствия взлома системы, но во многих системах это все равно недопустимый риск.

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


Содержание раздела