Interested Article - Быстрая цифровая подпись

Быстрая цифровая подпись – вариант цифровой подписи , использующий алгоритм с гораздо меньшим (в десятки раз) числом вычислений модульной арифметики по сравнению с традиционными схемами ЭЦП . Схема быстрой электронной подписи , как и обычная, включает в себя алгоритм генерации ключевых пар пользователя, функцию вычисления подписи и функцию проверки подписи.

Проблемы ЭЦП

С момента изобретения ЭЦП в 1976 году, она является самой многообещающей областью исследований в криптосистемах с открытым ключом . Одним из стандартных математических решений для построения криптографических алгоритмов является задача дискретного логарифмирования , на основе которой были разработаны многие алгоритмы получения ЭЦП . Главным недостатком традиционных алгоритмов ЭЦП , таких как схема Эль-Гамаля и RSA , является их вычислительная сложность. Вычисление экспонент в модульной арифметике требует наибольших вычислительных затрат в схемах криптосистем с открытым ключом . В настоящее время ведётся большое количество работ по улучшению производительности криптографических алгоритмов путём сокращения количества вычислений экспонент. Наиболее короткой известной схемой ЭЦП является BLS (Boneh – Lynn - Shacham), использующая эллиптические кривые , но она ограничена группами , в которых есть функция составления пары. Разработчики алгоритмов работают как над улучшением традиционных схем с дискретным логарифмированием , используя параллельные вычисления экспонент, так и изучают принципиально другие подходы, основанные, например, на теории графов вместо модульной арифметики .

Некоторые алгоритмы быстрой цифровой подписи

Схема быстрой ЭЦП, основанная на алгоритме Диффи-Хеллмана

Пусть абелева группа , – её циклическая подгруппа с генератором порядка , где – большое простое число . Пусть и - параметры безопасности, причём . Пусть , и - хеш-функции . Схема подписи представляет собой следующее:

Генерация ключа

Пользователь выбирает случайный секретный ключ и вычисляет открытый ключ .

Создание подписи

Входными данными являются секретный ключ и сообщение .

Далее сторона, создающая подпись:

1. выбирает случайное число и случайный бит ;

2. вычисляет ;

3. вычисляет ;

4. вычисляет , где ;

5. вычисляет ;

6. вычисляет .

Подписью сообщения является .

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

Чтобы проверить подпись сообщения m, делается следующее:

1. представляется как ;

2. вычисляется и ;

3. вычисляется ;

4. проверяется, выполняется ли .

Если равенство на шаге 4 выполняется, подпись проходит проверку.

Схема быстрой ЭЦП, основанная на алгоритме Фиата-Шамира

ZN обозначает кольцо целых чисел по модулю , и — параметры безопасности, обычно ,

Роль центра аутентификации ключей (ЦАК)

ЦАК выбирает:

  • случайные простые числа и так, чтобы ;
  • однонаправленную хеш-функцию ;
  • свои собственные секретный и открытый ключи.

ЦАК публикует , и открытый ключ .

Секретный ключ ЦАК используется для подписи создаваемых им открытых ключей . Для создания таких подписей ЦАК может использовать любую безопасную схему ЭЦП .

Генерация пользовательских ключей.

Каждый пользователь выбирает секретный ключ , состоящий из случайных чисел , меняется от 1 до , таких, что НОД для всех от 1 до . Создание подписи может быть ускорено, если выбирать в качестве небольшие целые числа . Безопасность такой схемы основана на предположении о том, что вычисление корней является трудным. В настоящее время неизвестно о существовании алгоритмов, вычисляющих корни при условии, что эти корни порядка .

Регистрация пользователей.

ЦАК проверяет соответствие пользователя, создаёт строку , содержащую имя, адрес и т. д. и создаёт подпись для пары , состоящую из и открытого ключа пользователя .

Создание подписи.

Входное сообщение , секретный ключ и модуль , по которому проводят вычисления.

1. Выбирается случайное число из диапазона , вычисляется .

2. Вычисляется .

3. Вычисляется .

Подписью на выходе является пара .

Создание подписи требует не более операций умножения по модулю , а в среднем для случайного требуется только операций умножения.

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

Входные данные — подпись , сообщение , , .

1. Проверяется подпись для .

2. Вычисляется .

3. Проверяется, что .

Для проверки подписи требуется в среднем для случайного операций умножения по модулю, максимум .

Безопасность подписи.

Чтобы подделать подпись сообщения , криптоаналитик должен решить уравнение для и .

В настоящее время неизвестно алгоритмов для решения этого уравнения.

Применение быстрой ЭЦП

Быстрые алгоритмы цифровой подписи являются наиболее эффективными в тех случаях, когда преимущественно важна скорость получения ключа и небольшой размер подписи. Подобные требования имеют место в мобильных, сенсорных или персональных сетях (радиус которых ограничивается пределами одной комнаты) при передаче мультимедийного трафика. Использование цифровой подписи в мобильных телефонах стандарта GSM позволяет пользователям самостоятельно создавать PIN- код, а не получать его от оператора.

Реализация ускоренных алгоритмов создания ЭЦП для устройств с ограниченными ресурсами, таких как КПК, встроенные смарт-карты и мобильные телефоны, вычислительная мощность которых сильно уступает возможностям персональных компьютеров, позволит тратить меньше энергии на создание и хранение подписи и тем самым увеличит время работы устройства без подзарядки.

Литература

  • Fast Digital Signature Schemes as Secure as Diffie-Hellman Assumptions, Changshe Ma , Jian Weng and Dong Zheng , January 22, 2007
  • Fasr Signature Generation with a Fiat Shamir-Like Scheme, H.Ong , C.P.Schnorr

См. также

Ссылки

Источник —

Same as Быстрая цифровая подпись