Еще один генератор основан на проблеме рюкзака (см. раздел 19.2) [1363]. CRYPTO-LEGGO небезопасен [301]. Джоан Дэймен (Joan Daemen) разработала SubStream, Jam и StepRightUp [402], но они слишком новы, чтобы их комментировать. Множество других алгоритмов описано в литературе, но еще больше хранится в се к-рете и встроено в аппаратуру.
17.8 Системно-теоретический подход к проектированию потоковых шифров
На практике, проектирование потокового шифра во многом похоже проектирование блочного шифра . В этом случае используется больше математической теории, но в конце концов криптограф предлагает какую-то схему и затем пытается выполнить ее анализ.
Согласно Райнеру Рюппелу существует четыре различных подхода к проектированию потоковых шифров [1360, 1362]:
— Системно-теоретический подход. Используя ряд фундаментальных критериев и законов проектирования, пытается удостовериться, что каждая схема создает сложную и неизвестную проблему для криптоанал и-тика,.
— Информационно-теоретический подход. Пытается сохранить открытый текст в тайне от криптоаналитика. Независимо от того, как много действий выполнит криптоаналитик, он никогда не получит однозначного решения.
— Сложностно-теоретический подход. Пытается использовать в качестве основания для криптосистемы н е-которую известную и сложную проблему, такую как разложение на множители или взятие дискретных логарифмов, или сделать криптосистему эквивалентной этой проблеме .
— Рандомизированный подход. Пытается создать чрезвычайно большую проблему, заставляя криптоанал и-
тика проверить множество бессмысленных данных в ходе попыток криптоанализа .
Эти подходы отличаются предположениями о возможностях и способностях криптоаналитика, определением успеха криптоанализа и пониманием безопасности. Большинство исследований в этой области - теоретические, но среди бесполезных потоковых шифров есть и вполне приличные .
Системно-теоретический подход использовался во всех ранее приведенных потоковых шифрах, результатом его применения являются большинство используемых в реальном мире потоковых шифров . Криптограф разрабатывает генераторы потока ключей, обладающие проверяемыми характеристиками безопасности - периодом, распределением битов, линейной сложностью и т.д. - а не шифры, основанные на математической теории . Криптограф также изучает различные методы криптоанализа этих генераторов и проверяет, устойчивы ли ген е-раторы по отношению к этим способам вскрытия.
Со временем этот подход привел к появлению набора критериев проектирования потоковых шифров [1432, 99, 1357, 1249]. Они рассматривались Рюппелом в [1362], где он подробно приводит теоретические основы этих критериев.
— Длинный период без повторений.
— Критерий линейной сложности - большая линейная сложность , линейный профиль сложности, локальная линейная сложность и т.д.
— Статистические критерии, например, идеальные ^-мерные распределения.
— Путаница - каждый бит потока ключей должен быть сложным преобразованием всех или большинства битов ключа.
— Диффузия - избыточность в подструктурах должна рассеиваться, приводя к более "размазанной" стат и-стике.
— Критерии нелинейности для логических функций, такие как отсутствие корреляции от-го порядка, расстояние до линейных функций, лавинный критерий, и т.д.
Этот перечень критериев проектирования не уникален для потоковых шифров, разработанных с помощью системно-теоретического подхода, он справедлив для всех потоковых шифров . Это справедливо и для всех блочных шифров. Особенностью системно-теоретического подхода является то, что потоковые шифры неп о-средственно разрабатываются, чтобы удовлетворить этим критериям .
Главной проблемой таких криптосистем является невозможность доказать их безопасность, никогда не было доказано, что эти критерии проектирования необходимы или достаточны для безопасности . Генератор потока ключей может удовлетворять всем правилам разработки, но тем не менее оказаться небезопасным . Другой может оказаться безопасным. Этом процессе все еще остается что-то магическое.
С другой стороны вскрытие любого из этих генераторов потока ключей представляет собой отличную пр о-блему для криптоаналитика. Если будет разработано достаточно различных генераторов, может оказаться, что криптоаналитик не станет тратить время, взламывая каждый из них . Может, его больше заинтересует возможность прославиться, достигнув успеха, разлагая на множители большие числа или вычисляя дискретные лог а-рифмы.
17.9 Сложностно-теоретический подход к проектированию потоковых шифров
Рюппел также очертил сложностно-теоретический подход к проектированию потоковых шифров . В соответствии с ним криптограф пытается использовать теорию сложности, чтобы доказать его генераторы безопасны . Следовательно, генераторы должны быть как можно больше сложнее, основываясь на тех же трудных пробл е-мах, что и криптография с открытыми ключами. И, также как алгоритмы с открытыми ключами, они оказыв а-ются медленными и громоздкими.