Рейтинг:1

Можно ли деанонимизировать пользователя в слепом пении RSA, не зная только случайного фактора ослепления?

флаг ls

Например, в случае использования слепой подписи RSA в протоколе E-Voting:

введите описание изображения здесь

Можно ли связать (Sx, x) с (Sb, b), если Сигнер и Талье — одно и то же лицо?

В этом случае злоумышленник имеет доступ к: скрытому сообщению б, подписание слепого сообщения Сб, закрытый и открытый ключ, позволяющий подписывать и проверять сообщения, оригинальное сообщение Икс и подписание исходного сообщения х. Единственное, чего злоумышленник не знает, — это случайное число. р который использовал Боб, чтобы скрыть исходное сообщение б = слепой (х, г)

Рейтинг:2
флаг my

Можно ли связать (Sx, x) с (Sb, b), если Сигнер и Талье — одно и то же лицо?

Нет (при условии, что ослепляющий фактор был выбран случайным образом).

Вот как работает ослепление RSA: чтобы подписать сообщение заполнения $м$, Боб выбирает случайное значение $г$, и отправляет $r^e \cdot m \bmod n$ (куда $е, п$ взяты из открытого ключа). Затем подписывающая сторона вычисляет $(r^e \cdot m)^d = r \cdot m^d \bmod n$ (а затем Боб завершает процесс, вычисляя $r^{-1} \cdot (r \cdot m^d) = m^d$)

Дело в том, что (без учета тривиальной вероятности того, что либо $м$ или же $г$ не является относительно простым для $n$) тогда $r^e$ также может быть любым значением, и поэтому для любого возможного сообщения $м'$, существует $г'$ такой, что $r'^e \cdot m'$ согласуется со значениями, которые подписывающая сторона получает от Боба. То есть значение, которое Боб передает подписывающей стороне, не дает вообще никакой информации (с информационной точки зрения) о подписываемом сообщении, и это верно, даже если подписывающая сторона обладает сколь угодно большим объемом вычислительных ресурсов.

Это включает в себя любую информацию, которую Талье может использовать, чтобы связать голосование с подписывающим лицом.

Обратите внимание, что я начал это с того, что «коэффициент ослепления был выбран единообразно»; если нет, например, есть значения $г$ что Боб никогда не выберет, то подписавший сможет кое-что узнать (возможно, какие ценности Боб нет подписание)

Serbin avatar
флаг ls
Если подписывающая сторона знает $S' = r \cdot m^d \bmod N$, может ли она также вычислить $ m^d \bmod N$ (поскольку подписывающая сторона знает $m$ и $d$), чтобы найти $r$?
poncho avatar
флаг my
@Serbin: если подписавший/более высокий уже знал, что Боб подал этот голос (и, следовательно, знает $m$), то да, он мог бы вычислить $r$ (не то, чтобы это важно для аргумента; это было бы справедливо, даже если бы это было трудный). Это не атака на анонимность, так как предполагается, что подписавший/Талье уже нарушил ее. И, если они были неправы (если Алиса действительно подала этот голос), то они могли бы восстановить $r$, которые были бы использованы Бобом, если бы он подал голос, и они не получают никаких указаний на то, что Боб на самом деле этого не подавал.
Serbin avatar
флаг ls
Tallier получает $m$ и $S$ от анонимного пользователя. Тальер может вычислить $x = m^d \bmod N$ для полученного запроса. На стороне подписывающей стороны они тайно хранят все входящие $m'$ и исходящие пары $S'$. Если мы будем перебирать все подписанные $S'$, сможем ли мы найти $r$ (например, как $r = S' \cdot x^{-1}$)? В качестве проверки можно использовать $m' = r^e m \bmod N$.
poncho avatar
флаг my
@Serbin: они, конечно, могут, однако на этапе проверки всегда будет говориться «это последовательно» (будь то голос Алисы или Боба); если у нас есть произвольные $x, m$ (голос Боба с $x^e = m$) и $m', S'$ (слепой голос Алисы с $S'^e = m'$), мы все равно можем вычислить значение $r = S' \cdot x^{-1}$ и найти, что $r^e m = S'^e x^{-e} m = m' m^{-1} m = m'$. и поэтому уравнение верно, даже если Боб не отдавал свой голос
Serbin avatar
флаг ls
Вот код, который вычисляет секрет $r$, если Tallier и Signer — одно и то же лицо: https://onecompiler.com/python/3x9hgtzyg Похоже, что разделение систем Signer/Tallier является необходимым условием для слепой подписи.
poncho avatar
флаг my
@Serbin: вычисляет ли он правдоподобно выглядящий $ r $ при неправильном предположении (Алиса сделала слепую подпись, но Боб отправил голосование, на которое вы смотрите)? Если да, то как это указывает на то, что догадка неверна; то есть Алиса не была той, кто подал рассматриваемый голос?
Manish Adhikari avatar
флаг us
Пончо уже рассказал вам подробности, но начните так: весь смысл слепых подписей в том, чтобы предотвратить то, о чем вы просите. Если я попрошу подписавшего подписать два скрытых сообщения, а затем предоставлю одному и тому же подписанту открытое сообщение и подписи в любом порядке (подписавший получил закрытый/открытый ключи, а также скрытое и открытое сообщение и подписи), подписывающий не должен иметь возможности чтобы сказать, переключен ли порядок или нет. Слепые подписи RSA, как уже сказал вам Пончо, представляют собой информацию, теоретически несопоставимую.
Manish Adhikari avatar
флаг us
подписывающий не должен быть в состоянии сказать, изменен ли порядок или нет * значительно лучше, чем случайное предположение, я пропустил эту часть
Serbin avatar
флаг ls
Да, действительно, это невозможно.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.