Автор: Пользователь скрыл имя, 13 Сентября 2013 в 21:36, курсовая работа
Система Диффи-Хеллмана - это первая система, которая позволила защищать информацию без использования секретных ключей, передаваемых по защищенным каналам. Шифр, предложенный Шамиром, был первым позволяющим организовать обмен секретными сообщениями по открытой линии связи для лиц, которые не имеют ни каких защищенных каналов и секретных ключей и возможно ни когда не видели друг друга. Шифр предложенный Эль-Гамалем. Решает задачу, используя в отличие от шифра Шамира только одну пересылку сообщения. Фактически здесь используется схема Диффи-Хельмана, чтобы сформировать общий секретный ключ для 2 абонентов передающих друг другу сообщение, и затем сообщение шифруется путем умножения его на этот ключ. Для каждого следующего сообщения секретный ключ вычисляется заново.
Введение…………………………………………………………………………..
1.Задание 1……………………………………………………………………......4
1.1.Задача 1……………………………………………………………………......
1.2.Задача 2………………………………………………………………………..6
2.Задание 2…………………………………………………………………….... 10
2.1.Задача 1……………………………………………………………………….10
2.2.Задача 2……………………………………………………………………….11
2.3.Задача 3……………………………………………………………………….15
Заключение……………………………………………………………………….18
Список литературы……………………………………………………………....19
Содержание:
Введение…………………………………………………………
1.Задание
1……………………………………………………………………...
1.1.Задача 1……………………………………………………………………...
1.2.Задача 2………………………………………………………………………..
2.Задание
2……………………………………………………………………...
2.1.Задача 1……………………………………………………………………….
2.2.Задача 2……………………………………………………………………….
2.3.Задача 3……………………………………………………………………….
Заключение……………………………………………………
Список литературы…………………………………
Введение
Система Диффи-Хеллмана - это первая
система, которая позволила
1 Задание 1
1.1 Задача 1. Несимметричное шифрование – дешифрование.
Зашифровать информацию по методу RSA для последующей передачи. Вариант задания определяется последними цифрами номера студенческого билета. По номеру i (предпоследняя цифра) студент выбирает сообщение для зашифровывания, по j – требуемые для реализации этого алгоритма числа р и q.
Таблица1.1 Исходные данные для числа g:
i |
7 |
Сообщение |
Корень |
g |
3 |
p q |
3, 11 |
Одним из наиболее распространенных методов несимметричного шифрования - дешифрования является метод шифрования с открытым ключом, в котором используется алгоритм RSA.
Алгоритм основан на использовании операции возведения в степень модульной арифметики. Его можно представить в виде следующей последовательности шагов:
Шаг 1. Выбирается два больших простых числа р и q. Простыми называются числа, которые делятся на самих себя и на 1. На практике для обеспечения криптостойкости системы величина этих чисел должна быть длиной не менее двухсот десятичных разрядов.
Шаг 2. Вычисляется открытая компонента ключа n: n = р q.
Шаг 3. Находится функция Эйлера по формуле: f(р q.)=(р-1)(q-1)
Функция Эйлера показывает количество целых положительных чисел от1 до n, которые не имеют ни одного общего делителя, кроме 1.
Шаг 4. Выбирается число е, которое должно взаимно простым со значением функции Эйлера и меньшим, чем f(р q.)
Шаг 5. Определяется число d, удовлетворяющее соотношению
е * d(mod f(р q.))=1. Числа е и n принимаются в качестве открытого ключа.
В качестве секретного ключа используются числа d и n.
Шаг 6. Исходная информация независимо от её физической природы представляется в числовом двоичном виде. Последовательность бит разделяется на блоки длиной L бит, где L – наименьшее целое число, удовлетворяющее условию
L ³ log2(n.+1); Каждый блок рассматривается как целое положительное число X(i), принадлежащее интервалу (0, n-1). Таким образом, исходная информация представляется последовательностью чисел X(i), (i = 1.I). Значение I определяется длиной шифруемой последовательности.
Шаг 7. Зашифрованная информация получается в виде последовательности чисел Y(i)= (Y(i)) e (mod n).
Шаг 8. Для расшифрования информации используется следующая зависимость: Х(i)= (Y(i)) e (mod n).
Рассмотрим числовой пример применения метод RSA для криптографического закрытия информации, в котором для простоты вычислений использованы минимально возможные числа. Пусть требуется зашифровать сообщение на русском языке Корень.
Сообщение: Корень
Числа p и q – 3 и 11
1) Вычислим открытую компоненту
ключа: n=p*q=3*11=33
3) Выберем число е по следующей формуле: е * 3(mod 20)=1; e=7
Числа е и n принимаются в качестве открытого ключа, d и n используются в качестве секретного ключа.
Таблица1.2 Позиции букв в алфавите:
Буквы алфавита |
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
Й |
К |
Л |
М |
Н |
О |
П |
Р |
Номер буквы |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
Буквы алфавита |
С |
Т |
У |
Ф |
Х |
С |
Ч |
Ш |
Щ |
Ъ |
Ы |
Ь |
Э |
Ю |
Я |
||
Номер буквы |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
4) Представим шифруемое
5) Для представления чисел в
двоичном виде требуется 6 двоичных
разрядов, так как в русском
алфавите используются 33 буквы, поэтому
исходный текст имеет вид:
6) Длина блока L определяется как
минимальное число из целых чисел, удовлетворяющих
условию L ³ log2(33+1); L=7
Y5 = (147) mod 33 = 20
Y6 = (297) mod 33 = 17
Зашифрованное сообщение: 11, 27, 8, 30, 20, 17
8) Расшифруем полученные данные,
используя закрытый ключ {3,33}:
Y1 = (113) mod 33 = 11
Y5 = (203) mod 33 = 14
Y6 = (173) mod 33 = 29
Данные расшифрованы, сопоставим последовательность <11,15,17,6,14,29> с последовательностью букв нашего алфавита. Получили слово КОРЕНЬ.
1. 2 Задача 2. Хеширование и цифровая подпись документов.
Используя данные задания 2, получить хеш – код m для сообщения М при помощи хеш-функции Н, взятой из рекомендаций МККТТ Х.509. Вектор инициализации Н0 выбрать равным нулю.
Вычислить цифровую подпись методом RSA под электронным документом М, используя рассчитанный хеш – код m и секретный ключ d.
Хеш-функцию МККТТ Х.509 запишем следующим образом:
Hi=[(Hi-1 Å Mi)2] (mod n), где i=l,n, H0 – вектор инициализации, Мi =М1,М2,М3…,Мn - -длина блока.
Все блоки делят пополам и к каждой половине прибавляют равноценное количество единиц. С преобразованными таким образом блоками производят интеграционные действия.
1) Получить значение модуля: n=p*q=3*11=33
2) Представить сообщение в виде номеров букв русского алфавита в десятичном и двоичном видах:
К |
О |
Р |
Е |
Н |
Ь |
11 |
15 |
17 |
6 |
14 |
29 |
00001011 |
00001111 |
00010001 |
00000110 |
00001110 |
00011101 |
3) Разбить байт пополам, добавив в начало полубайта единицы и получить хешируемые блоки Мi:
M1 |
M2 |
M3 |
M4 |
M5 |
M6 |
11110000 |
11111011 |
11110000 |
11111111 |
11110001 |
11110001 |
M7 |
M8 |
M9 |
M10 |
M11 |
M12 |
11110000 |
11110110 |
11110000 |
11111110 |
11110001 |
11111101 |
4) Выполнить интеративные шаги:
Первая интерация
М1 |
11110000 |
Å |
|
Н0=0 |
00000000 |
Н0 Å М1 |
11110000=24010 |
[(H0Å M1)2] (mod 33) |
2402 mod 33 = 9 |
Н1 |
910=00001001 |
Вторая интерация
М2 |
11111011 |
Å |
|
Н1 |
00001001 |
Н1 Å М2 |
11110010=24210 |
[(H1Å M2)2] (mod 33) |
2422 mod 33 =11 |
Н2 |
00001011 |
Третья интерация
М3 |
11110000 |
Å |
|
Н2 |
00001011 |
Н2 Å М3 |
11111011=25110 |
[(H2Å M3)2] (mod 33) |
2512 mod 33 = 20 |
Н3 |
00010100 |
Четвертая интерация
М4 |
11111111 |
Å |
|
Н3 |
00010100 |
Н3 Å М4 |
11101011=23510 |
[(H3Å M4)2] (mod 33) |
2352 mod 33 = 4 |
Н4 |
00000100 |
Пятая интерация
М5 |
11110001 |
Å |
|
Н4 |
00000100 |
Н4 Å М5 |
11110101=24510 |
[(H4Å M5)2] (mod 33) |
2452 mod 33 = 14 |
Н5 |
00001110 |
Шестая интерация
М6 |
11110001 |
Å |
|
Н5 |
00001110 |
Н5 Å М6 |
11111111=25510 |
[(H5Å M6)2] (mod 33) |
2552 mod 33 =24 |
Н6 |
00011000 |
Седьмая интерация
М7 |
11110000 |
Å |
|
Н6 |
00011000 |
Н6 Å М7 |
11101000 = 23210 |
[(H6Å M7)2] (mod 33) |
2322 mod 33 = 1 |
Н7 |
00000001 |
Восьмая интерация
М8 |
11110110 |
Å |
|
Н7 |
00000001 |
Н7 Å М8 |
11110111= 24710 |
[(H7Å M8)2] (mod 33) |
2472 mod 33 = 16 |
Н8 |
00010000 |