Interested Article - Быстрая цифровая подпись
- 2021-05-24
- 1
Быстрая цифровая подпись – вариант цифровой подписи , использующий алгоритм с гораздо меньшим (в десятки раз) числом вычислений модульной арифметики по сравнению с традиционными схемами ЭЦП . Схема быстрой электронной подписи , как и обычная, включает в себя алгоритм генерации ключевых пар пользователя, функцию вычисления подписи и функцию проверки подписи.
Проблемы ЭЦП
С момента изобретения ЭЦП в 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
См. также
Ссылки
- 2021-05-24
- 1