Электронная цифровая подпись. ЭЦП на основе RSA (Практическая работа № 7)

Страницы работы

Содержание работы

Практическая  работа №7

по дисциплине "Криптология"

на тему

"Электронная цифровая подпись. ЭЦП на основе RSA"

Цель:

Выработать у студента умения и навыки генерации и проверки ЭЦП на основе алгоритма RSA.

Задание.

1. Ознакомиться с теоретическими сведениями о ЭЦП

2. Выполнить программную реализацию генерации ЭЦП и проверки ЭЦП на любом алгоритмическом языке .

3. Протестировать работу программы.

4. Оформить отчёт.

Результат выполнения практической работы должен включать:

1.  Отчёт о выполненной лабораторной работе в печатном  виде

2.  Работоспособную программную реализацию поставленной задачи на любом языке программирования(exe-файл)+исходный код программы

Отчёт о выполненной практической работы должен включать:

1.  Титульный лист с указанием номера и темы практической работы

2.  Постановку задачи

3.  Теоретический материал по теме практического задания

4.  Исходные данные, которые были применены для выполнения поставленной задачи

5.  Скриншоты работы программы

6.  Исходный текст программы

7.  Результаты работы программы

8.  Выводы

Программа должна выполнят следующее:

1.  Используя клиент серверную технологию разработать  2 приложения:

a.  В  1 приложении(Подписант) должны выполняться следующие действия –

  i.  генерация начальных параметров(пары открытый/закрытый ключ и модуля N)

  ii.  Пересылка пары открытый ключ/модуль отправителю N

  iii.  Генерация ЭЦП

  iv.  Пересылка файла вместе с ЭЦП

b.  Во  2 приложении(Верификатор) должны выполняться следующие действия

  i.  отправка запроса на получение открытого ключа отправителя

  ii.  получение файла

  iii.   проверка ЭЦП в 2  этапа:.

1.  Проверить сначала, что хеш расшифровался нормально, то есть его длина не должна превышать 32 символам и индексы расшифрованных символов не должны превышать индекса самого последнего символа в алфавите. Если это выполняется то перейти к следующему этапу проверки, иначе выдать ошибку о том, что хеш поврежден и отправить отправителю запрос о повторной передачи ЭЦП с файлом 

2.  Если проверка прошла успешно, то выдать сообщение, что файл истинный. Иначе выдать сообщении, что файл искажен и отправить отправителю запрос о повторной передачи ЭЦП с файлом 

c.  Для генерации ЭЦП использовать алгоритм RSA и хеш-функцию MD5

d.  При реализации данной практической работы нужно использовать программы или библиотеки, разработанные на Практических работах №5 и №6

e.  При перенумеровывании символов исходного алфавита не использовать индексы 0 и 1.

f.  При генерации ЭЦП  например если символам abc поставлены в соответствие числа 2 3 4, то вместо того, чтобы отдельно шифровать эти числа , мы их конкатенируем в одно число 234 и уже его шифруем. Только необходимо следить, чтобы полученное число было меньше модуля N

g.  Исходный алфавит состоит  из цифр и заглавных английских букв от A..F

h.  Для RSA использовать следующие алгоритм генерации начальных параметров:

  i.  Найти все простые числа из промежутка [A, B] из Таблицы 1 и занести их в массив, а также сохранить в файл 'prime.txt'

  ii.  Выбрать случайным образом число P, число Q брать следующее число идущее в массиве за P

  iii.  Подсчитать модуль N

  iv.  Выбрать 100 открытых ключей в промежутке [N/2, N]


Варианты заданий

Таблица 1.

 п/п

A

B

1

10000

15000

2

10500

16000

3

11000

17500

4

11500

18000

5

12000

18500

6

12500

20000

7

13000

21000

8

13500

21500

9

14000

22000

10

14500

22500

11

15000

23000

12

16000

23500

13

16500

24000

14

17500

25000

15

18500

25500

16

19500

26000

17

20000

27000

18

21000

27500

19

22500

28000

20

23000

28500

21

24000

29000

22

25000

30000

23

25500

30500

24

26000

31000

25

27000

31500

Похожие материалы

Информация о работе

Предмет:
Криптология
Тип:
Методические указания и пособия
Размер файла:
53 Kb
Скачали:
0