Как я могу разобрать зашифрованный параграф, используя анализ частоты?

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

GFSWMYOGLGDVSMFSFNKYHOSUESLLMRSPCWSBFGWPOLDMFRQMRSPLOGCPFUMUPCCSKSFOHDMPFOSXOGCOISLMESDMFRQMRSDGFRSFGQRIOGCPDDGFSLISSOGKLGMFUOISFWSNGQFOOISGNNQKKSFNSLGCSMNIDSOOSKWSNMDDOISEGLOCKSJQSFODYGNNQKKPFRDSOOSKOISCPKLOOISFSXOEGLOGNNQKKPFRDSOOSKOISLSNGFUOISCGDDGWPFREGLOGNNQKKPFRDSOOSKOISOIPKUMFULGGFQFOPDWSMNNGQFOCGKMDDOISUPCCSKSFODSOOSKLPFOISHDMPFOSXOLMEHDSOISFWSDGGBMOOISNPHISKOSXOWSWMFOOGLGDVSMFUWSMDLGNDMLLPCYPOLLYEAGDLWSCPFUOISEGLOGNNQKKPFRLYEAGDMFUNIMFRSPOOGOISCGKEGCOISCPKLODSOOSKGCOISHDMPFOSXOLMEHDSOISFSXOEGLONGEEGFLYEAGDPLNIMFRSUOGOISCGKEGCOISLSNGFUDSOOSKMFUOISCGDDGWPFREGLONGEEGFLYEAGDPLNIMFRSUOGOISCGKEGCOISOIPKUDSOOSKMFULGGFQFOPDWSMNNGQFOCGKMDDLYEAGDLGCOISNKYHOGRKMEWSWMFOOGLGDVS

Я не нуждаюсь в помощи по кодированию, но ищу идею, как разобрать это.

У меня уже есть английский словарь с 120 тыс. Слов, первые 15 тыс. Слов наиболее употребительны в английском языке. В настоящее время я пытаюсь решить эту проблему с помощью N-граммы и замены большинства используемых общих букв / используемых слов.
Цени любую идею / лучший способ сделать это.

Спасибо!

1

Решение

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

0

Другие решения

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

0

По вопросам рекламы [email protected]