Рейтинг:2

Надежная многосторонняя схема распределения ключей (разделения) между игроками

флаг ua

Предположим, что у нас есть игра с $I$ игроки и у каждого из них есть личная тайна говорят $e_i$. Каждый игрок хочет поделиться своим секретом с остальными игроками, но так, чтобы его не обманули. Имеем следующую формулировку

$$p_i:E_i\умножить на Y_i\до X_i$$ куда $|Y_i|\geq|E_i|$ и $p_i(\cdot,y_i)$ биективна, так что каждая пара $(x_i,y_i)$ ассоциируется ровно с одним $e_i$. Точнее, $p_i$ является отображением шифра, $x_i$ это код и $y_i$ является закрытым ключом, равномерно распределенным по $Y_i$. Предположим далее, что $z_i(e_i)$ это перестановка информации $e_i$. С помощью следующей леммы имеем

$\textbf{Лемма:}$ Если $z_i$ — случайная величина с носителем на $\{1,2,\dots,n_i\}$, и $y_i$ равномерно распределяется по $\{1,2,\dots,n_i\}$ независимо от $z_i$, то случайная величина $x_i$ определяется как $x_i=z_i\ominus_{n_i}y_i$ (куда $z_i\ominus_{n_i}y_i=z_i-y_i(mod{n}_i)$) также равномерно распределена по $\{1,2,\dots,n_i\}$.

Могу ли я использовать схему обмена секретами, основанную на этой схеме шифрования-дешифрования, которая может быть многопартийной в том смысле, что игрок $я$ можно как-то поделиться ключом $y_i$ разделить его на части и как я могу это сформулировать? Предположим, что мы хотим поделиться ключом $y_i$ таким образом, чтобы после того, как все игроки пообщаются друг с другом, получили $y_i$. А именно игрок $я$ скажет только часть ключа $y_i$, например, игрок $j=-i$ учится $\tau_{ij}=a_{ij}y_j$ и если для любого $j\in I-\{i\}$ мы берем сумму $\tau_{ij}$ мы учим $y_i=\sum_{j\in I-\{i\}}\tau_{ij}$ (другими словами $x_i=z_i\ominus_{n_i}\sum_{j\in I-\{i\}}\tau_{ij}$).

Как я мог это сделать? Должен ли я определить $p_i$ иначе и каковы должны быть условия, чтобы найти набор, который является копией $Y_i$ такой, что $\tau_{ij}=a_{ij}y_j$, куда $j=-i$?

$\textbf{Цель следующая:}$ Есть $I$ игроков и у каждого из них есть тайное слово $e_i$. Вместо того, чтобы делиться $e_i$, каждый игрок использует шифр, который определяется как $p_i$ и $x_i$ это код, который генерируется из схемы шифрования. Также $y_i$ обозначает ключ. Предположим, что $z_i(e_i)$ является перестановкой $e_i$ такой, что $z_i(e_i)=x_i\oplus_{n_i}y_i$. Я хочу, чтобы каждый игрок, когда она делится своим секретом, делил свой ключ $y_i$ всем остальным игрокам $jâIâ{i}$ чтобы предотвратить мошенничество таким образом, чтобы каждый игрок $x_i$, а только часть $y_i$. По сути, $y_i$ разделен на $|I|â1$ части, а остальные игроки берут по одной части у каждого из них. Следовательно, им потребуется дальнейшее общение, чтобы получить $y_i$ и, следовательно, узнать информацию $z_i(e_i)$

