Автор работы: Пользователь скрыл имя, 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
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/
5. http://www.citforum.ru/
Информация о работе Программная реализация методы шифрования Цезаря и Вижинера