Частотный анализ: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
м робот добавил: ca, de, el, es, fr, he, hu, it, ja, nl, pl, pt, sv, zh
Описание: Исправил слово
 
(не показано 35 промежуточных версий 26 участников)
Строка 1: Строка 1:
'''Частотный анализ''', '''частотный криптоанализ''' — один из методов [[Криптоанализ|криптоанализа]], основывающийся на предположении о существовании нетривиального статистического распределения отдельных символов и их последовательностей, как в открытом тексте, так и в шифротексте, которое, с точностью до замены символов, будет сохраняться в процессе шифрования и дешифрования.
'''Частотный анализ''' — это один из методов [[Криптоанализ|криптоанализа]] [[Шифротекст|шифротекстов]]. В частности это процедура [[Кодирование|кодирования]], основанная на систематической замене одних букв другими, поскольку средняя [[Частота|частота]], с которой встречаются буквы какого-либо языка, более или менее постоянна.


Упрощённо, частотный анализ предполагает, что [[частотность]] появления заданной буквы алфавита в достаточно длинных текстах одна и та же для разных текстов одного языка. При этом, в случае [[Шифр простой замены|моноалфавитного шифрования]], если в [[шифротекст]]е будет символ с аналогичной вероятностью появления, то можно предположить, что он и является указанной зашифрованной буквой. Аналогичные рассуждения применяются к биграммам (двубуквенным последовательностям), триграммам и т. д. в случае [[полиалфавитный шифр|полиалфавитных шифров]].
== Описание ==
Утверждается, что для какого-либо языка частота встречаемости отдельных букв в осмысленном тексте есть устойчивая [[Величина|величина]]. Устойчивыми также являются комбинации двух, трех (биграммы, триграммы) и четырех букв. Этот факт, в частности, использовался в криптографии для вскрытия [[Шифр|шифров]].


[[Метод]] частотного анализа известен уже больше тысячи лет. Тайные шифры встречаются в детективах, приключенческих книгах. У [[По, Эдгар Аллан|Эдгара По]] — «Золотой жук», у [[Дойль, Артур Конан|Конан Дойля]] — «Пляшущие человечки», у [[Верн, Жюль|Жюль Верна]] «Дети капитана Гранта» и т.д
Метод частотного криптоанализа известен с IX века (работы [[Ал-Кинди]]), хотя наиболее известным случаем его применения в реальной жизни, возможно, является дешифровка египетских [[Иероглиф|иероглифов]] [[Шампольон, Жан-Франсуа|Ж.-Ф. Шампольоном]] в 1822 году. В художественной литературе наиболее известными упоминаниями являются рассказы «[[Золотой жук (рассказ)|Золотой жук]]» [[По, Эдгар Аллан|Эдгара По]], «[[Пляшущие человечки]]» [[Дойль, Артур Конан|Конан Дойля]], а также роман «[[Дети капитана Гранта]]» [[Верн, Жюль|Жюль Верна]].


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


== Описание ==
Безусловно, при использовании компьютера частотный анализ значительно ускоряется. Поэтому большинство ранних методов шифрования устарели. Не будем забывать, что некоторые из первых компьютеров предназначались для взламывания немецких кодов во время [[Вторая мировая война|Второй мировой войны]].
Используется тот факт, что вероятность появления отдельных букв, а также их порядок в словах и фразах естественного языка подчиняются статистическим закономерностям: например, пара стоящих рядом букв «ся» в русском языке более вероятна, чем «цы», а «[[оь]]» в русском языке не встречается вовсе (зато часто встречается, например, в [[чеченский язык|чеченском]]). Анализируя достаточно длинный текст, зашифрованный методом замены, можно по частотностям появления символов произвести обратную замену и восстановить исходный текст.


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


Идея состоит в подсчёте чисел вхождений каждой ''n''<sup>''m''</sup> возможных m-грамм в достаточно длинных открытых текстах ''T=t<sub>1</sub>t<sub>2</sub>…t<sub>l</sub>'', составленных из букв алфавита ''{a<sub>1</sub>, a<sub>2</sub>, , a<sub>n</sub>}''. При этом просматриваются подряд идущие m-граммы текста:
Вероятность появления отдельных букв, а также их порядок в словах и фразах естественного языка подчиняются статистическим закономерностям: например, пара стоящих рядом букв «ся» в русском языке более вероятна, чем «цы», а «оь» не встречается вовсе. Анализируя достаточно длинный текст, зашифрованный методом замены, можно по частотам появления символов произвести обратную замену и восстановить исходный текст.


''t<sub>1</sub>t<sub>2</sub>…t<sub>m</sub>, t<sub>2</sub>t<sub>3</sub> t<sub>m+1</sub>, , t<sub>i-m+1</sub>t<sub>l-m+2</sub>…t<sub>l</sub>''.
Частотный метод породил требование равномерного распределения символов в шифртексте. Сегодня принципы частотного анализа широко применяются в программах по подбору паролей и позволяют на несколько порядков сократить время поиска.


