|
|
Компьютеры - ГОСТ Р 34.10-2001 - Описание03 июля 2011 Хорошие условия для Вас: Обслуживание компьютеров в зеленограде - осенняя распродажа!
Оглавление: 1. ГОСТ Р 34.10-2001 2. Описание 3. Криптостойкость 4. Отличия от ГОСТ 34.10-94 5. Возможные применения
ГОСТ Р 34.10-2001 основан на эллиптических кривых. Его стойкость основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости хэш-функции по ГОСТ Р 34.11-94.
После подписывания сообщения М к нему дописывается цифровая подпись размером 512 бит и текстовое поле. В текстовом поле могут содержаться, например, дата и время отправки или различные данные об отправителе:
Данный алгоритм не описывает механизм генерации параметров, необходимых для формирования подписи, а только определяет, каким образом на основании таких параметров получить цифровую подпись. Механизм генерации параметров определяется на месте в зависимости от разрабатываемой системы.
Алгоритм
Параметры схемы цифровой подписи
- простое число p модуль эллиптической кривой такой, что p > 2
- эллиптическая кривая E задается своим инвариантом J или коэффициентами , где Fp конечное поле из p элементов. J связан с коэффициентами a и b следующим образом
- , причём .
- целое число m порядок группы точек эллиптической кривой, m должно быть отлично от p
- простое число q, порядок некоторой циклической подгруппы группы точек эллиптической кривой, то есть выполняется m = nq, для некоторого . Так же q лежит в пределах 2 < q < 2.
- точка эллиптической кривой E, являющаяся генератором подгруппы порядка q, то есть и для всех k = 1, 2, …, q-1, где нейтральный элемент группы точек эллиптической кривой E.
- h хэш-функция, которая отображает сообщения M в двоичные векторы длины 256 бит.
Каждый пользователь цифровой подписи имеет личные ключи:
- ключ шифрования d целое число, лежащее в пределах 0 < d < q.
- ключ расшифрования , вычисляемый как .
Дополнительные требования:
Двоичные векторы
Между двоичными векторами длины 256 и целыми числами ставится взаимно-однозначное соответствие по следующему правилу . Здесь αi либо равно 0, либо равно 1. Другими словами, это двоичное представление числа z.
Результатом операции конкатенации двух векторов и называется вектор длины 512 . Обратная операция операция разбиения одного вектора длины 512 на два вектора длины 256.
Формирование цифровой подписи
- Блок-схемы:
-
Формирование цифровой подписи
-
Проверка цифровой подписи
- Вычисление хэш-функции от сообщения М:
- Вычисление , и если e = 0, положить e = 1. Где z целое число, соответствующее
- Генерация случайного числа k такого, что 0 < k < q.
- Вычисление точки эллиптической кривой C = kP, и по ней нахождение где xc это координата x точки C. Если r = 0, возвращаемся к предыдущему шагу.
- Нахождение . Если s = 0, возвращаемся к шагу 3.
- Формирование цифровой подписи , где и векторы, соответствующие r и s.
Проверка цифровой подписи
- Вычисление по цифровой подписи ξ чисел r и s, учитывая, что , где r и s числа, соответствующие векторам и . Если хотя бы одно из неравенств r < q и s < q неверно, то подпись неправильная.
- Вычисление хэш-функции от сообщения М:
- Вычисление , и если e = 0, положить e = 1. Где z целое число соответствующее
- Вычисление
- Вычисление и
- Вычисление точки эллиптической кривой C = z1P + z2Q. И определение , где xc координата x кривой C.
- В случае равенства R = r подпись правильная, иначе неправильная.
Просмотров: 5563
|