Анализ криптостойкости методов защиты информации в операционных системах Microsoft Window 9x
Категория реферата: Рефераты по информатике, программированию
Теги реферата: конспект урока по русскому языку, реферат по социологии
Добавил(а) на сайт: Rjawin.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата
Криптогенератор функционирует независимо от открытого текста.
Генератор имеет подстановочную таблицу (S-бокс 8 х 8): S0, S1, . . ., S255.
Входами генератора являются замененные по подстановке числа от 0 до 255, и
эта подстановка является функцией от ключа изменяемой длины. Генератор
имеет два счетчика i и j, инициализируемых нулевым значением.
Для генерации случайного байта гаммы выполняются следующие операции: i = (i+1) mod 256 j = (j+Si) mod 256 swap (Si, Sj) t = (Si+Sj) mod 256
K = St
Байт K складывается операцией XOR с открытым текстом для выработки
шифротекста, либо с шифротекстом для получения байта открытого текста.
Шифрование происходит весьма быстро - примерно в 10 раз быстрее DES-
алгоритма. Инициализация S-бокса столь же проста. На первом шаге он
заполняется линейно:
S0 = 0, S1 = 1, . . ., S255 = 255.
Затем еще один 256-байтный массив полностью заполняется ключом, для
чего ключ повторяется соответствующее число раз в зависимости от длины: K0,
K1, . . ., K255. Индекс j обнуляется. Затем: for i=0 to 255 j = (j+Si+Ki) mod 256 swap (Si , Sj)
Схема показывает, что RC4 может принимать примерно 21700 (256! * 2562) возможных состояний. S-бох медленно изменяется в процессе работы: параметр i обеспечивает изменение каждого элемента, а j отвечает за то, чтобы эти элементы изменялись случайным образом. Фактически, RC4 представляет собой семейство алгоритмов, задаваемых параметром n, который является положительным целым с рекомендованным типичным значением n = 8.
Внутреннее состояние генератора RC4 в момент времени t состоит из
таблицы St =(St(L))t=0n2 -1, содержащей 2n n-битных слов и из двух n-битных
слов-указателей it и jt. Таким образом, размер внутренней памяти составляет
M = n2n + 2n бит. Пусть выходное n-битное слово генератора в момент t
обозначается как Zt.
Пусть начальные значения i0 = j0 = 0. Тогда функция следующего состояния и функция выхода RC4 для каждого t ? 1 задается следующими соотношениями: it = it-1 + 1 jt = jt-1 + St-1(it)
St(it) = St-1(jt)
St(jt) = St-1(it)
Zt = St(St(it) + St(jt)), где все сложения выполняются по модулю 2n. Подразумевается, что все слова, кроме подвергаемых перестановке, остаются теми же самыми. Выходная последовательность n-битных слов обозначается как Zt =(Zt )t=1( .Начальная таблица S0 задается в терминах ключевой последовательности
K = (KL)t=02n -1
с использованием той же самой функции следующего состояния, начиная от таблицы единичной подстановки (L)2n L=02n -1. Более строго, пусть j0 = 0 и для каждого 1 ? t ? 2n вычисляется jt = (jt - 1 + St-1(t-1) + Kt-1) mod 2 n, а затем переставляются местами St-1(t-1) и St-1(jt).
На последнем шаге порождается таблица, представляющая S0. Ключевая последовательность K составляется из секретного ключа, возможно повторяющегося, и случайного ключа, передаваемого в открытом виде в целях ресинхронизации.
До последнего времени в открытой литературе практически не было
публикаций по криптоанализу алгоритма RC4. Компания RSA Data Security
объявила, что шифр обладает иммунитетом к методам линейного и
дифференциального криптоанализа, высоко не линеен и не похоже, чтобы у него
были короткие циклы. Обычно цитируется заключение закрытой работы
криптографа RSA Labs Мэтта Робшоу: "Не имеется известных слабых ключей и, хотя нет доказательства для нижней границы периодов последовательностей
RC4, проведенный теоретический анализ показывает, что период в подавляющем
большинстве случаев превышает 10100. Тщательный и всеобъемлющий анализ
стойкости RC4 не выявил никаких оснований подвергать сомнению стойкость, обеспечиваемую генератором RC4".
Первой открытой публикацией можно считать работу Йована Голича, представленную на конференции Eurocrypt '96. В ней отмечается, что для последовательностей, генерируемых RC4, не подходят методы статистического анализа. Но, с другой стороны, как показано в работах, для блоков, размер которых превышает M (размер внутренней памяти генератора), всегда существует линейная статистическая слабость или так называемая "линейная модель". Такую модель можно эффективно определять с помощью метода аппроксимации линейной последовательной схемой. Линейная статистическая слабость - это линейное соотношение между битами гаммы, которое выполняется с вероятностью, отличающейся от 1/2.
Главная цель работы Голича - с помощью метода АЛПС вывести линейные
модели для RC4. Метод АЛПС заключается в нахождении и решении
последовательной линейной схемы, которая аппроксимирует генератор гаммы и
приводит к линейным моделям с относительно большим корреляционным
коэффициентом c, где вероятность соответствующего линейного соотношения
между битами гаммы составляет (1+ c)/2. При анализе использовалась техника
двоичных производных. Пусть Z = (Zt)t=1( обозначает последовательность
самых младших бит слов выхода RC4, и пусть Z/=( Z/t = Zt+ Zt+1) t=1( и
Z//=( Z//t = Zt+ Zt+2) t=1( обозначают ее первую и вторую двоичные
производные, соответственно. Показано, что Z/ не коррелирует ни с 1, ни с
0, но Z// коррелирует с 1 с корреляционным коэффициентом, близким к 15*2-3n
при больших 2n, где n – длина ключа. Поскольку длина выходной
последовательности, требуемая для выявления статистической слабости с
корреляционным коэффициентом c, составляет O(c-2), то эта длина равна
примерно 64n /225. Например, если n = 8, как рекомендуется в большинстве
приложений, то требуемая длина близка к 240.
Результаты компьютерных экспериментов согласуются с теоретическими предсказаниями. Поскольку результирующий коэффициент корреляции существенно превышает величину 2M/2, то установленную линейную модель следует рассматривать как статистическую слабость генератора, по крайней мере в теоретическом аспекте.
В 1997 году опубликована большая работа Йована Голича, посвященная
криптоанализу обобщенной схемы комбинирующего узла с произвольным размером
памяти. Исследованы корреляционные свойства таких узлов, обоснованы новые
конструктивные критерии, предъявляемые к схемам подобного типа. Разработан
эффективный метод аппроксимации линейной последовательной схемой для
построения линейных функций от входа и выхода со сравнительно большим
коэффициентом взаимной корреляции. Это практичная процедура, позволяющая с
высокой вероятностью находить пары взаимно коррелированных линейных функций
(от самое большее M + 1 последовательных выходных бит и самое большее M + 1
последовательных векторов входа) со сравнительно большими коэффициентами
корреляции. Метод АЛПС состоит в задании и решении линейной
последовательной схемы (ЛПС), которая аппроксимирует комбинирующий узел с
памятью. Эта ЛПС имеет добавочные несбалансированные входы и основана на
линейных аппроксимациях функции выхода и всех компонент функции следующего
состояния. Линейная аппроксимация булевой функции - это любая линейная
функция, с которой заданная булева функция скоррелирована. Описанный метод
применим к произвольным комбинирующим узлам с памятью без ограничений на
функции выхода и следующего состояния.
Сначала отыскиваются линейные аппроксимации функции выхода f и каждой
из функций-компонент функции следующего состояния F. Это эквивалентно
выражению каждой из этих M+1 функций в виде суммы линейной функции и
несбалансированной функции. Если подлежащая декомпозиции функция уже
несбалансированна, то можно выбрать константно-нулевую линейную функцию.
Если подлежащая декомпозиции функция статистически независима от некоторого
подмножества переменных, то каждая линейная аппроксимация с необходимостью
должна задействовать по крайней мере одну из переменных этого подмножества.
Основное требование – чтобы соответствующие корреляционные коэффициенты
отличались от нуля. Также желательно, чтобы выбирались линейные
аппроксимации с корреляционными коэффициентами, абсолютные значения которых
близки к максимальным. Корреляционные коэффициенты можно определять с
помощью техники преобразования Уолша.
На следующем шаге, получив линейные аппроксимации, в матричной форме записывают базовые уравнения комбинирующего узла с памятью
St+1 = ASt + BXt + ((Xt, St), t?0, yt = CSt + DXt + ((Xt, St), t ?0, где векторы рассматриваются как матрицы-столбцы; A, B, C, D - двоичные матрицы; а ( и каждый компонент в D = (d1, . . . , dM) – несбалансированные булевы функции, именуемые функциями шума. Основная идея состоит в том, чтобы рассматривать {((Xt ,St)}t=0( и {((Xt ,St)}t=0( , 1?i?M, в качестве входных последовательностей, так что последние уравнения оказываются задающими неавтономную линейную машину с конечным числом состояний или ЛПС, именуемую АЛПС комбинирующего узла с памятью. Тогда можно решать эту ЛПС с использованием техники производящих функций (D-преобразований). В частности, пусть S, X, (, (, y обозначают производящие функции от переменной z для последовательностей {St}, {Xt}, ((Xt, St)}, ( (Xt, St)}, yt}, соответственно. Тогда уравнения сводятся к виду
Решение имеет вид
где I - единичная матрица, det(zA - I) = ((z), ((0) = 1, - многочлен, обратный к характеристическому многочлену матрицы переходов A степени, не превышающей ранг A (?M); а элементы (присоединенной) матрицы adj(zA - I) - это полиномы от z степени не более M-1. Вычислительная сложность для отыскания такого решения составляет O(M3(N+1)). В другом виде решение можно переписать как
Рекомендуем скачать другие рефераты по теме: конспект по русскому языку, банк курсовых работ бесплатно.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 11 | Следующая страница реферата