Если ''L (a<sub>i1</sub>a<sub>i2</sub> a<sub>im</sub>)'' — число появлений m-граммы ''a<sub>i1</sub>a<sub>i2</sub>…a<sub>im</sub>'' в тексте ''T'', а ''L'' — общее число подсчитанных m-грамм, то при достаточно больших ''L'' частотности ''L (a<sub>i1</sub>a<sub>i2</sub> a<sub>im</sub>)/ L'', для данной m-граммы мало отличаются друг от друга.
==Частотные характеристики текстовых сообщений==
Как упоминалось выше, важными характеристиками текста являются повторяемость букв (количество различных букв в каждом языке ограничено), пар букв, т.е.''m'' (m-грамм), сочетаемость букв друг с другом, чередование гласных и согласных и некоторые другие особенности. Примечательно, что эти характеристики являются достаточно устойчивыми.


В силу этого, относительную частотность считают приближением вероятности ''P (a<sub>i1</sub>a<sub>i2</sub>…a<sub>im</sub>)'' появления данной m-граммы в случайно выбранном месте текста (такой подход принят при статистическом определении вероятности).
Идея состоит в подсчете чисел вхождений каждой ''n''<sup>''m''</sup> возможных m-грамм в достаточно длинных открытых текстах ''T=t<sub>1</sub>t<sub>2</sub>...t<sub>l</sub>'', составленных из букв алфавита ''{a<sub>1</sub>, a<sub>2</sub>, ..., a<sub>n</sub>}''. При этом просматриваются подряд идущие m-граммы текста:


В общем случае частотность букв в процентном выражении можно определить следующим образом: подсчитывается, сколько раз она встречается в шифротексте, затем полученное число делится на общее число символов шифротекста; для выражения в процентах, полученный результат умножается на 100.
''t<sub>1</sub>t<sub>2</sub>...t<sub>m</sub>, t<sub>2</sub>t<sub>3</sub>... t<sub>m+1</sub>, ..., t<sub>i-m+1</sub>t<sub>l-m+2</sub>...t<sub>l</sub>''.


Частотность существенно зависит, однако, не только от длины текста, но и от его характера. Например, в техническом тексте обычно редкая буква Ф может появляться гораздо чаще. Поэтому для надёжного определения средней частотности букв желательно иметь набор различных текстов.
Если ''L (a<sub>i1</sub>a<sub>i2</sub> ... a<sub>im</sub> )'' число появлений m-граммы ''a<sub>i1</sub>a<sub>i2</sub>...a<sub>im</sub>'' в тексте ''T'', а ''L'' общее число подсчитанных m-грамм, то при достаточно больших ''L'' частоты ''L (a<sub>i1</sub>a<sub>i2</sub> ... a<sub>im</sub> )/ L'', для данной m-граммы мало отличаются друг от друга.

В силу этого, относительную частоту считают приближением вероятности ''P (a<sub>i1</sub>a<sub>i2</sub>...a<sub>im</sub>)'' появления данной m-граммы в случайно выбранном месте текста (такой подход принят при статистическом определении вероятности).

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

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


== См. также ==
== См. также ==
* [[Шифр Плейфера]]

*[[Шифр Плейфера]]
* [[Шифр Виженера]]
* [[Полиалфавитный шифр]]
*[[Шифр Виженера]]
* [[Частотность]]
*[[Полиалфавитный шифр]]
* [[Криптоанализ]]
*[[Частотность]]
*[[Криптоанализ]]


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

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


== Ссылки ==
== Ссылки ==
* [http://www.statsoft.ru/home/portal/exchange/textanalysis.htm Анализ текстов]
* [https://web.archive.org/web/20131213121450/http://www.statistica.ru/local-portals/data-mining/analiz-tekstov/ Анализ текстов]


[[Категория:Информационная безопасность|*]]
[[Категория:Криптография]]
[[Категория:Криптография]]

[[ca:Anàlisi de frequències]]
[[de:Häufigkeitsanalyse]]
[[el:Ανάλυση Συχνότητας Γλώσσας]]
[[en:Frequency analysis]]
[[es:Análisis de frecuencias]]
[[fr:Analyse fréquentielle]]
[[he:ניתוח תדירויות (קריפטוגרפיה)]]
[[hu:Gyakoriságelemzés]]
[[it:Analisi delle frequenze]]
[[ja:頻度分析 (暗号)]]
[[nl:Frequentieanalyse (cryptografie)]]
[[pl:Atak statystyczny]]
[[pt:Análise de frequência]]
[[sv:Frekvensanalys]]
[[uk:Частотний аналіз (криптологія)]]
[[zh:频率分析]]

Текущая версия от 13:54, 9 декабря 2022

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

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

Метод частотного криптоанализа известен с IX века (работы Ал-Кинди), хотя наиболее известным случаем его применения в реальной жизни, возможно, является дешифровка египетских иероглифов Ж.-Ф. Шампольоном в 1822 году. В художественной литературе наиболее известными упоминаниями являются рассказы «Золотой жук» Эдгара По, «Пляшущие человечки» Конан Дойля, а также роман «Дети капитана Гранта» Жюль Верна.

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

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

Как упоминалось выше, важными характеристиками текста являются повторяемость букв (количество различных букв в каждом языке ограничено), пар букв, то есть 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 с.