Interested Article - Подпись Нюберг — Руэппеля
- 2020-08-05
- 1
Подпись Нюберг — Руэппеля ( англ. Nyberg-Rueppel Signature Scheme ) — схема электронной подписи с использованием открытого ключа , основанная на задаче дискретного логарифмирования в конечном поле . Алгоритм не может использоваться для шифрования (в отличие от RSA и схемы Эль-Гамаля ). Подпись создается секретно, но может быть публично проверена. Это значит, что только один может создать подпись сообщения, но любой может проверить её . Схема была предложена и Райнером Руэппелем в 1993 году на первой конференции ACM ( англ. 1st ACM conference on Computer and communications security ) как модификация DSA .
История
В 1993 году Кайса Нюберг и Райнер Руэппель представили новую схему подписи, основанную на тех же принципах, что и DSA. Основное отличие заключается в том, что новая схема обеспечивает восстановление сообщений. Но в отличие от RSA, преобразования подписи и восстановления не коммутируют. Следовательно, новая схема не может быть использована для шифрования. Преимуществами восстановления сообщений являются: приложения без хэш-функции, меньшая пропускная способность для подписей небольших сообщений, прямое использование в других схемах, таких как системы открытого ключа на основе идентификации или протоколы согласования ключей .
Авторы представили два приложения новой схемы. Во-первых, в системе открытых ключей на основе идентификации, которая позволяет избежать требования полного доверия Центру ключей. Во-вторых, в протоколе соглашения о ключах, который устанавливает общий секретный ключ между двумя сторонами взаимно аутентифицированным способом. Несомненно, за этим последует ещё больше применений новой системы подписи.
Использование алгоритма
Схема подписи с восстановлением сообщения подразумевает собой процедуру, когда сообщение восстанавливается после проверки подписи. Иными словами, пусть имеются два пользователя, Алиса и Боб, и незащищенный канал связи между ними. Пользователь Алиса подписывает открытое сообщение секретным ключом , а полученную подпись пересылает пользователю Бобу, который в свою очередь с помощью открытого ключа проверяет подлинность подписи и восстанавливает сообщение. При положительном результате проверки, Боб убеждается в целостности сообщения, в его оригинальности (то есть в том, что сообщение было послано именно пользователем Алисой), а также лишается возможности утверждать, что Алиса не посылала это сообщение. Важно, что только Алиса способна подписать своё сообщение, потому что только она знает свой секретный ключ , и то, что её подпись может быть проверена любым пользователем, так как для этого нужен лишь открытый ключ .
Параметры схемы цифровой подписи
Для построения системы цифровой подписи и генерации ключей необходимо :
- Выбрать открытую функцию избыточности , которая преобразует фактическое сообщение в данные, которые затем подписываются. Это похоже на хеш-функцию в схемах подписи с приложением, но в отличие от них, функция избыточности должны быть легко обратима.
- Выбрать большое простое число .
- Выбрать большое простое число , такое, что делится на .
- Сгенерировать случайное число и вычислить . Если , то искать другое случайное , пока будет не равным , что обеспечит выполнение условия
Открытый и секретный ключи
- Секретный ключ представляет собой число
- Открытый ключ вычисляется по формуле
Открытыми параметрами являются . Закрытый параметр — . Ключевая пара .
Вычисление ключей
Каждый пользователь создает свой открытый ключ и ему соответствующий секретный ключ. Каждый пользователь должен выполнить следующее:
- Выбрать простые числа и , для которых делит .
- Выбрать генератора для циклической подгруппы порядка в группе.
Для этого пользователь должен выполнить следующее:
- Выбрать элемент , и найти .
- Если , то перейти к шагу 1 с другим .
Продолжить действия в соответствии с шагами:
- Выбрать произвольное число ,
- Вычислить
- Открытый ключ адресата есть ( Р, Q, G, Y ). Секретный ключ пользователя есть число H .
Вычисление подписи
Пользуясь своим секретным ключом, пользователь Алиса подписывает бинарное сообщение m. Пользователь Алиса должна выполнить следующее:
- Вычислить .
- Выбрать случайное секретное целое , и вычислить
- Вычислить .
- Вычислить .
- Подпись А под есть пара ( , ) .
Проверка подписи и вычисление сообщения
Пользуясь открытым ключом пользователя Алиса, адресат Боб может проверить подпись (e, s) пользователя Алиса и извлечь из подписи сообщение от Алисы. Пользователь Боб должен выполнить следующее:
- Получить открытый ключ ( Р, Q, G, Y ) пользователя Алиса.
- Проверить, что . Если нет, то отклонить подпись.
- Проверить, что . Если нет, то отклонить подпись.
- Вычислить и .
- Проверить, что . Если нет, то отклонить подпись.
- Вычислить .
Схема алгоритма
Пример
- Подпись сообщения
- Выберем параметры схемы:
- Ключевая пара пусть выглядит как .
- Чтобы подписать сообщение , вычисляем временный ключ и .
- Пусть , тогда и
, .
Итого, пара чисел , то есть — это подпись.
- Проверка подписи и восстановление сообщения
- Вычисляем . Следует заметить, что значение совпадает со значением .
- Вычисляем .
- Теперь нужно проверить, что представляется в виде для некоторого целого числа , и убедившись в этом, делаем заключение в корректности подписи.
- Восстанавливаем сообщение как решение уравнения .
Достоинства и недостатки
Схема подписи на тех же принципах, что и DSA , главное отличие заключается в том, что в схеме реализовано восстановление сообщения из подписи. В отличие от RSA , подпись и восстановление не коммутируют, следовательно, алгоритм не может быть использован для шифрования . Преимущества восстановления сообщения заключаются в том, что применение схемы осуществляется без использования хеш-функций , более короткая подпись на коротких сообщениях, возможность прямого применения в схемах на основе идентификационной системы с открытым ключом, где пользователь после регистрации в центре ключей может аутентифицировать себя любому другому пользователю без дальнейшего обращения в центр ключей, или в протоколах согласования ключа, которые устанавливают общий ключ между двумя сторонами на основе взаимной аутентификации .
Модифицированная подпись Нюберга-Руэппеля
Модификация сигнатуры Нюберга-Руэппеля позволяет избежать трудностей проектирования функции избыточности за счет отказа от свойства восстановления сообщений. Её производительность немного хуже, чем у Elgamal, который аналогично не обеспечивает восстановление сообщений, но более эффективен, чем двойные подписи Нюберга-Руэппеля, которые доказуемо безопасны в той же модели. Хотя двойная подпись Нюберга-Руэппеля действительно обеспечивает восстановление сообщений, для этого по-прежнему требуется передача четырёх значений подписи, в то время как для модифицированной версии подписи требуется только три значения (включая сообщение). Поскольку смысл восстановления сообщений заключается в экономии полосы пропускания, эта схема достигает цели с помощью других средств .
Модифицированная подпись Нюберга-Руэппеля заменяет функцию избыточности дискретным возведением в степень. Более явно, пусть — другой генератор той же группы порядка , такой, что дискретные логарифмы по отношению как к , так и к y неизвестны. Пространство сообщений − это целочисленный интервал , то есть равный в случае известного порядка или в случае неизвестного порядка. Если ( , ) является подписью в сообщении , модифицированное уравнение проверки выглядит следующим образом:
Процедура подписания работает как и прежде, поскольку сообщение m в I сначала изменяется на как сообщение в , а затем подписывается, как в предыдущем алгоритме.
Безопасность
В своей простой форме подпись Нюберга-Руэппеля уязвима для атак экзистенциальной подделки. А именно, можно произвольно выбрать и , и эти значения подписывают уникальное сообщение, которое получается путем применения алгоритма восстановления к ( , ) . Хотя это сообщение не может быть выбрано злоумышленником заранее, это все равно означает, что схема подписи небезопасна.
Типичным решением проблемы такого типа является использование функции резервирования. Пусть — эффективно вычислимая взаимно однозначная функция от { } до , которая является разреженной, то есть набор изображений R соответствует небольшой доле всех значений в диапазоне. При заданном в изображении существует эффективный алгоритм вычисления .
Модифицированная версия схемы подписи при заданном m вычисляет , а затем подписывает m' в соответствии с простой схемой Нюберга-Руэппеля. Чтобы восстановить подписанное сообщение, верификатор сначала восстанавливает в соответствии с механизмом восстановления простой подписи Нюберга-Руэппеля, а затем фактическое сообщение как . Безопасность модифицированной версии зависит от сложности выбора значений и таким образом, чтобы выходные данные алгоритма восстановления были в виде . На практике разработка функций резервирования, обеспечивающих надлежащую безопасность, является деликатной задачей.
Кольцевая подпись версии Нюберга-Руэппеля
Для подписи сообщения при наличии секретного ключа , и открытых ключах всех участников кольца — , подпись вычисляется следующим образом :
- Вычислить как симметричный ключ : .
- Выбрать значение инициализации равномерно случайным образом из .
- Выбирать случайное ( ) равномерно и независимо от и вычислить: .
- Решить следующее кольцевое уравнение для :
- Использовать секретный ключ , чтобы инвертировать на для получения ( ) .
- Подпись в сообщении m определяется как -запись: .
- Проверить подпись .
- В сообщении подпись будет принята верификатором тогда и только тогда, когда .
См. также
- Электронная цифровая подпись
- Схема Эль-Гамаля
- RSA
- DSA
- ECDSA
- ГОСТ Р 34.10-2001
- Случайное простое число
Примечания
- . Дата обращения: 9 декабря 2014. 10 февраля 2019 года.
- ↑ .
- .
- Nyberg, K., Rueppel R. A. A new signature scheme based on the DSA giving message recovery // 1st ACM Conference on Computer and Communications Security. — 1993.
- , p. 261.
- ↑ .
- ↑ , с. 278.
- ↑ Авдошин С.М. Дискретная математика. Модулярная алгебра, криптография, кодирование. — 2017. — С. 213.
- ↑ , с. 279.
- , с. 271.
- , с. 228.
- Ateniese G and Breno de Medeiros. A Provably Secure Nyberg-Rueppel Signature Variant with Applications. // IACR Cryptol. ePrint Arch.. — 2004. — С. 6 .
- Ateniese, G and Breno de Medeiros. A Provably Secure Nyberg-Rueppel Signature Variant with Applications. // IACR Cryptol. ePrint Arch.. — 2004. — С. 4 .
- Gao, Cz., Yao, Za., Li, L. A Ring Signature Scheme Based on the Nyberg-Rueppel Signature Scheme. // Applied Cryptography and Network Security. ACNS. — 2003.
Литература
- Авдошин С. М. Дискретная математика. Модулярная алгебра, криптография, кодирование. — М. : ДМК Пресс, 2017. — 352 с.
- Бауер Ф. Расшифрованные секреты. Методы и принципы криптологии. — Мир, 2007. — 550 с.
- Смарт, Н. Криптография. — Техносфера, 2005. — 528 с.
- Ateniese, G and Breno de Medeiros. «A Provably Secure Nyberg-Rueppel Signature Variant with Applications.» IACR Cryptol. ePrint Arch. 2004 (2004): 93.
- Elgamal, T. // Advances in Cryptology : книга. — 1985.
- Gao, Cz., Yao, Za., Li, L. (2003). A Ring Signature Scheme Based on the Nyberg-Rueppel Signature Scheme. In: Zhou, J., Yung, M., Han, Y. (eds) Applied Cryptography and Network Security. ACNS 2003. Lecture Notes in Computer Science, vol 2846. Springer, Berlin, Heidelberg.
- Nyberg, K., Rueppel, R. A. A new signature scheme based on the DSA giving message recovery // 1st ACM Conference on Computer and Communications Security, Fairfax, Virginia (Nov. 3–5, 1993). — 1993.
- Nyberg, K., Rueppel, R. A. // Designs, Codes and Cryptography : журнал. — 1996. — № Volume 7, Issue 1-2 . — С. 61—81 .
- 2020-08-05
- 1