Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Основы криптоанализа

Автор:   •  Ноябрь 11, 2020  •  Практическая работа  •  4,138 Слов (17 Страниц)  •  299 Просмотры

Страница 1 из 17

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное

 учреждение высшего образования

 «Омский государственный технический университет»

Радиотехнический факультет

Кафедра «Комплексная защита информации»

Отчет по Практическому занятию № 2

дисциплины «История отрасли»

Тема: «Основы криптоанализа»

Выполнил студент гр. КЗИ-202  Симонова П.А.

Проверил преподаватель:

Асс. Цырульник В.Ф.

Омск 2020


СОДЕРЖАНИЕ

1.        Задание        3

2.        Описание выбранного метода шифрования        4

3.        Листинг программы        5

4.        Пример реализации        11


  1. Задание

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


  1. Описание выбранного метода шифрования

Аффинный шифр — это частный случай более общего моноалфавитного шифра подстановки, в котором каждая буква в алфавите сопоставляется с ее числовым эквивалентом, зашифровывается с помощью простой математической функции и преобразуется обратно в букву. В аффинном шифре каждой букве алфавита размера m ставится в соответствие число из диапазона 0… m-1. Затем при помощи специальной формулы, вычисляется новое число, которое заменит старое в шифртексте.
Процесс шифрования можно описать следующей формулой:
[pic 1],
где x — номер шифруемой буквы в алфавите; m — размер алфавита; a, b — ключ шифрования.
Для расшифровки вычисляется другая функция:
[pic 2],
где a-1 — число обратное a по модулю m. Это значит, что для корректной расшифровки число a должно быть взаимно простым с m.
С учетом этого ограничения вычислим пространство ключей аффиного шифра на примере английского алфавита. Так как английский алфавит содержит 26 букв, то в качестве a может быть выбрано только взаимно простое с 26 число. Таких чисел всего двенадцать: 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 и 25. Число b  в свою очередь может принимать любое значение в интервале от 0 до 25, что в итоге дает нам 12*26 = 312 вариантов возможных ключей.


  1. Листинг программы

using System.Collections.Generic;

namespace Aphine_decoder

{

    class Program

    {

        static string start = "";

        static string alphabet = "abcdefghijklmnopqrstuvwxyz";

        static double[] frequencyRate = new double[26];

        static bool[] DoubleLetter = new bool[26];

        static bool[] AfterApostroph = new bool[26];

        static bool[,] One_two_threeLettersWord = new bool[26, 3];

        static Dictionary<char, int> change = new Dictionary<char, int>();

        static Dictionary<char, char> codeLetters = new Dictionary<char, char>() { { ' ', ' ' }, { '’', '’' }, { '-', '-' }, { ',', ',' }, { '.', '.' } };

        static void Main(string[] args)

        {

            for (int i = 0; i < 26; i++)

            {

                change.Add(alphabet[i], i);

            }//filling in a dictionary with symbol-number parity

            //for example "a - 0", "b - 1", etc.

            EnterLogo();//------------------------------------Сделай какое-нибудь красивове вступление и описание того, что должен делать пользователь, чтобы расшифровать текст

...

Скачать:   txt (15 Kb)   pdf (255.2 Kb)   docx (97.2 Kb)  
Продолжить читать еще 16 страниц(ы) »
Доступно только на Essays.club