Программная реализация методы шифрования Цезаря и Вижинера

Автор работы: Пользователь скрыл имя, 23 Декабря 2013 в 20:24, курсовая работа

Краткое описание

Историческим примером шифра замены является шифр Цезаря (1 век до н.э.), описанный историком Древнего Рима Светонием. Гай Юлий Цезарь использовал в своей переписке шифр собственного изобретения. Применительно к современному русскому языку он состоял в следующем. Выписывался алфавит: А, Б, В, Г, Д, Е, ..., ; затем под ним выписывался тот же алфавит, но со сдвигом на 3 буквы влево.
Таким образом, можно утверждать, что основы криптологии были заложены еще в древности и, естественно, после многовекового развития нашли широкое применение в современной жизни.

Содержание

1. ВВЕДЕНИЕ……………………………………………………………………………………..3
1.1. Исторические основы криптологии………………………………………………… 4
1.2. Криптология в современном мире………………………………………………………..5
2. Криптология 7
2.1. Основные понятия криптологии 7
2.2. Требования к криптосистемам . 9
2.3. Симметрические криптосистемы………………………………………………………...10
2.3.1. Метод Цезаря………………………………………………………………………….12
2.3.2. Системы шифрования Вижинера…………………………………………………… 13
2.3.3. Гаммирование………………………………………………………………………….14
2.4. Криптография с открытым ключом………………………………………………………15
2.4.1. Система RSA…………………………………………………………………………..17
2.4.1.1. Генерация ключа………………………………………………………………….17
2.4.1.2. Шифрование/дешифрование……………………………………………………..18
2.4.2. Алгоритм Эль-Гамаля…………………………………………………………….…..19
2.4.2.1. Общие сведения…………………………………………………………………..19
2.4.2.2. Шифрование сообщений…………………………………………………………20
3. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ КРИПТОЛОГИИ…………………………………21
3.1. Цифровая подпись………………………………………………………………………...21
3.1.1. Общие положения…………………………………………………………………….21
3.1.2. Алгоритм DSA………………………………………………………………………...23
3.2. Алгоритм DES………………………………………………………………………….…25
3..2.1. Генерация ключа……………………………………………………………………..25
4. ПОСТАНОВКА И РЕШЕНИЕ ЗАДАЧИ………………………………………………….26
4.1. Краткая характеристика среды Visual Studio 2010………………………………….....26
4.2. Алгоритм решения задачи…………………………………………………………….....27
4.2.1. Модуль программы…………………………………………………………………..27
4.2.2. Модуль шифровании/дешифрования……………………………………………….27
4.2.3. Процедура кодирования символа…………………………………………………...30
4.3. Результаты работы программы……………………………………… ………………….31
ЗАКЛЮЧЕНИЕ…………………………………………………………………………………33
СПИСОК ЛИТЕРАТУРЫ……………………………………………………………………..34

Прикрепленные файлы: 1 файл

Программная реализация методы шифрования.doc

— 2.41 Мб (Скачать документ)

                        if (x[i] == alf2[u, g] && y[j] == alf[g])

                        {

                            x[i] = alf[u];

                            r1 = 1;

                            break;

                        }

                    }

                    if (r1 == 1)

                        break;

                }

                j++;

                progressBar1.Value++;

            }

            str = new string(x);

            textBox2.Text = str;

        }

4.2.3. Процедура кодирования символа Цезаря

for (int i = 0; i < x.Length; i++)

            {

                for (int j = 0; j < alf.Length; j++)

                {

                    if (x[i] == alf[j])

                    {

                        if (alf[j] == alf[alf.Length-1])

                        {

                            x[i] = alf[2];

                            break;

                        }

                        if(alf[j] == alf[alf.Length - 2])

                        {

                            x[i] = alf[1];

                            break;

                        }

                        if (alf[j] == alf[alf.Length - 3])

                        {

                            x[i] = alf[0];

                            break;

                        }

                        x[i] = alf[j+3];

                        break;

                    }

                }

               progressBar1.Value++;

            }

 

4.2.3. Процедура кодирования символа методом Вижинера

for (int i = 0; i < x.Length; i++)

            {

                if (prb == textBox3.TextLength)

                {

                    strk = strk + " ";

                    prb = 0;

                }

                prb++;

                if (j >= y.Length)

                    j = 0;

                    for (int u = 0; u < alf.Length; u++)

                    {

                        if (x[i] == alf[u])

                            r1 = u;

                        if (y[j] == alf[u])

                            r2 = u;

                    }

                    j++;

                    strk = strk + alf2[r1, r2];

               progressBar1.Value++;

            }

4.3. Результаты  работы программы

На рисунке 1 изображено окно авторской программы шифрования, реалии-зующей методы шифрования Цезаря и  Вижинера.

  1) Поле ввода исходного  текста

  2) Поле вывода или  ввода закодированного текста

  3) Кнопка кодирования  текста методом Цезаря

  4) Кнопка кодирования  текста методом Вижинера

  5) Кнопка декодирования  текста, закодированного методом  Цезаря

  6) Кнопка декодирования  текста, закодированного методом  Вижинера

  7) Кнопка с набором текста

  8) Поле ввода ключа  для метода Вижинера

  9) Поле прогресса  кодирования декодирования

10) Информация о программе

Рисунок 1. Окно авторской  программы шифрования текстов

 

На рисунке 2 показан  метод шифрования Цезаря.

 

Рисунок 2. Шифрование текста методом Цезаря

 

На рисунке 3 показан  работа  метода шифрования Вижинера.

Рисунок 3. Шифрование текста методом Вижинера

 

Заключение

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

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

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

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

 

Список литературы

1. Джеффри Рихтер CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#  2012.

2. Зиборов Виктор Visual C# 2010 на примерах – М.: Экономика, 2011.

3. Петров А.А. Компьютерная безопасность. Криптографические методы защиты. – М.: ДМК, 2000.

4. http://www.citforum.ru/internet/infsecure/index.shtml - Беляев А.В. "Методы и средства защиты информации" (курс лекций))

5. http://www.citforum.ru/internet/securities/crypto.shtml - Криптография


Информация о работе Программная реализация методы шифрования Цезаря и Вижинера