Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-43_kriptografia.docx
Скачиваний:
62
Добавлен:
27.09.2019
Размер:
512.72 Кб
Скачать

37.Стандарты эцп: гост р.34.10-94. Особенности алгоритма dsa.

Отечественный стандарт цифровой подписи обозначается как ГОСТ Р 34.10-94. Алгоритм цифровой подписи, определяемый этим стандартом, концептуально близок к алгоритму DSА. В нем используются следующие параметры:

р - большое простое число длиной от 509 до 512 бит либо от 1020 до 1024 бит;

q - простой сомножитель числа (р -1), имеющий длину 254...256 бит;

а - любое число, меньшее (р-1), причем такое, что аq mod p=1;

х - некоторое число, меньшее q;

Следует также отметить, что в отечественном стандарте ЭЦП параметр q имеет длину 256 бит. Западных криптографов вполне устраивает q длиной примерно 160 бит. Различие в значениях параметра q является отражением стремления разработчиков отечественного стандарта к получению более безопасной подписи.

Этот стандарт вступил в действие c начала 1995 г.

Описание.

ГОСТ Р 34.10-2001 основан на эллиптических кривых. Его стойкость основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости хэш-функции по ГОСТ Р 34.11-94.

После подписывания сообщения М к нему дописывается цифровая подпись размером 512 бит и текстовое поле. В текстовом поле могут содержаться, например, дата и время отправки или различные данные об отправителе:

Сообщение М

+

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

Текст

Дополнение

Данный алгоритм не описывает механизм генерации параметров, необходимых для формирования подписи, а только определяет, каким образом на основании таких параметров получить цифровую подпись. Механизм генерации параметров определяется на месте в зависимости от разрабатываемой системы.

Формирование подписи.

Алгоритм в справочном личте

  1. Вычисление хэш-функции от сообщения М: 

  2. Вычисление  , и если  , положить  . Где   — целое число, соответствующее 

  3. Генерация случайного числа   такого, что 

  4. Вычисление точки эллиптической кривой  , и по ней нахождение   где   — это координата   точки   Если  , возвращаемся к предыдущему шагу.

  5. Нахождение  . Если  , возвращаемся к шагу 3.

  6. Формирование цифровой подписи  , где   и   — векторы, соответствующие   и  .

Проверка подписи.

Алгоритм в справочном листе

  1. Вычисление по цифровой подписи   чисел   и  , учитывая, что  , где   и   — числа, соответствующие векторам   и  . Если хотя бы одно из неравенств   и   неверно, то подпись неправильная.

  2. Вычисление хэш-функции от сообщения М: 

  3. Вычисление  , и если  , положить  . Где   — целое число соответствующее 

  4. Вычисление 

  5. Вычисление   и 

  6. Вычисление точки эллиптической кривой  . И определение  , где   — координата   кривой 

  7. В случае равенства   подпись правильная, иначе — неправильная.

Криптостойкость.

Криптостойкость цифровой подписи опирается на две компоненты — на стойкость хэш-функции и на стойкость самого алгоритма шифрования.

Вероятность взлома хэш-функции по ГОСТ 34.11-94 составляет   при подборе коллизии на фиксированное сообщение и   при подборе любой коллизии.[1] Стойкость алгоритма шифрования основывается на дискретном логарифмировании в группе точек эллиптической кривой. На данный момент нет метода решения данной задачи хотя бы с субэкспоненциальной сложностью.

Одни из самых быстрых алгоритмов, на данный момент, при правильном выборе параметров —  -метод и  -метод Полларда.

Для оптимизированного  -метода Полларда вычислительная сложность оценивается как  . Таким образом для обеспечения криптостойкости   операций необходимо использовать 256-разрядное  .

Отличия от старого госта.

Новый и старый ГОСТы цифровой подписи очень похожи друг на друга. Основное отличие — в старом стандарте часть операций проводится над полем  , а в новом — над группой точек эллиптической кривой, поэтому требования налагаемые на простое число   в старом стандарте(  или  ) более жесткие, чем в новом.

Алгоритм формирования подписи отличается только в пункте 4. В старом стандарте в этом пункте вычисляются   и   и, если  , возвращаемся к пункту 3. Где   и  .

Алгоритм проверки подписи отличается только в пункте 6. В старом стандарте в этом пункте вычисляется  , где   — открытый ключ для проверки подписи,  . Если  , подпись правильная, иначе неправильная. Здесь   — простое число,   и   является делителем  .

Использование математического аппарата группы точек эллиптической кривой, позволяет существенно сократить порядок модуля  , без потери криптостойкости.

Также старый стандарт описывает механизмы получения чисел  ,   и  .