416

Исследование частотных свойств шифра простой замены

Лабораторная работа

Информатика, кибернетика и программирование

Набрать текст (или ввести в ALFAVIT из файла) в Блокноте (порядка 100 букв), исключить пробелы, знаки препинания и заменить заглавные буквы на строчные. Построить вариационный ряд (упорядочить буквы по убыванию вероятности).

Русский

2013-01-06

718.5 KB

48 чел.

Московский Энергетический Институт

(Технический Университет)

Отчет: Лабораторная работа №5

«Исследование частотных свойств шифра простой замены»

Выполнил: Васильев Василий

Проверил: Рытов А.А.

Москва

2011

  1.  Набрать текст (или ввести в“ALFAVIT” из файла)  в “ Блокноте” (порядка 100 букв), исключить пробелы, знаки препинания и заменить заглавные буквы на строчные.

Создал

  1.  Провести анализ текста (опции  «Посчитать» и «H»), выделить и зафиксировать наиболее информативные признаки (3-4 наибольших значения и их положение относительно друг друга) полученного распределения.

  1.  Для  значения КЕ = (N+3)mod11+2, где N – номер по списку в группе, зашифровать текст и вновь провести анализ. Сравнить полученные результаты.

Сдвигаем на 8 и зашифровываем

Количество букв осталось такое, только сдвинулось на 8 знаков

  1.  Построить вариационный ряд (упорядочить буквы по убыванию вероятности), сравнить с распределением частот русского языка из лабораторной работы №1.

Загрузил свою вероятность появления букв.

Загрузил вероятность появления букв в русском языке (из 1й лабораторной)

Сравниваем.

  1.  Расшифровать предлагаемый текст СN (N- номер по списку группы), используя наиболее вероятное распределение частот появления букв в тексте на русском языке (пробел в программе ALFAVIT исключен из анализа).

  1.  Используя результаты п.5, определить ключ расшифрования KD.

ключ расшифрования 19

  1.  Открыть пакет "Математика" и прочитать (ReadList)  первые 10 букв из файла п.1.

Прочитал

  1.   С помощью функции FromCharacterCode перевести коды ASCII в символы.

Перевел

  1.   Создать строку, содержащую первые пять символов русского алфавита и с помощью функции ToCharacterCode определить коды представления русского алфавита.

Ок!

  1.  Перевести символы вектора п.7 из кодов ASCII в UNICOD и вновь вывести с помощью FromCharacterCode ( числовые диапазоны для кодировок можно найти в The Mathematica Book : CharacterCodes).

  1.  Используя пример (шаблон) для латинского алфавита сформировать программу, реализующую шифр Цезаря для русского алфавита с вводом данных из файла. С помощью функции ToCharacterCode и FromCharacterCode пакета "Математика", преобразующих символы в  ASCII коды и обратно ( код буквы a-97, код буквы b-98 и т.д.), можно задать шифр Цезаря с помощью следующей функции:                                         CaesarCipher[plaintext_, key_]:= FromCharacterCode[ Mod[ ToCharacterCode[plaintext] - 97 +key, 26] + 97]

Пример использования: CaesarCipher[plaintext_, key_]:= FromCharacterCode[ Mod[ ToCharacterCode[plaintext] - 97 +key, 26] + 97]

plaintext="typehereyourplaintextinsmallletters";

key=24;

CaesarCipher[plaintext,key]

Rwncfcpcwmspnjyglrcvrglqkyjjjcrrcpq

  1.   Реализовать расшифровку заданного в п.5 файла CN методом силовой   атаки (использовать первые 40 символов текста). 

Пример     для латинского алфавита : ciphertext="yhaklwpnw";

Table[CaesarCipher[ciphertext,-key],{key,1,26}].

  1.   Разработать модификацию шифра Цезаря: для четных номеров по списку группы  – "Аффинная система подстановок ", для нечетных - "Система Цезаря с ключевым словом".
  2.   Построить три совмещенные по вертикали диаграммы распределения  символов текста из п1.:
    •  исходный открытый текст;
    •  текст, зашифрованный с помощью основного алгоритма Цезаря на ключе  КЕ = (N+3)mod11+2
    •  текст, зашифрованный на произвольном ключе с помощью модифицированного алгоритма.


 

А также другие работы, которые могут Вас заинтересовать

41394. Базы данных SQL 121.5 KB
  LEFT OUTER JOIN RIGHT OUTER JOIN FULL OUTER JOIN INSERT INSERT SELECT INSERT UNIQUEIDENTIFIER IDENTITY INSERT defult deciml вычисляемые столбцы Время дата .
41395. Базы данных. Индексы 126 KB
  Индекс: всегда связан с таблицейс подмножеством столбцов таблицы. Индекс: предназначен для ускорения поиска строк в таблице по индексируемым столбцам Индекс: Microsoft SQL Server бывают кластерные некластерные просто индексы. Некластерный индекс: физически находится отдельно от таблицы список значений индексируемого столбца столбцов в определенном порядке с указателем на строку в таблице; список как правило бинарное дерево поиска.
41397. Базы данных. Повышение производительности запроса. 359 KB
  Query Optimizer: вычисляет несколько планов не все запроса на основе статистики метаданных информации о индексах и др.; на основе статистики предполагает стоимости запроса по различным планам и выбирает план с минимальными затратами на использование ресурсов помещает его кэш; как правило планы хранящиеся в кэше используются повторно. Стоимость запроса: числовая величина характеризующая степень использования ресурсов; Эффективность плана: наличие индексов или сканирование; статистика о распределении данных как правило...
41398. Базы данных. Программные интерфейсы с базой данных 483 KB
  ADO.NET: архитектура, модель поставщиков данных (провайдеров) ADO.NET: Data Provider - набор классов ADO.NET, позволяющих получить доступ к базе определенного типа (MS SQL Server, Oracle, DB2, MySQL) данных (выполнять sql-команды, и извлекать данные). ADO.NET: Data Provider включает следующие классы:
41399. Базы данных. Секционирование таблиц и индексов 67.5 KB
  Секционирование: поддерживается не всеми редакциями Microsoft SQL Server 2008 а только Enterprise Edition Developer Edition. Секционирование: в разных СУБД реализовано поразному; в Orcle очень развита эта технология. Секционирование: в Microsoft SQL Server 2008 все таблицы и индексы секционированы по умолчанию таблица или индекс находятся в одной секции; секции базовая структура данных совместно со страницами и экстентами.
41400. Базы данных. Введение в базы данных 2.98 MB
  Введение в базы данных План лекции определить понятие база данных; сформулировать основные требования к базе данных; ознакомиться с основными принципами построения проектирования базы данных; ознакомиться с основными моделями данных; ознакомится с основами теории реляционных баз данных. База данных: хранилище систематизированных данных. Компьютерные базы данных: базы данных использующие электронные носители для хранения данных и специальные программные средства для...
41401. Программирование в Internet Active X Data Objects (ADO.NET) 225.5 KB
  NET модель доступа к данным применяемая приложениями NET. Connection(XXXConnection, установка соединения с источником данных, реализует интерфейс IDbConnection); Command(выполнение sql-команд и хранимых процедур); DataReader(доступ к данным для чтения, извлеченным по запросу); DataAdapter(наполнение DataSet информацией, выполнение изменений в базе данных, выполненных в DataSet).