creep9 (663382), страница 2

Файл №663382 creep9 (Анализ криптостойкости методов защиты информации в операционных системах Microsoft Window 9x) 2 страницаcreep9 (663382) страница 22016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

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

1.2 Потоковые шифры

Рассматриваемый нами криптоалгоритм RC4 относится к классу потоковых шифров, которые в последнее время стали популярными благодаря высокой скорости работы. Потоковые шифры преобразуют открытый текст в шифротекст по одному биту за операцию. Генератор потока ключей (иногда называемый генератором с бегущим ключом) выдает поток битов: k1, k2, k3, ..., ki. Этот поток ключей и поток битов открытого текста, p1, p2, p3, ..., pi, подвергаются операции “исключающее или", и в результате получается поток битов шифротекста.

ci =pi ^ ki

При дешифрировании операция XOR выполняется над битами шифротекста и тем же самым потоком ключей для восстановления битов открытого текста.

pi = ci ^ ki

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

Рис. 2. Потоковый шифр.

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

Г
енератор потока ключей состоит из трех основных частей. Внутреннее состояние описывает текущее состояние генератора потока ключей. Два генератора потока ключей, с одинаковым ключом и одинаковым внутренним состоянием, выдают одинаковые потоки ключей. Функция выхода по внутреннему состоянию генерирует бит потока ключей. Функция следующего состояния по внутреннему состоянию генерирует новое внутреннее состояние.

Рис. 3. Устройство генератора потока ключей.

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

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

Р
ис. 4. Самосинхронизирующийся генератор потока ключей.

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

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

1.3 Алгоритм RC4 и его криптоанализ

Существенное повышение производительности микропроцессоров в 1980-е годы вызвало в криптографии усиление интереса к программным методам реализации криптоалгоритмов как возможной альтернативе аппаратным схемам на регистрах сдвига. Одним из самых первых подобных криптоалгоритмов, получившим широкое распространение, стал RC4. Алгоритм RC4 - это потоковый шифр с переменной длиной ключа, разработанный в 1987 году Рональдом Райвистом для компании RSA Data Security. Он обладает следующими свойствами:

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

• алгоритм быстрый, т.е. в базисных вычислительных операциях операторы работают на полных словах данных.

• адаптивностью на процессоры различных длин слова.

• компактностью в терминах размера кода, и особо удобен для процессоров с побайтно-ориентированной обработкой.

• низким требованием к памяти, что позволяет реализовывать алгоритм на устройствах с ограниченной памятью;

• использованием циклических сдвигов, зависимых от данных, с "переменным" числом.

• простотой и легкостью выполнения.

В течение семи лет этот алгоритм был фирменным секретом и детали о его конструкции предоставлялись только после подписания договора о неразглашении, но в сентябре 1994 года кто-то анонимно распространил исходный код алгоритма через Internet. Пользователи Сети, имеющие легальные криптосредства фирмы RSA, реализующие RC4, подтвердили совместимость кода с криптопрограммой. В настоящее время алгоритм RC4 реализован в десятках коммерческих криптографических продуктов, включая Lotus Notes, Apple Computer's AOCE, Oracle Secure SQL, а также является частью спецификации стандарта сотовой связи CDPD.

Криптогенератор функционирует независимо от открытого текста. Генератор имеет подстановочную таблицу (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,

Характеристики

Тип файла
Документ
Размер
411,5 Kb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6635
Авторов
на СтудИзбе
294
Средний доход
с одного платного файла
Обучение Подробнее