На нашем сайте Вы сможете найти готовые курсовые и дипломные работы по программированию
Сейчас работаем

Шифр Цезаря и Виженера C#

 Задание на курсовую работу: Кодирование информации Разработать приложение для кодирования информации (шифр Цезаря, Виженера).

Описание:

     1.Шифр Цезаря — один из древнейших шифров. При шифровании каждый символ заменяется другим, отстоящим от него в алфавите на фиксированное число позиций. Шифр Цезаря можно классифицировать как шифр подстановки, при более узкой классификации — шифр простой замены. Шифр назван в честь римского императора Гая Юлия Цезаря, использовавшего его для секретной переписки. Естественным развитием шифра Цезаря стал шифр Виженера. С точки зрения современного криптоанализа, шифр Цезаря не имеет приемлемой стойкости.

      2.Шифр Виженера - это метод шифрования буквенного текста с использованием ключевого слова.

Этот метод является простой формой многоалфавитной замены. Шифр Виженера изобретался многократно. Впервые этот метод описал Джованни-Баттиста Беллазо (Giovan Battista Bellaso) в книге La cifra del. Sig. Giovan Battista Bellasо в 1553 году , однако в 19 веке получил имя Блеза Виженера , швейцарского дипломата. Метод прост для понимания и реализации, он является недоступным для простых методов криптоанализа.

     Квадрат Виженера или таблица Виженера, может быть использована для заширования и расшифрования.

В шифре Цезаря каждая буква алфавита сдвигается на несколько позиций; например в шифре Цезаря при сдвиге +3, A стало бы D, B стало бы E и так далее.

    Шифр Виженера состоит из последовательности нескольких шифров Цезаря с различными значениями сдвига. Для зашифрования может использоваться таблица алфавитов, называемая квадрат Виженера. Применительно к латинскому алфавиту таблица Виженера составляется из строк по 26 символов, причём каждая следующая строка сдвигается на несколько позиций. Таким образом, в таблице получается 26 различных шифров Цезаря.

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

     Например, предположим, что исходный текст имеет вид:

ATTACKATDAWN

Человек, посылающий сообщение, записывает ключевое слово("LEMON") циклически до тех пор, пока его длина не будет соответствовать длине исходного текста:

LEMONLEMONLE

   Первый символ исходного текста A зашифрован последовательностью L, которая является первым символом ключа. Первый символ L шифрованного текста находится на пересечении строки L и столбца A в таблице Виженера. Точно так же для второго символа исходного текста используется второй символ ключа; т.е. второй символ шифрованного текста X получается на пересечении строки E и столбца T. Остальная часть исходного текста шифруется подобным способом.

Пример:

Исходный текст:     ATTACKATDAWN

Ключ:        LEMONLEMONLE

Зашифрованный текст:          LXFOPVEFRNHRL

Фрагмент программного кода:

private void button1_Click(object sender, EventArgs e)//событие нажатия кнопки ВЫПОЛНИТЬ
        {
            textBox3.Clear();
            if (radioButton4.Checked)//если метод виженера
            {

                if (radioButton1.Checked)//действие - зашифровать
                {
                    textBox3.Text = "";//записываем результат
                                                              
                    //ШИФРОВАНИЕ Виженер
                    string input = "", key = "", key_temp = "";          
                    int mod = 0, number_of_letter;//счетчик количества текста
                    input = textBox2.Text;//возвращаем копию этой строки
                    key_temp = textBox1.Text;//возвращаем копию ключа шифрования
                    if (textBox2.Text != "" && textBox1.Text != "")
//если все исходные               данные введены
                    {
                        mod = input.Length % key_temp.Length;
//алгоритм шифрования:  переменной mod присваиваем значение введенного текста
                        for (int i = 0; i < (input.Length - mod) / key_temp.Length; i++)//просматриваем в цикле
                        {
                            key += key_temp;
                        }
                        for (int i = 0; i < mod; i++)
                        {
                            key += key_temp[i];
                        }
                        //определение значений
                        string[] input_mas = new string[input.Length];
                        int[] input_index = new int[input.Length];
                        string[] key_mas = new string[input.Length];
                        int[] key_index = new int[input.Length];
                        string[] encrypted_word = new string[input.Length];
                        for (int i = 0; i < input.Length; i++)
                        {
                            input_mas[i] = Convert.ToString(input[i]);
//конвертирование в строковое значение
                        }

Содержание архива

  • исходный код  на C# для Visual Studio 
  • Пояснительная записка (16 страниц)
Купить 2500,00 
Сразу после оплаты Вы получите работу на электронную почту. Файлы отправляются автоматически. Исходник программ Вы сможете отредактировать, как Вам нужно.
Комментарии (7)

klausms

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегистрированые пользователи имеют возможность комментировать работы
Другие работы автора
Тип Название Рейтинг Категория Стоимость
Исходник Нахождение эйлеровых циклов в графе С++ 0 C/C++ 800,00
Курсовая Автоматическое реферирование текста C# 5 .NET (C#) 3 700,00
Курсовая Автоматическое составление кроссвордов С++ 0 .NET (C#) 2 700,00
Исходник Алгоритм Рабина-Карпа C# 0 .NET (C#) 1 500,00
Исходник Алгоритм Хаффмана C# 22 .NET (C#) 3 500,00
Новые работы
Тип Название Рейтинг Категория Стоимость
Курсовая Игра 2048 С# new 0 .NET (C#) 2 500,00
Исходник ИС "Факультет" (C#, WinForms, Access) new 0 .NET (C#) 1 000,00
Исходник Ресторан (C#, ASP.NET Web Forms, SQL Server) new 0 .NET (C#) 5 000,00
Курсовая Учёт регламентных работ (C#, WPF, SQL Server) new 0 .NET (C#) 3 500,00
Другое Разработка АИС для обработки данных завода Volkswagen (C#, WinForms, Access) new -1 .NET (C#) 2 000,00
Купить

2500,00 

Сразу после оплаты Вы получите работу на электронную почту. Файлы отправляются автоматически. Исходник программ Вы сможете отредактировать, как Вам нужно.
29. Шифрование данных (методы цезаря. виженера).rar
633245
Оцени работу

рейтинг

Поделись работой с друзьями

Категории
Шифр Цезаря и Виженера C#
Шифр Цезаря и Виженера C#, исходник для Visual Studio
Категория: Образование
Стоимость: 2500,00