Системно-теоретический подход к проектированию потоковых шифров
На практике, проектирование потокового шифра во многом похоже проектирование блочного шифра. В этом случае используется больше математической теории, но в конце концов криптограф предлагает какую-то схему и затем пытается выполнить ее анализ.
Согласно Райнеру Рюппелу существует четыре различных подхода к проектированию потоковых шифров [1360, 1362]:
— Системно-теоретический подход. Используя ряд фундаментальных критериев и законов проектирования, пытается удостовериться, что каждая схема создает сложную и неизвестную проблему для криптоаналитика,.
— Информационно-теоретический подход. Пытается сохранить открытый текст в тайне от криптоаналитика. Независимо от того, как много действий выполнит криптоаналитик, он никогда не получит однозначного решения.
— Сложностно-теоретический подход. Пытается использовать в качестве основания для криптосистемы некоторую известную и сложную проблему, такую как разложение на множители или взятие дискретных логарифмов, или сделать криптосистему эквивалентной этой проблеме.
— Рандомизированный подход. Пытается создать чрезвычайно большую проблему, заставляя криптоаналитика проверить множество бессмысленных данных в ходе попыток криптоанализа.
Эти подходы отличаются предположениями о возможностях и способностях криптоаналитика, определением успеха криптоанализа и пониманием безопасности. Большинство исследований в этой области - теоретические, но среди бесполезных потоковых шифров есть и вполне приличные.
Системно-теоретический подход использовался во всех ранее приведенных потоковых шифрах, результатом его применения являются большинство используемых в реальном мире потоковых шифров. Криптограф разрабатывает генераторы потока ключей, обладающие проверяемыми характеристиками безопасности - периодом, распределением битов, линейной сложностью и т.д. - а не шифры, основанные на математической теории. Криптограф также изучает различные методы криптоанализа этих генераторов и проверяет, устойчивы ли генераторы по отношению к этим способам вскрытия.
Со временем этот подход привел к появлению набора критериев проектирования потоковых шифров [1432, 99, 1357, 1249]. Они рассматривались Рюппелом в [1362], где он подробно приводит теоретические основы этих критериев.
— Длинный период без повторений.
— Критерий линейной сложности - большая линейная сложность, линейный профиль сложности, локальная линейная сложность и т.д.
— Статистические критерии, например, идеальные k-мерные распределения.
— Путаница - каждый бит потока ключей должен быть сложным преобразованием всех или большинства битов ключа.
— Диффузия - избыточность в подструктурах должна рассеиваться, приводя к более "размазанной" статистике.
— Критерии нелинейности для логических функций, такие как отсутствие корреляции m-го порядка, расстояние до линейных функций, лавинный критерий, и т.д.
Этот перечень критериев проектирования не уникален для потоковых шифров, разработанных с помощью системно-теоретического подхода, он справедлив для всех потоковых шифров. Это справедливо и для всех блочных шифров. Особенностью системно-теоретического подхода является то, что потоковые шифры непосредственно разрабатываются, чтобы удовлетворить этим критериям.
Главной проблемой таких криптосистем является невозможность доказать их безопасность, никогда не было доказано, что эти критерии проектирования необходимы или достаточны для безопасности. Генератор потока ключей может удовлетворять всем правилам разработки, но тем не менее оказаться небезопасным. Другой может оказаться безопасным. Этом процессе все еще остается что-то магическое.
С другой стороны вскрытие любого из этих генераторов потока ключей представляет собой отличную проблему для криптоаналитика. Если будет разработано достаточно различных генераторов, может оказаться, что криптоаналитик не станет тратить время, взламывая каждый из них. Может, его больше заинтересует возможность прославиться, достигнув успеха, разлагая на множители большие числа или вычисляя дискретные логарифмы.
Дата добавления: 2021-01-26; просмотров: 336;