Алгоритм цифровой подписи ECDSA — КиберПедия 

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Алгоритм цифровой подписи ECDSA

2017-07-01 578
Алгоритм цифровой подписи ECDSA 0.00 из 5.00 0 оценок
Заказать работу

 

В алгоритме ЭЦП ECDSA (Elliptic Curve Digital Signature Algorithm) определение параметров системы и генерация ключей аналогичны алгоритму асимметричного шифрования ECES.

 

Генерация ЭЦП (пользователь А подписывает сообщение М):

¨ вычисляется хэш сообщения h (М);

¨ выбирается случайное целое число k, взаимно простое с п (то есть не имеющее других общих с п делителей, кроме 1; поскольку п является простым числом по определению, данное условие выполняется автоматически), ;

¨ вычисляется точка и . В случае если r = 0, повторяется выбор k;

¨ вычисляется ;

¨ цифровой подписью сообщения М является пара чисел (r, s).

 

Проверка ЭЦП (пользователь В проверяет ЭЦП пользователя А под сообщением М):

¨ если r = 0, то полученная ЭЦП неверна;

¨ вычисляется хэш сообщения ;

¨ вычисляются и ;

¨ вычисляется точка ;

¨ вычисляется ;

¨ ЭЦП считается верной, если .

 

Алгоритм цифровой подписи ГОСТ Р 34.10-94

 

Алгоритм цифровой подписи, определяемый этим стандартом, концептуально близок к алгоритму DSA. В нем используются следующие параметры:

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

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

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

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

¨ у = ах mod p.

Кроме того, этот алгоритм использует однонаправленную хэш-функцию Н (х). Стандарт ГОСТ Р 34.11-94 определяет хэш-функцию, основанную на использовании стандартного симметричного алгоритма ГОСТ 28147-89.

Первые три параметра, р, q и а, являются открытыми и могут быть общими для всех пользователей сети. Число х является секретным ключом. Число у является открытым ключом.

Чтобы подписать некоторое сообщение т, а затем проверить подпись, необходимо выполнить следующие действия:

1. Пользователь А генерирует случайное число k, причем k < q.

2. Пользователь А вычисляет значения

 

, (4.27)

 

. (4.28)

 

 

Если H (m)mod q = 0, то значение Н (т) mod q принимают равным единице.

Если r = 0, то выбирают другое значение k и начинают снова.

Цифровая подпись представляет собой два числа: r mod 2256 и s mod 2256. Пользователь А отправляет эти числа пользователю В.

3. Пользователь В проверяет полученную подпись, вычисляя

 

, (4.29)

 

, (4.30)

 

, (4.31)

 

. (4.32)

 

Если и = r, то подпись считается верной.

Различие между этим алгоритмом и алгоритмом DSA заключается в том, что в DSA

 

,

 

что приводит к другому уравнению верификации.

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

 


Поделиться с друзьями:

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.