Введение

В криптографии кольцевая подпись - это тип цифровой подписи, которую может выполнять любой член набора пользователей, у каждого из которых есть ключи. Поэтому сообщение, подписанное кольцевой подписью, одобряется кем-то из определенного круга людей. Одним из свойств безопасности кольцевой подписи является то, что вычислительно невозможно определить, какой из ключей участников набора был использован для создания подписи. Кольцевые подписи похожи на групповые подписи, но отличаются двумя ключевыми способами: во-первых, нет способа отменить анонимность индивидуальной подписи; во-вторых, любой набор пользователей может использоваться в качестве набора подписи без дополнительной настройки. Кольцевые подписи были изобретены Роном Ривестом, Ади Шамиром и Яэль Тауман Калай, и были представлены на ASIACRYPT в 2001 году. Название, кольцевая подпись, происходит от кольцевой структуры алгоритма подписи.

Определение

Предположим, что набор объектов имеет пары ключей публичных и частных (P1, S1), (P2, S2), (Pn, Sn). Сторона i может вычислить кольцевую подпись σ на сообщении m, на входе (m, Si, P1, , Pn). Любой может проверить действительность кольцевой подписи с учетом σ, m и общедоступных ключей, P1, , Pn. Если кольцевая подпись правильно рассчитана, она должна пройти проверку. С другой стороны, должно быть трудно кому-либо создать действительную кольцевую подпись на каком-либо сообщении для любого набора, не зная ни одного из частных ключей для этого набора.

Эффективность

Большинство предлагаемых алгоритмов имеют асимптотический выходный размер; т. е. размер полученной подписи увеличивается линейно с размером ввода (число открытых ключей). Это означает, что такие схемы не могут быть реализованы в реальных случаях использования с достаточно большими (например, электронное голосование с миллионами участников). Но для некоторых приложений с относительно небольшим средним объемом ввода такая оценка может быть приемлемой. CryptoNote реализует схему кольцевой подписи Фудзисаки и Сузуки, а также с постоянным размером.

Первоначальная схема

В оригинальной статье описывается схема кольцевой подписи на основе RSA, а также одна, основанная на подписях Рабина. Они определяют "комбинирующую функцию" с ключами, которая принимает ключ, значение инициализации, и список произвольных значений определяется как , где функция ловушки (т.е. общедоступный ключ RSA в случае кольцевых подписей на основе RSA). Функция называется кольцевым уравнением и определяется ниже. Уравнение основано на симметричной функции шифрования: она выводит одно значение, которое вынуждено быть равным уравнению может быть решено, пока по крайней мере один, и, следовательно, может быть свободно выбран. Согласно предположениям RSA, это подразумевает знание по крайней мере одной из обратных функций ловушки (т.е. частного ключа), поскольку .

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

Подтверждение подписи включает в себя три шага. Применить открытый ключ к дверям-ловушкам: вычислить симметричный ключ . Убедиться , что кольцевое уравнение верно .

Криптовалюты

Monero и несколько других криптовалют используют эту технологию.