Частотный анализ

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая APTEM (обсуждение | вклад) в 11:39, 17 апреля 2010 (убрана категория «Криптоанализ» с помощью HotCat). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

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

Описание

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

Метод частотного анализа известен уже больше тысячи лет. Тайные шифры встречаются в детективах, приключенческих книгах. У Эдгара По — «Золотой жук», у Конан Дойля — «Пляшущие человечки», у Жюль Верна «Дети капитана Гранта» и т.д

Частотный анализ играет чрезвычайно важную роль при взломе шифров, а также при расшифровки древних надписей. Возможно, наиболее известным результатом в этой области служит расшифровка египетских иероглифов Дж.-Ф.Шампольоном в 1822 году. Ключом к расшифровке послужил камень Розетты. На камне один текст записан тремя способами: иероглифическим, демотическим и по-гречески.

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

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

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

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

Частотные характеристики текстовых сообщений

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

Идея состоит в подсчете чисел вхождений каждой nm возможных m-грамм в достаточно длинных открытых текстах T=t1t2...tl, составленных из букв алфавита {a1, a2, ..., an}. При этом просматриваются подряд идущие m-граммы текста:

t1t2...tm, t2t3... tm+1, ..., ti-m+1tl-m+2...tl.

Если L (ai1ai2 ... aim ) – число появлений m-граммы ai1ai2...aim в тексте T, а L – общее число подсчитанных m-грамм, то при достаточно больших L частоты L (ai1ai2 ... aim )/ L, для данной m-граммы мало отличаются друг от друга.

В силу этого, относительную частоту считают приближением вероятности P (ai1ai2...aim) появления данной m-граммы в случайно выбранном месте текста (такой подход принят при статистическом определении вероятности).

В общем смысле частоту букв в процентном выражении можно определить следующим образом: подсчитывается сколько раз она встречается в шифро-тексте, затем полученное число делится на общее число символов шифро-текста; для выражения в процентном выражении, еще умножается на 100.

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

См. также

Литература

  • Книга:С.Коутинхо. Введение в теорию чисел. Алгоритм RSA. Москва: Постмаркет, 2001. - 328 с.

Ссылки