Вход

Программная реализация шифра Виженера

Рекомендуемая категория для самостоятельной подготовки:
Курсовая работа*
Код 292080
Дата создания 30 июня 2014
Страниц 24
Мы сможем обработать ваш заказ (!) 25 апреля в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
1 050руб.
КУПИТЬ

Описание

.. ...

Содержание

Содержание
ВВЕДЕНИЕ 4
1 Описание шифра Виженера 5
1.1 История создания шифра 5
1.2 Описание шифра 6
2 Реализация шифра Виженера 11
2.1 Блок-схема алгоритма шифрования, дешифрования Виженера 11
2.2 Программный код алгоритма, реализованный на языке программирования С#...................................................................................................................................15
2.3 Результат работы программы: шифрование (дешифрование) 20
ЗАКЛЮЧЕНИЕ 22
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 23

Введение

По мере развития и усложнения средств, методов и форм автоматизации процессов обработки информации повышается зависимость общества от степени безопасности используемых им информационных технологий, которая определяется степенью защищенности и устойчивости как компьютерных систем в целом, так и отдельных программ.
Для обеспечения защиты информации в настоящее время не существует какого-то одного технического приема или средства, однако общим в решении многих проблем безопасности является использование криптографии и криптоподобньгх преобразований информации.
Шифр Виженера – одно из интресных явлений в истории криптографии. На протяжении длительного времени (около трёхсот лет) данный метод шифрования являлся неуязвимым для взлома и принёс большую пользу различным государствам, которые исполь зовали его в военной сфере и в дипломатии. Главное преимущество шифра Виженера - простота для понимания и реализации, при этом он является недоступным для простых методов криптоанализа. Кроме того, данный шифр имеет несколько вариантов реализации, что также делает его более криптостойким.
В данном курсовом проекте произведена характеристика и осуществлена программная реализация шифрования и дешифрования шифром Блез де Виженера .

Фрагмент работы для ознакомления

