Рассмотрим кольцо, в котором каждый элемент в кольце основан на хэше предыдущего элемента в кольце.
$i_0 = H(i_3)$
$i_1 = H(i_0)$
$i_2 = H(i_1)$
$i_3 = H(i_2)$
Во-первых, обратите внимание, что любой может восстановить кольцо, если ему будет сказано одно из $я$ ценности.
Во-вторых, обратите внимание, что если хэш устойчив к коллизиям, такое кольцо невозможно сформировать. Это связано с тем, что при создании $i_0$, вам нужно будет «путешествовать во времени», чтобы узнать, каково значение $i_3$ будет.
Если бы мы использовали «хэш-хамелеон» вместо обычного хеша, мы могли бы построить такое кольцо. Это связано с тем, что «хеш-хамелеон» можно контролировать для получения необходимого вывода, если известен конкретный секрет.
Например, хеш-хамелеон для этого ответа Связываемая спонтанная анонимная групповая подпись основан на конструкции EC Schnorr.
Для управления хэшем Chameleon требуется знание одного из закрытых ключей, соответствующего одному из открытых ключей в кольце. Таким образом, возможность построить кольцо доказывает, что вы знали один из закрытых ключей. Как только кольцо построено, любой может проверить, что кольцо существует, но не может сказать, где кольцо было «соединено вместе», благодаря знанию конкретного закрытого ключа.
Связываемая кольцевая подпись расширяет эту концепцию, включая «образ ключа». Когда вы создаете кольцо и используете определенный закрытый ключ для «присоединения к кольцу», объявляется образ ключа, который является открытым ключом, соответствующим этому закрытому ключу, за исключением другой точки генератора.
Из-за проблемы дискретного журнала EC никто не может сказать, на каком открытом ключе в кольце основано изображение ключа. Однако конструкция кольца фактически содержит «доказательство дискретно-логарифмической эквивалентности», которое проверяет, что открытый ключ в кольце, к которому кольцо было присоединено, должен иметь тот же закрытый ключ, что и объявленный образ ключа.
Таким образом,
Проверяющий может сказать, что по крайней мере один из закрытых ключей, соответствующих одному из открытых ключей в кольце, известен подписывающей стороне.
Верификатор знает, что образ ключа сформирован правильно, чтобы использовать тот же закрытый ключ, который использовался для присоединения к кольцу.
Это означает, что если образ ключа когда-либо будет виден снова, для присоединения к этому кольцу должен был использоваться тот же закрытый ключ. Невозможно «обмануть» проверяющего, создав другой образ ключа при двукратной подписи одним и тем же закрытым ключом, потому что доказательство дискретно-логарифмической эквивалентности доказывает, что образ ключа был создан и объявлен правильно и должен соответствовать одному и тому же открытому ключу. в кольце, где был известен закрытый ключ.