next up previous contents
Next: Построение распределенных информационных систем Up: Анализ распределенных систем теоретико-модельными Previous: Теория использования мультиагентных систем   Contents

Экспериментальное исследование алгоритмов шифрования

С целью организации систем защиты и разграничения доступа к информационных ресурсов проводилось исследование алгоритмов шифрования.

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

Проведены экспериментальные исследования новой атаки на блоковые и потоковые шифры, которые позволило, в частности, выявить слабые места у некоторых известных алгоритмов, ранее считавшихся надежными. Проведены статистические исследования зашифрованных текстов для определения исходного ключа шифрования. В основе метода лежит адаптивный критерий $\chi^2$ (RSS).

При разработке процедур создания ключей шифрования RandomKey использовался класс Random для генерации псевдослучайных чисел. В качестве начальной точки при генерации последовательностей используется текущее время в виде миллисекунд, прошедших с 1 января 1970 года. Для каждого ключа формировалась итоговая совокупность, содержащая 400 псевдослучайных чисел из которой последовательно выбираются 16 символов принадлежащих заданному алфавиту. За одно выполнение процедуры получался случайный 128 битный ключ. С помощью процедуры RandomKey было создано 200 ключей.

Для исследования подготовлено сто произвольно выбранных текстовых файлов на английском и русском языках. Каждый файл на английском языке последовательно шифровался с каждым из первых ста подготовленных случайных ключей. Текущий ключ шифрования (для контроля исследований) дописывался в конец выходного файла. Тексты на русском языке шифровались аналогичным образом с ключами 101-200. Таким образом, для исследования было подготовлено по 10000 зашифрованных файлов для алгоритмов шифрования Rijndael, RC6 и выбранных языков с ключом 128 бит.

Исследования проводились на длинах последовательности $N=\{32,48,64\}$ байт. Последовательность разбивалась на слова (буквы) $8$ бит, что соответствует алфавиту, $A=\{a_1,a_2,...,a_k\}$ где $k=2^8$.

С помощью статистических тестов проверялись кандидаты европейского конкурса на стандарт потокового шифра eSTREAM. Были найдены потоковые шифры, для которых можно нашли отклонения от случайности в выходной последовательности. Это позволило не рекомендовать эти шифры к применению.

Исследования шифра RC6 на устойчивость к ``градиентной атаке'' показали, что эффективную атаку можно построить на 5 раунд шифра при длине выборки $2^{29}$ при отсутствии операции ``post-whitening''. Было показано, что, но к настоящему времени существуют более эффективные атаки на этот шифр. Изменение подхода к атаке была изменено, что позволило вскрывать 4 раунд шифра на выборке $2^{12}$, при этом необходимая сложность составит $2^{44}$. На текущий момент -- это наилучший результат. В последних работах по криптоанализу RC6 утверждается, что 4 раунд шифра можно взломать при наличии $2^{31}$ шифротекста и сложности вычислений $2^{85}$. Мы показали, что новая атака на RC6 намного более эффективна. Если прогнозировать на большее число раундов, то с помощью новой атаки можно найти секретный ключ для 18 раунда со сложностью $@^{158}$. После разработки новой атаки, была исследована её успешность. Показано экспериментально, что атака успешно находит правильный ключ в большинстве случаев, то есть не найдено ни одного ключа, который был бы не поддавался атаке (из 100 случайных ключей).