Рейтинг:3

Шифрование с открытым ключом/асимметричное шифрование, при котором вы можете утечь расшифрованное сообщение, только утащив свой пароль

флаг in

Группа друзей использует шифрование с открытым ключом для отправки зашифрованных сообщений друг другу на открытом общедоступном форуме. т.е. у каждого друга есть открытый ключ (который вы можете использовать для шифрования сообщений для них) и закрытый ключ (который они используют для расшифровки сообщений для них).

Боб отправляет Алисе зашифрованное сообщение $у$, который при расшифровке дает текст $х=$«Я убью тебя, если ты не пришлешь мне 1000 долларов». Алиса, явно рассерженная, отправляет всем незашифрованное сообщение «Боб плохой человек. Он сказал $х$ мне, что вы все можете проверить, зашифровав его моим открытым ключом, чтобы получить $у$, которое он ранее разместил на нашем общедоступном форуме." Это метод полной проверки для Мэри, чтобы показать сообщение Боба всем.

Мой вопрос: существуют ли какие-либо схемы шифрования с открытым ключом/асимметричным ключом, которые помешали бы Мэри раскрыть зашифрованное сообщение Боба всем? Например, схема, в которой единственным способом, которым Мэри могла бы доказать, что представляет собой расшифрованное сообщение Боба, было бы раскрытие ее секретного ключа (пароля, который она использует для расшифровки).

Редактировать: у меня есть одна идея, чтобы схема шифрования позволяла использовать какой-то одноразовый номер или безопасную рандомизацию того, что сообщение шифруется. Например, если $х$ это текст, который Боб хочет зашифровать, он может выбрать случайный "одноразовый номер" $s$, и производить $y_s$. Тогда Мэри сможет расшифровать $y_s$ получить $х$, но она не узнает $s$, так что она не может просто так сказать $х$ производит $y_s$ если она не раскроет свой секретный ключ. Я знаю, что эта концепция nonce существует в криптографии, но если бы кто-нибудь мог дать мне явный пример того, как ее реализовать (возможно, с помощью чего-то простого, такого как RSA), я был бы очень признателен.

флаг ph
Похоже, вам просто нужно, чтобы шифрование не было детерминированным, что будет иметь место для всех современных схем.
poncho avatar
флаг my
Я не знаю, возможно ли это; Я не вижу, как помешать Алисе сгенерировать доказательство с нулевым разглашением, что она знает ключ, который расшифровывает зашифрованный текст в открытый текст...
Рейтинг:3
флаг my

Ваша идея метода шифрования, включающего одноразовый номер и способ, которым Алиса не может восстановить одноразовый номер, практична; однако это не решает вашу проблему.

Одним из вариантов может быть вариант Эль Гамаль; в этой системе открытый ключ Алисы является значением $A= G^a \bmod p$, с $а$ закрытый ключ Алисы, и $Г, р$ общедоступные параметры (с $р$ будучи сейф-праймом, и $G$ квадратичный вычет).

Чтобы зашифровать сообщение $М < р/2$, Боб выберет случайное значение $г$, и сгенерировать зашифрованный текст $G^r \bmod p, M^2 \cdot A^r \bmod p$.

Чтобы расшифровать пару $Х, У$, Алиса будет вычислять $M^2 = Y \cdot X^{-a} \bmod p$ (а затем возьмите модульный квадратный корень из $М^2$ восстановить $ млн $).

Если Алиса получит пару $Х, У$, она не знает цены $г$, и так, на первый взгляд, показывая, что $G, A = G^a, X = G^r, Y \cdot M^{-2} = G^{ar}$ являются набором DH — это проблема принятия решений Диффи-Хеллмана, которая в общем случае сложна; она могла легко сделать это, разоблачив $а$, однако для нее это лишило бы цели.

Однако то, что она могла сделать, это сгенерировать доказательство с нулевым разглашением, что $G^x = А$ и $X^x = Y \cdot M^{-2}$ иметь общее решение $х$ (что она может сделать, так как знает, что такое обычное решение); это доказательство с нулевым разглашением показало бы, что $ млн $ является расшифровка, не раскрывая ее закрытый ключ.

