Лекции ЗИ_Э. Самарский государственный архитектурностроительный университет
Скачать 1.6 Mb.
|
4.3.Элементы криптоанализаЛюбая попытка со стороны злоумышленника расшифровать шифротекст C и получить открытый текст М не имея подлинного ключа, называется криптоаналитической атакой. Криптоанализ — наука о методах получения исходного значения зашифрованной информации, не имея доступа к секретной информации (ключу), необходимой для этого. В большинстве случаев под этим подразумевается нахождение ключа. Проще говоря, криптоанализ — это взламывание кода, хотя этот термин имеет и строго технические значение. Под термином «криптоанализ» также понимается попытка найти уязвимость в криптографическом алгоритме или протоколе. Хотя основная цель осталась неизменной с течением времени, методы криптоанализа претерпели значительные изменения, эволюционировав от использовния лишь ручки и бумаги до широкого применения вычислительных мощностей компьютеров в наши дни. Если раньше криптоаналитиками были большей частью лингвисты, то в наше время это удел «чистых» математиков. Один из широко используемых методов криптоанализа для недостаточно криптостойких алгоритмов заключается в анализе частотности символов, встречающихся в зашифрованном тексте. Особенностью большинства искусственных языков (и всех естественных) является то, что они имеют характерное частотное распределение букв и других знаков. При этом многие, недостаточно стойкие простейшие алгоритмы шифрования сохраняют частотность символов в тексте. В основном этот недостаток свойственен простейшим методам замены (например, шифру Цезаря и ему подобным). Это распределение частотности дает криптоаналитику путь к раскрытию шифра. Частотное распределение букв русского и английского алфавита в художественных текстах представлено ниже Исследовав шифротекст и обнаружив, что наиболее часто встречаемый в нем символ – это «Б», а второй по встречаемости - «К», криптоаналитик может сделать вывод, что символ «Б» это «Пробел», а «К» это буква «о». Таким образом, путем анализа частотности символов шифротекста и сравнения их с частотностями букв русского (английского) текста можно составить таблицу замен и дешифровать шифротекст. При вскрытии шифротекста необходимо иметь в виду, что отдельные буквы имеют примерно одинаковую частоту встречаемости в текстах. Например, буквы «а» и «е», «р» и «в», «л» и «с». Для таких букв сформированные замены могут оказаться неверными. В этом случае, необходим интеллектуальный эвристический анализ человеком полученного в результате дешифровки текста. Цель эвристического анализа – выявить те замены, которые оказались неверными (по смыслу текста), и сформировать верные замены. Принимая во внимание выше приведенный факт, следует отметить, что дешифровка путем составления таблицы замен сразу всех символов закрытого текста может вызвать проблемы. Как правило, производят дешифровку первых 15-20 наиболее часто встречаемых в шифротексте символов, далее делают интеллектуальные подмены, далее остальные символы дешифруют по смыслу теста (принимая во внимание их частотности).
При построении стойких шифров необходимо использовать два основных принципа – рассеивание и перемешивание [2]. Рассеивание предполагает распространение влияния одного знака открытого текста на множество знаков шифротекста, что позволяет скрыть статистические свойства открытого текста. Перемешивание предполагает использование таких шифрующих преобразований, которые усложняют восстановление взаимосвязи статистических свойств открытого текста и шифротекста. Обычно для достижения эффектов рассеивания и перемешивания используют шифры, реализованные в виде последовательности простых традиционных шифров, каждый из которых вносит свой вклад в суммарное рассеивание и перемешивание. Наиболее часто при этом используют традиционные шифры перестановки и замены. При многократном чередовании простых перестановок и замен, управляемых достаточно длинным секретным ключом, можно получить очень стойкий шифр с хорошим рассеиванием и перемешиванием. Большинство существующих стандартов шифрования построены в полном соответствии с данной методологией. Алгоритм, изложенный в стандарте DES (Data Encryption Standard), широко применялся до 2002 года для шифрования данных в США [11]. Он был разработан фирмой IBM для собственных целей, но после был рекомендован к применению в качестве федерального стандарта шифрования. Алгоритм DES не является закрытым и был опубликован для широкого ознакомления. Алгоритм предназначен для шифровки и расшифровки блоков данных длиной по 64 бита под управлением 64-битового ключа, в котором значащими являются 56 бит. Дешифрование в DES выполняется путем повторения операций шифрования в обратной последовательности. Обобщенная схема шифрования алгоритма DES представлена на рис. 4.4 Рис. 4.4. Обобщенная схема шифрования алгоритма DES Число различных ключей DES-алгоритма равно 256 = 7*1016 . Недавние исследования показали, что современная технология позволяет создать вычислительное устройство стоимостью около 1 млн. долларов, способное вскрыть секретный ключ с помощью полного перебора в среднем за 3,5 часа. В настоящее время криптостойкость алгоритма DES не удовлетворяет реальным потребностям, в связи с чем, данный алгоритм в настоящее время заменен в США на более стойкий алгоритм AES. Российская Федерация имеет свой собственный стандарт симметричного шифрования. Этот стандарт закреплен ГОСТом №28147-89, принятом в 1989 году в СССР [12]. Данный стандарт обязателен для организаций, предприятий и учреждений, применяющих криптографическую защиту данных, относящихся к государственной тайне, хранимых и передаваемых в сетях ЭВМ и в отдельных вычислительных комплексах. Помимо нескольких тесно связанных между собой процедур шифрования, в стандарте описан алгоритм выработки имитовставки. Имитовставка есть криптографическая контрольная комбинация, то есть код, вырабатываемый из исходных данных с использованием секретного ключа с целью имитозащиты, т.е. защиты данных от внесения в них несанкционированных изменений. Алгоритм предусматривает четыре режима работы:
В ГОСТе ключевая информация состоит из двух структур данных - собственно ключа, необходимого для всех шифров, и таблицы замен. Ключ является массивом из восьми 32-битных элементов кода (всего 256 бит). Имитовставка добавляется к зашифрованным данным для обеспечения их имитозащиты. Рассмотрим вопрос качества ключевой информации и источников ключей. Ключ должен являться массивом статистически независимых битов, принимающих с равной вероятностью значения 0 и 1. Если ключи вырабатываются с помощью генератора псевдослучайных чисел, то для отбраковки ключей с плохими статистическими характеристиками могут быть использованы различные статистические критерии. На практике обычно хватает двух критериев – для проверки равновероятного распределения битов ключа между значениями 0 и 1 обычно используется критерий «хи квадрат», а для проверки независимости битов ключа – критерий серий. |