Sam Jaques avatar
флаг us
Является ли $j$ во второй половине вашего последнего предложения тем же, что и $j=-i$, или другим $j$ (не могли бы вы использовать другую букву в этом случае)? Можете ли вы более четко объяснить, чего вы пытаетесь достичь, чего не достигают стандартные схемы обмена секретами (например, обмен секретами Шамира)?
Hunger Learn avatar
флаг ua
@SamJaques да, $j=-i$ в каждой части текста выше. Однако какое бы предположение мое определение ни требовало для определения схемы обмена секретами, вы можете упомянуть об этом.Я написал это, чтобы кто-нибудь мог мне помочь, потому что криптография не является моей областью, и, конечно, я был бы признателен, если бы мне сказали, нужно ли мне внести какие-либо коррективы в текст, который я написал выше.
Hunger Learn avatar
флаг ua
Другими словами, смысл $\tau_{i,j}$ в том, что игрок $i$ отправляет каждому другому игроку $j$, $a_{j}$ доли секрета $y_i$, верно?
Hunger Learn avatar
флаг ua
ну, я думаю, что это обозначение $a_{i,j}$ является стандартным способом сказать, что игрок $i$ делится с каждым другим игроком $j$ только частью своего секрета $y_i$, и это записывается как $a_{ ij}s_j=\tau_{ij}$. Но мой вопрос: если это правильное обозначение, нужно ли мне делать какие-либо дальнейшие предположения о $a_{ij}$ и $y_j$ и как они связаны? Кроме того, можем ли мы изменить определение $p_i:E_i\times Y_i\на X_i$, поскольку мы используем схему разделения секрета после того, как $y_i$ становится известно игроку $i$? Я думаю, что последнее не обязательно... но если это так....
fgrieu avatar
флаг ng
Я теряюсь, когда $e_i$ становятся "событиями", а $z_i(e_i)$ становятся "информацией о" таких событиях; Я не могу представить себе эти $z_i$ (это функции или элементы?), и почему $z_i$ и $e_i$ имеют один и тот же индекс. Также мне непонятна общая цель: игрок $i$ хочет поделиться своим секретом $y_i$? Во что (редактировать: какие переменные в Q образуют информацию, которая вместе позволяет реконструировать $y_i$, или это позволяет преобразование $y_i$) / с кем?
Hunger Learn avatar
флаг ua
@fgrieu, принимая во внимание ваши комментарии, я снова отредактировал свой вопрос. Взгляните и скажите, понятно ли это, или мне нужно сделать дополнительные разъяснения. скажем, что $e_i$ — это личная информация игрока $i$, а $z_i(e_i)$ — это перестановка $e_i$. Сказав: «Игрок, которого я хочу поделиться своим секретом, yi? Во что или с кем" мне не ясен и вопрос...
Hunger Learn avatar
флаг ua
@SamJaques еще раз взгляните на мой вопрос. Я редактирую это снова.
Sam Jaques avatar
флаг us
Мне все еще не ясно намерение.Я думаю, проблема в том, что «цели» должны заключаться в том, какие свойства безопасности вы хотите сохранить: какие игроки участвуют, какие данные есть у каждого игрока, что вы хотите, чтобы они вычисляли с этими данными, и какие данные нужны каждому игроку. держать в тайне? На этом уровне забудьте о криптографии. Как только это будет решено, будет легче решить, какие криптографические инструменты вам нужны.
Sam Jaques avatar
флаг us
Например, вы говорите, что $z_i(e_i)$ — это перестановка $e_i$ — это фиксированная общедоступная перестановка или шифрование $e_i$ с каким-то секретным ключом? Если это шифрование с секретным ключом, то я не уверен, зачем нужны $x_i$ и $y_i$, так как игрок $i$ может просто опубликовать $z_i(e_i)$ (если только нет какой-либо другой причины сохранить это секрет значения). Если это общедоступная перестановка, то какая польза от использования $z_i(e_i)$ вместо прямого $e_i$, например, почему бы не иметь $e_i = x_i\oplus y_i$?
Hunger Learn avatar
флаг ua
хорошо, у каждого игрока есть личная информация $e_i$. Он хочет поделиться этой информацией с остальными игроками. Предположим, что существует копия $E_i$, скажем, $L_i$, и z_i является перестановкой, такой что $z_i(e_i)=l_i$ имеет эквивалентный перевод из одного пространства в свою копию. Затем игрок $i$ кодирует $z_i(e_i)$ по схеме выше s.t. $z_i(e_i)=x_i\oplus y_i$, поэтому игроки $j=-i$ узнают только $z_i(e_i)$ переведенную информацию вместо прямой информации. Например, если игрок $i$ узнает $e_i$, то он может отправить сообщение $z_i$, которое переводится как
Hunger Learn avatar
флаг ua
Я знаю информацию, проиндексированную $i$, которая достаточно информативна для других игроков, но она не хочет явно говорить, что я узнал $e_i$.
Hunger Learn avatar
флаг ua
Единственной информацией, которая может считаться общедоступной, может быть $x_i$.

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

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