Это приводит к более общему наблюдению; если алгоритм расшифровки $Д$ и генерация открытого ключа $Gen$ оба работают в политайме, затем утверждение, что $D(a, C) = M \land (a, A) = Gen(seed)$ (для публики $С$ и $ млн $ что Алиса утверждает, что расшифровка является оператором в NP (с $а$ и $сид$ быть «свидетелями»), и для такого утверждения в NP можно построить доказательство с нулевым разглашением, показывающее, что $ млн $ является правильной расшифровкой.

Итак, если Боб не может утверждать, что на самом деле он не отправлял зашифрованный текст $С$ (и я предполагаю, что каким-то образом предполагается, что каким-то образом все знают, что он это сделал), это не похоже на решаемую проблему.

Рейтинг:1
флаг in

Я думаю, что нашел решение, чтобы сделать это возможным! Ключевое понятие называется Отказ от аутентификации, и цель состоит в том, чтобы узнать, кто отправляет сообщение, но не иметь возможности доказать это другим. Практичная и простая реализация может быть найдена в Вей-Бин Ли, Чиа-Чун Ву, Воей-Джюнн Цаур (17 апреля 2006 г.) (см. раздел 3 «Предлагаемый нами протокол»). Я изложу ключевые моменты из него здесь.

Если Салли-отправитель хочет отправить сообщение Райану-получателю, это делается следующим образом.

  1. И у Салли, и у Райана есть открытый и секретный ключи.
  2. Салли отправляет сообщение $ млн $, а также случайно сгенерированный $(r, MAC)$, в котором используется комбинация $ млн $, а также секретный ключ Салли и открытый ключ Райана.
  3. Данный $ млн $ и и $г$, Рэнди проверяет, может ли он производить $MAC$ используя свой секретный ключ и открытый ключ Салли. Если он производит соответствие $MAC$, это означает, что Салли действительно отправила сообщение. В противном случае это подделка.

Почему такое решение работает? Потому что и Салли, и Райан могут производить $(r, MAC)$ вместе с $ млн $. Итак, если Райан пойдет в полицию и скажет: «Салли сказала $ млн $= «Я убью тебя», и это $(г, МАК)$ чтобы доказать это !!!». Полиция просто скажет: «Откуда мы знаем, что Салли произвела их, а не ты?», И Салли может похвастаться тем же.

Итак, поскольку и отправитель, и получатель способны или производят одно и то же, ни один из них не может доказать другим сторонам, кто из них это сказал.

Если, кроме того, вы также хотите зашифровать сообщение, Салли и Райан могут легко создать общий секрет (от diffie-hellman), который они используют для шифрования своих сообщений.

В любом случае, дело закрыто, я думаю! Опять же, если вам нужна настоящая математика, которая реализует этот протокол, она довольно короткая и простая. Просто проверьте бумагу.

poncho avatar
флаг my
На самом деле, если нет бумажного следа, показывающего, что Боб отправил сообщение, то самым простым ответом на вопрос ОП было бы простое шифрование с открытым ключом без идентификации отправителя...
флаг in
@poncho, в таком случае Алиса не узнает, кто отправил сообщение. Таким образом, Алиса знает, что Боб отправил сообщение, но она не может доказать другим, что он отправил это сообщение, а не она его просто придумала.
Рейтинг:0
флаг es

Я считаю, что вы ищете невозможно. Однако я предложу вам другой способ решения этой проблемы, который может оказаться полезным и основан на правдоподобном отрицании.

Во-первых, я попытаюсь объяснить, почему я считаю, что невозможно заставить Алису раскрыть свой секретный ключ, когда она доказывает другим, какое сообщение она расшифровала. Сегодня, с появлением доказательств с нулевым разглашением общих схем (например, STARKS и SNARKS) почти любая связь между секретным значением и общедоступным значением может быть доказана другим сторонам.(Любое отношение, которое может быть выражено полиномиальным числом вентилей $И$ и $ИЛИ$)

Как правило, криптосистема с открытым ключом определяется кортежем $(Gen, Enc, Dec)$:

  • $(pk, sk) \leftarrow Gen(\lambda, rnd)$: алгоритм генерации ключей, который генерирует открытый ключ $пк$ и секретный ключ $ск$ по параметру безопасности $\лямбда$ и случайная строка $rnd$.

  • $c \leftarrow Enc(m, pk, rnd)$: алгоритм шифрования, который шифрует сообщение $м$ с открытым ключом $пк$ и создает зашифрованный текст $с$. Этот алгоритм должен быть вероятностным алгоритмом, что означает, что он должен генерировать разные зашифрованные тексты каждый раз, когда мы его запускаем. В противном случае он не имеет самого низкого уровня безопасности с открытым ключом (IND-CPA).

  • $m \leftarrow Dec(c, sk)$ алгоритм расшифровки является детерминированным.

Если Алиса может повернуться $дек$ в схему с нулевым разглашением с частным значением $ск$ то она может доказать, что известный зашифрованный текст $с$ расшифровывает в $м$ с секретным ключом $ск$ что соответствует $пк$. Независимо от того, что такое криптосистема с открытым ключом.

Тем не менее, может быть другой способ решить проблему, используя не для записи сообщения (OTR), что делает общение на основе открытого ключа невозможным.

В OTR любая записанная стенограмма обмена сообщениями может быть сфабрикована любой стороной коммуникации. Соответственно, легко все отрицать.

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

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