Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Копия ЗАЧЁТКА 58.doc
Скачиваний:
55
Добавлен:
01.05.2015
Размер:
300.03 Кб
Скачать

Введение

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

Задача данной курсовой работы – научить студентов практическим навыкам ассиметричного и симметричного шифрования-дешифрования информации.

Задание № 1 Задача 1. Несимметричное шифрование – дешифрование.

Зашифровать информацию по методу RSA для последующей передачи. Вариант задания определяется последними цифрами номера студенческого билета. По номеру i (предпоследняя цифра) студент выбирает сообщение для зашифровывания, по j – требуемые для реализации этого алгоритма числа р и q.

Таблица1.1 Исходные данные для числа j:

I

5

Сообщение

Число

J

8

p q

11.17

    1. Методические указания к решению задания 1.1

Одним из наиболее распространенных методов несимметричного шифрования - дешифрования является метод шифрования с открытым ключом, в котором используется алгоритм 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 – 11 и 17

1) Вычислим открытую компоненту ключа: n=p*q=11*17=187

2) Определим функцию Эйлера:f(р q.)=(р-1)(q-1)=(11-1)(17-1)=160; Пусть d=7;

3) Выберем число е по следующей формуле: е * 7(mod 160)=1; e=23

Числа е и 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) Представим шифруемое сообщение как последовательность чисел в диапазоне от 0 до 32: 24 9 18 12 15

5) Для представления чисел в двоичном виде требуется 6 двоичных разрядов, так как в русском алфавите используются 33 буквы, поэтому исходный текст имеет вид: 011000 001001 010010 001100 001111

6) Длина блока L определяется как минимальное число из целых чисел, удовлетворяющих условию L  log2(187+1); L=8

7) Теперь зашифруем сообщение, используя открытый ключ {23,187}: Y1 = (2423) mod 187 = 63 Y2 = (923) mod 187 = 36 Y3 = (1823) mod 187 = 35 Y4 = (1223) mod 187 = 177

Y5 = (1523) mod 187 = 42

8) Расшифруем полученные данные, используя закрытый ключ {7,187}: Y1 = (637) mod 187 = 24 Y2 = (367) mod 187 = 9 Y3 = (357) mod 187 = 18 Y4 = (1777) mod 187 = 12

Y5 = (427) mod 187 = 15

Данные расшифрованы, сопоставим последовательность <24 9 18 12 15> с последовательностью букв нашего алфавита. Получили слово ЧИСЛО.