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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
м робот изменил: no:Frekvensanalyse (kryptografi)
Описание: Исправил слово
 
(не показаны 22 промежуточные версии 18 участников)
Строка 1: Строка 1:
'''Частотный анализ''', '''частотный криптоанализ''' — один из методов [[Криптоанализ|криптоанализа]], основывающийся на предположении о существовании нетривиального статистического распределения отдельных символов и их последовательностей как в открытом тексте, так и в шифротексте, которое, с точностью до замены символов, будет сохраняться в процессе шифрования и дешифрования.
'''Частотный анализ''', '''частотный криптоанализ''' — один из методов [[Криптоанализ|криптоанализа]], основывающийся на предположении о существовании нетривиального статистического распределения отдельных символов и их последовательностей, как в открытом тексте, так и в шифротексте, которое, с точностью до замены символов, будет сохраняться в процессе шифрования и дешифрования.


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


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


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


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


Как упоминалось выше, важными характеристиками текста являются повторяемость букв (количество различных букв в каждом языке ограничено), пар букв, то есть''m'' (m-грамм), сочетаемость букв друг с другом, чередование гласных и согласных и некоторые другие особенности. Примечательно, что эти характеристики являются достаточно устойчивыми.
Как упоминалось выше, важными характеристиками текста являются повторяемость букв (количество различных букв в каждом языке ограничено), пар букв, то есть ''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-граммы текста:
Идея состоит в подсчёте чисел вхождений каждой ''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>''.
''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-граммы мало отличаются друг от друга.
Если ''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-граммы в случайно выбранном месте текста (такой подход принят при статистическом определении вероятности).
В силу этого, относительную частотность считают приближением вероятности ''P (a<sub>i1</sub>a<sub>i2</sub>…a<sub>im</sub>)'' появления данной m-граммы в случайно выбранном месте текста (такой подход принят при статистическом определении вероятности).


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


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


== См. также ==
== См. также ==
Строка 32: Строка 32:


== Литература ==
== Литература ==
* С.Коутинхо. Введение в теорию чисел. Алгоритм 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 freqüè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]]
[[no:Frekvensanalyse (kryptografi)]]
[[pl:Atak statystyczny]]
[[pt:Análise de frequência]]
[[sv:Frekvensanalys]]
[[uk:Частотний аналіз (криптологія)]]
[[vi:Phân tích tần suất]]
[[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 с.