|
Электронная цифровая подпись
Государственный университет телекоммуникаций
Учебно-научный институт защиты информации
Кафедра информационной и кибернетической безопасности
Прикладная криптология
О Т Ч Ё Т по лабораторной работе № 16
ЭЛЕКТРОННАЯ ЦИФРОВАЯ ПОДПИСЬ
Вариант № 6
Выполнил(ла): студент(ка) группы БСД-32
Фамилия И.О Голух Д.Р
Дата сдачи/защиты____________________
Провирила____________________________
Оценка______________________________
2018Выполнение работы Задание 1. Для произвольного сообщения (длиной 16 битов), заданного в шестнадцатеричной системе счисления, построить ЭЦП Эль-Гамаля. Используйте хэш-функцию и параметры: простое число и первообразный элемент поля Галуа .
Решение. Построим ЭЦП Эль-Гамаля для сообщения .
Создание открытого и закрытого ключей. Сгенерируем открытый ключ и закрытый ключ . Для этого:
выберем простое число и первообразный корень по модулю ;
выберем целое число из интервала , например, .
вычислим значение .
открытый ключ и закрытый ключ сформированы.
Формирование ЭЦП с помощью закрытого ключа. Сформируем ЭЦП с помощью закрытого ключа. Для того чтобы подписать сообщение
с помощью криптографической хэш-функции вычислим его хэш-код:
;
выберем произвольное число из отрезка (рандомизатор) с условием НОД, например, .
вычислим ;
вычислим
;
подписью для сообщения является пара ;
пересылаем абоненту пару .
Проверка подписи с помощью открытого ключа (верификация). Для проверки подписи сообщения
с помощью криптографической хэш-функции вычисляем хэш-код полученного документа: .
проверяем равенство :
;
.
Равенство выполнено, т.е. в данном случае ЭЦП сообщения признаётся верной. Задание 2. Для произвольного сообщения (длиной 16 битов), заданного в шестнадцатеричной системе счисления, построить ЭЦП DSA. Используйте хэш-функцию и простые числа и такие, чтобы .
Решение. Построим ЭЦП DSA для сообщения .
Создание открытого и закрытого ключей. Сгенерируем ключевую пару: открытый ключ и закрытый ключ . Для этого:
выберем два простых числа и так, что является делителем ();
выберем целое число так, что . Для этого выберем первообразный корень по модулю и вычислим ;
выберем случайное целое число , .
вычислим значение ;
Открытый ключ – четвёрка чисел , закрытый ключ – число .
Формирование ЭЦП с помощью закрытого ключа. Для того чтобы подписать сообщение
с помощью криптографической хэш-функции вычислим хэш-код ;
выберем случайное число , , , ;
вычислим ,
вычислим
;
подписью для сообщения является пара ;
пересылаем абоненту пару .
Проверка подписи с помощью открытого ключа (верификация). Для проверки подписи сообщения
Проверим условия , : , .
с помощью криптографической хэш-функции вычислим хэш-код полученного сообщения ;
вычислим
,
,
,
проверяем равенство .
Равенство выполнено, т.е. в данном случае ЭЦП сообщения признаётся верной. Задание 3. Для произвольного сообщения (длиной 16 бит), заданного в шестнадцатеричной системе счисления, построить ЭЦП RSA. Используйте хэш-функцию и (двузначные) простые числа и из первой сотни.
Решение. Построим ЭЦП RSA для сообщения .
Создание открытого и закрытого ключей. Сгенерируем открытый ключ и закрытый ключ . Для этого:
Выберем два простых числа из первой сотни: и .
Вычислим их произведение – число .
Вычислим значение функции Эйлера .
Выберем число, взаимно простое с и такое, что , например, число .
Вычислим число , обратное числу по модулю :
Открытый ключ публикуется, а закрытый ключ сохраняется в секрете.
Формирование ЭЦП с помощью закрытого ключа. Сформируем ЭЦП с помощью закрытого ключа. Для того чтобы подписать сообщение
с помощью криптографической хэш-функции вычислим его хэш-код ;
зашифруем хэш на секретном ключе : :
.
пересылаем абоненту пару .
Проверка подписи с помощью открытого ключа (верификация). Для проверки подписи сообщения
с помощью криптографической хэш-функции вычисляем хэш-код полученного документа: .
расшифруем с помощью открытого ключа : :
.
Равенство выполнено, т.е. в данном случае ЭЦП сообщения признаётся верной. |
|
|