- •2. Функции хеширования
- •2.1. Ключевые функции хеширования
- •2.2. Бесключевые функции хеширования
- •3. Электронная цифровая подпись
- •3 А. Схемы эцп с использованием дискретных логарифмов в простом конечном поле
- •Некоторые стандарты цифровой подписи
- •3 А.1. Федеральный стандарт сша.
- •3 А.2. Стандарт России – гост р34.10-94.
- •Введение
- •1 Область применения
- •2 Нормативные ссылки
- •3 Определения и обозначения
- •3.1 Определения
- •3.2 Обозначения
- •4. Общие положения
- •5. Математические соглашения
- •5.1. Математические определения
- •5.2. Параметры цифровой подписи
- •5.3. Двоичные векторы
- •6. Основные процессы
- •6.1. Формирование цифровой подписи
- •6.2. Проверка цифровой подписи
- •Приложение а (справочное) Дополнительные термины в области эцп
- •Приложение б (справочное) Контрольный пример
- •7B956de33814e95b7fe64fed924594dceab
- •Приложение в (справочное) Библиография*1
- •4. Режимы использования блочных шрифтов
Курсовой проект по СПО (криптографические методы защиты информации) Группа 983 Б |
||||||
Задание 1 |
Программирование блочного шифра (алгоритмов зашифрования и расшифрования) |
|||||
Задание 2 |
Реализация 128- или 192-битовой функции хеширования на основе блочного шифр |
|||||
Задание 3а |
Реализация электронной цифровой подписи (ЭЦП) с использованием дискретных логарифмов (по схеме Эль-Гамаля) |
|||||
Задание 3б |
Реализация электронной цифровой подписи на основе эллиптических кривых (согласно ГОСТ Р 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
Функция хеширования (кратко: хеш-функция) – это криптографическая функция (процедура или алгоритм), применяемая к сообщению произвольной длины и возвращающая битовое значение (хеш-значение) фиксированной длины , называемое сверткой, или сжатым образом сообщения.
Хеш-функция Н должна обладать следующими свойствами:
(Односторонность.) Для заданного задача нахождения , для которого , должна быть вычислительно-трудоемкой (в то время как значение вычисляется относительно легко для любого ).
(Слабая сопротивляемость коллизиям.) При заданном задача нахождения другого сообщения , для которого , должна быть вычислительно-трудоемкой. (Пара сообщений и образуют коллизию, если .) В некоторых приложениях необходимо выполнение дополнительного свойства:
(Сильная сопротивляемость коллизиям.) Задача нахождения двух случайных сообщений и , для которых , должна быть вычислительно-трудоемкой (с экспоненциальным объемом перебора).
Хеш-функции, обладающие указанными свойствами, используются при решении следующих криптографических задач:
контроль целостности данных при их передаче и хранении;
аутентификация источника данных.
При решении первой задачи для каждого сообщения (набора данных) вычисляется его свертка ), которая передается и хранится вместе с сообщением как контрольное значение. При получении данных получатель вычисляет значение свертки и сравнивает его с имеющимся контрольным значением. Несовпадение означает, что данные были изменены. Чтобы противник (злоумышленник) не смог самостоятельно вычислить контрольное значение свертки и тем самым осуществить необнаруживаемую подмену данных, свертка должна зависеть от секретного параметра (ключа), известного только отправителю и получателю сообщения. Хеш-функции, зависящие от секретного ключа, называют ключевыми, или кодами аутентификации сообщений (MAC – Message Autentication Code), другие названия – имитовставка, криптографическая контрольная сумма.
При решении второй задачи – аутентификация источника сообщения – предполагают, что стороны (отправитель и получатель) не доверяют друг другу. Поэтому способ аутентификации, основанный на использовании общей секретной ключевой информации, как в предыдущем случае, здесь неприменим. В данном случае аутентификация осуществляется с помощью цифровой подписи. Обычно подписывается не само сообщение, а его свертка (сжатый образ), вычисленная с помощью хеш-функции. При этом способ вычисления свертки не является секретным (но предполагается, что подбор двух сообщений с одинаковым значением свертки является трудной задачей). Хеш-функции, не зависящие от секретного ключа, называют бесключевым, или кодами обнаружения ошибок (MDS – Manipulation Detection Code).
Как правило, хеш-функцию строят на основе т.н. одношаговых сжимающих функций , где – -битовая, а – ‑битовая переменные, возвращаемое значение является -битовым блокам, причем – длина свертки. (Обычно , поэтому соответствующие функции называют сжимающими.) Для получения значения сообщение предварительно дополняется битовой комбинацией и ‑битовой записью длины исходного сообщения так, чтобы длина сообщения, включая дополнение, была кратна b. Затем сообщение разбивается на ‑битовые блоки , ,……, и к ним применяется следующая итерационная схема вычисления свертки (см. рис. 1):
Здесь – некоторое фиксированное начальное n‑битовое значение (его называют вектором инициализации хеш-функции).
– начальное значение
– вводимый блок
– функция сжатия
– длина хеш-значения
– длина вводимого блока
Рис.1. Общая структура хеш-функции