Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой проект по СПО.docx
Скачиваний:
11
Добавлен:
14.11.2019
Размер:
261.68 Кб
Скачать

Курсовой проект по СПО

(криптографические методы защиты информации)

Группа 983 Б

Задание 1

Программирование блочного шифра

(алгоритмов зашифрования и расшифрования)

Задание 2

Реализация 128- или 192-битовой функции хеширования на основе блочного шифр

Задание

Реализация электронной цифровой подписи (ЭЦП) с использованием дискретных логарифмов (по схеме Эль-Гамаля)

Задание

Реализация электронной цифровой подписи на основе эллиптических кривых (согласно ГОСТ Р 34.10-2001)

Задание 4

Зашифрование открытого текста с присоединенной ЭЦП и расшифрование шифртекста в некотором режиме

Отчет

Отчет о выполненном проекте (описание шифра в Latex, остальная часть – WORD 7, приложение листинг)

ФИО

Шифр

Функция хеширования

Вариант

Цифровая подпись

(дискр. лог.)

Вариант

Цифровая подпись

(элл. крив.

по ГОСТ)

Режим

шифрования

Вариант

1. Акельдов

Станислав Викторович

Nush

6

18

8

2. Бикмуллин

Артур

4

40

2

3. Газизов

Альберт Маратович

DES

7

19

9

4. Гайнетдинов

Динар Маратович

DFCv2

8

20

10

5. Гатауллин

Рамиль Раисович

Anubis

9

21

11

6. Зиганшин

Тимерша Гадельшевич

Camelia

10

22

12

7. Ильченко

Марина Владимировна

Safer-64

11

23

2

8. Исева

Елена Сергеевна

ГОСТ-28147

12

24

3

9. Каримов

Динар Равилевич

Misty-1

1

25

4

10. Кузьмин

Илья

5

41

3

11. Николаев

Федор Александрович

CASN-128

2

26

5

12. Сабитов

Фаниль Шамилевич

Misty-2

3

27

6

13. Сафиуллин

Айрат Альбертович

Blowfish

4

28

7

14. Сафуанов

Эмиль

6

42

4

15. Фазлыев

Арсений Марселевич

SC-Cipher

5

29

8

1. Шпагина

Ксения Игоревна

RC6

6

30

9

СОДЕРЖАНИЕ

1.

Описание шифра (электронный вариант выдается персонально)

2.

Функции хеширования

3.

ЭЦП с использованием дискретных логарифмов

4.

ЭЦП с использованием эллиптических кривых по ГОСТ Р 34.10-2001

5.

Режимы шифрования

6.

разное

2. Функции хеширования

Варианты задания см. в таблице 1

Функция хеширования (кратко: хеш-функция) – это криптографическая функция (процедура или алгоритм), применяемая к сообщению произвольной длины и возвращающая битовое значение (хеш-значение) фиксированной длины , называемое сверткой, или сжатым образом сообщения.

Хеш-функция Н должна обладать следующими свойствами:

  1. (Односторонность.) Для заданного задача нахождения , для которого , должна быть вычислительно-трудоемкой (в то время как значение вычисляется относительно легко для любого ).

  2. (Слабая сопротивляемость коллизиям.) При заданном задача нахождения другого сообщения , для которого , должна быть вычислительно-трудоемкой. (Пара сообщений и образуют коллизию, если .) В некоторых приложениях необходимо выполнение дополнительного свойства:

  3. (Сильная сопротивляемость коллизиям.) Задача нахождения двух случайных сообщений и , для которых , должна быть вычислительно-трудоемкой (с экспоненциальным объемом перебора).

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

  • контроль целостности данных при их передаче и хранении;

  • аутентификация источника данных.

При решении первой задачи для каждого сообщения (набора данных) вычисляется его свертка ), которая передается и хранится вместе с сообщением как контрольное значение. При получении данных получатель вычисляет значение свертки и сравнивает его с имеющимся контрольным значением. Несовпадение означает, что данные были изменены. Чтобы противник (злоумышленник) не смог самостоятельно вычислить контрольное значение свертки и тем самым осуществить необнаруживаемую подмену данных, свертка должна зависеть от секретного параметра (ключа), известного только отправителю и получателю сообщения. Хеш-функции, зависящие от секретного ключа, называют ключевыми, или кодами аутентификации сообщений (MAC – Message Autentication Code), другие названия – имитовставка, криптографическая контрольная сумма.

При решении второй задачи – аутентификация источника сообщения – предполагают, что стороны (отправитель и получатель) не доверяют друг другу. Поэтому способ аутентификации, основанный на использовании общей секретной ключевой информации, как в предыдущем случае, здесь неприменим. В данном случае аутентификация осуществляется с помощью цифровой подписи. Обычно подписывается не само сообщение, а его свертка (сжатый образ), вычисленная с помощью хеш-функции. При этом способ вычисления свертки не является секретным (но предполагается, что подбор двух сообщений с одинаковым значением свертки является трудной задачей). Хеш-функции, не зависящие от секретного ключа, называют бесключевым, или кодами обнаружения ошибок (MDS – Manipulation Detection Code).

Как правило, хеш-функцию строят на основе т.н. одношаговых сжимающих функций , где -битовая, а – ‑битовая переменные, возвращаемое значение является -битовым блокам, причем – длина свертки. (Обычно , поэтому соответствующие функции называют сжимающими.) Для получения значения сообщение предварительно дополняется битовой комбинацией и ‑битовой записью длины исходного сообщения так, чтобы длина сообщения, включая дополнение, была кратна b. Затем сообщение разбивается на ‑битовые блоки , ,……, и к ним применяется следующая итерационная схема вычисления свертки (см. рис. 1):

Здесь – некоторое фиксированное начальное n‑битовое значение (его называют вектором инициализации хеш-функции).

– начальное значение

– вводимый блок

– функция сжатия

– длина хеш-значения

– длина вводимого блока

Рис.1. Общая структура хеш-функции