Для зашифровывания может использоваться таблица алфавитов, называемая tabula recta или квадрат (таблица) Виженера. Применительно к латинскому алфавиту таблица Виженера составляется из строк по 26 символов, причём каждая следующая строка сдвигается на несколько позиций. Таким образом, в таблице получается 26 различных шифров Цезаря. На каждом этапе шифрования используются различные алфавиты, выбираемые в зависимости от символа ключевого слова. Например, предположим, что исходный текст имеет вид:ATTACKATDAWNЧеловек, посылающий сообщение, записывает ключевое слово («LEMON») циклически до тех пор, пока его длина не будет соответствовать длине исходного текста:LEMONLEMONLEПервый символ исходного текста A зашифрован последовательностью L, которая является первым символом ключа. Первый символ Lшифрованного текста находится на пересечении строки L и столбца A в таблице Виженера. Точно так же для второго символа исходного текста используется второй символ ключа; то есть второй символ шифрованного текста X получается на пересечении строки E и столбца T. Остальная часть исходного текста шифруется подобным способом.Исходный текст: ATTACKATDAWNКлюч: LEMONLEMONLEЗашифрованный текст: LXFOPVEFRNHRКвадрат Виженера, или таблица Виженера, также известная как tabula recta, может быть использована для шифрования и расшифрования. Пример данной таблицы изображён на рисунке 1.Рисунок 1 - «Tabula recta» - таблица шифрования методом ВиженераРасшифровывание производится следующим образом: находим в таблице Виженера строку, соответствующую первому символу ключевого слова; в данной строке находим первый символ зашифрованного текста. Столбец, в котором находится данный символ, соответствует первому символу исходного текста. Следующие символы зашифрованного текста расшифровываются подобным образом.Если буквы A-Z соответствуют числам 0-25, то шифрование Виженера можно записать в виде формулы:Расшифровка:2 Реализация шифра Виженера2.1 Блок-схема алгоритма шифрования, дешифрования ВиженераРисунок 2 – Блок-схема алгоритма шифрования ВиженераПродолжение рисунка 2Продолжение рисунка 2Продолжение рисунка 2Рисунок 3 – Блок-схема алгоритма дешифрования ВиженераПродолжение рисунка 3Продолжение рисунка 3Продолжение рисунка 3Продолжение рисунка 32.2 Программный код алгоритма, реализованный на языке программирования С#using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;namespace Vig{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { textBox1.Clear(); textBox2.Clear(); string[] mas = { "а", "б", "в", "г", "д", "е", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ь", "Ы", "Ъ", "Э", "Ю", "Я" }; string[,] matrica = new string[mas.Length, mas.Length]; { for (int i = 0; i < mas.Length; i++) { for (int j = 0; j < mas.Length; j++) { matrica[i, j] = mas[(j + i) % mas.Length]; } } } string key = ""; StreamReader sr = new StreamReader("key.txt", Encoding.Default); string line; while ((line = sr.ReadLine()) != null) { key += line; } int[] keyInt = new int[key.Length]; string[] keyTextVMetod = new string[key.Length]; for (int i = 0; i < key.Length; i++) { keyTextVMetod[i] = Convert.ToString(key[i]); } for (int i = 0; i < key.Length; i++) { for (int y = 0; y < mas.Length; y++) { if (keyTextVMetod[i] == mas[y]) { keyInt[i] = y; break; } } } List<string> strokiFailaVMetod = new List<string>(); StreamReader fr = new StreamReader("Opentext.txt", Encoding.Default); string line2; while ((line2 = fr.ReadLine()) != null) { strokiFailaVMetod.Add(line2); } List<string> strokiShifraVMetod = new List<string>(); bool flag = false; int shagKey = 0; for (int i = 0; i < strokiFailaVMetod.Count; i++) { string peremennaiaStrokaShifra = ""; string peremennaiaStrokaFaila = strokiFailaVMetod[i]; for (int y = 0; y < peremennaiaStrokaFaila.Length; y++) { flag = false; for (int u = 0; u < mas.Length; u++) { if (Convert.ToString(peremennaiaStrokaFaila[y]) == mas[u]) { peremennaiaStrokaShifra += matrica[keyInt[shagKey % key.Length], u]; flag = true; shagKey++; break; } } if (flag == false) { peremennaiaStrokaShifra += Convert.ToString(peremennaiaStrokaFaila[y]); } } strokiShifraVMetod.Add(peremennaiaStrokaShifra); } { for (int i = 0; i < strokiFailaVMetod.Count; i++) { if (i == strokiFailaVMetod.Count - 1) { textBox1.Text += strokiFailaVMetod[i]; break; } textBox1.Text += strokiFailaVMetod[i] + (char)13 + (char)10; } } { for (int i = 0; i < strokiShifraVMetod.Count; i++) { if (i == strokiShifraVMetod.Count - 1) { textBox2.Text += strokiShifraVMetod[i]; break; } textBox2.Text += strokiShifraVMetod[i] + (char)13 + (char)10; } } } private void button2_Click(object sender, EventArgs e) { textBox1.Clear(); textBox2.

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

1) Соколов С.В., Серпенинов О.В., Тищенко Е.Н. Криптографическая защита информации (для специальности 075300 «Организация и технология защиты информации»). - Учебное пособие. МОН РФ, 2010 г.
2) Петров А.А «Компьютерная безопасность. Криптографические методы защиты» ДМК Москва, 2000 г.
3) "Методы и средства защиты информации" (курс лекций) Авторские права: Беляев А.В. (http://www.citforum.ru/internet/infsecure/index.shtml)
4) Соколов С.В., Серпенинов О.В., Тищенко Е.Н. Криптографическая защита информации (для специальности 075300 «Организация и технология защиты информации»). - Учебное пособие. МОН РФ, 2010 г.
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00492
© Рефератбанк, 2002 - 2024