Рейтинг:1

Как узнать, угадали ли вы правильный общий секрет Диффи-Хеллмана?

флаг tg

Дано только $р,$ $г,$ $A = g^a\pmod{p}$ и $B = g^b\pmod{p},$ возможные значения общего секрета — это все уникальные значения $A^b\pmod{p}$, где b — некоторое целое число. Общий секрет также равен $B^a\pmod{p}$, где а — некоторое целое число.

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

Я предполагаю следующее:

Обычно общий секрет используется в схеме симметричного шифрования, общие условия которой должны быть логически согласованы в общедоступном канале.Таким образом, с нашей точки зрения, мы бы знали, какой тип симметричного шифрования используется и, следовательно, как используется общий секрет, и, следовательно, могли бы попытаться расшифровать данное сообщение с каждым возможным общим секретом, пока не найдем тот, который дает нам исходный секрет. , незашифрованное сообщение. Но тогда нам нужно было бы знать, как должно выглядеть исходное незашифрованное сообщение.

ming alex avatar
флаг in
Как известно, безопасность протокола DH в основном основана на проблеме дискретного логарифмирования. Если $|p|$ очень велико, то никакой алгоритм PPT не может решить эту проблему. Я предлагаю вам прочитать какую-нибудь книгу по криптографии, чтобы лучше понять этот момент.
Рейтинг:1
флаг my

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

На практике количество возможных значений для общего секрета слишком велико, чтобы сканирование всех возможностей было практичным — всегда есть более простые атаки. И, как вы, кажется, правильно догадались, распознавание общего секрета на основе $g, g^a \bmod p, g^b \bmod p$ считается сложной проблемой (на самом деле мы называем ее «проблемой принятия решений Диффи-Хеллмана»)

Одна атака - взять $г$ и $g^a \bmod p$ и попытаться восстановить $а$ (то есть решить проблему дискретного логарифма) - как только мы имеем $а$, мы можем вычислить $B^a \bmod p$ (который является общим секретом), и это общий секрет.

Другой возможный подход состоит в том, чтобы атаковать симметричную сторону вещей — мы полностью игнорируем операцию DH и просто проводим атаку грубой силы на симметричный ключ. Кстати: незнание точного открытого текста обычно не является проблемой; даже если мы не знаем, что это такое, мы обычно знаем об этом достаточно, чтобы отличить его от случайной тарабарщины (что вы получаете, когда пытаетесь расшифровать его неправильным ключом) — кроме того, если вы используете AEAD алгоритме ключ используется для генерации тега (а также для шифрования), и тег также может использоваться для определения правильного ключа (даже если открытый текст действительно является случайной тарабарщиной).

Для обеих этих атак мы обычно выбираем параметры безопасности (такие как размер $р$ и размер симметричного ключа), чтобы сделать оба этих подхода невозможными.

user363406 avatar
флаг tg
Дело в том, что задача дискретного логарифмирования имеет бесконечные решения, потому что существуют бесконечные значения для $a$, удовлетворяющие условию $g^a\pmod{p} = A$, где A — некоторое число из множества {1,..., р-1}. Вот что меня смущает, когда люди говорят «решить задачу дискретного логарифма». Afaik, решая это, снова сводится к угадыванию и проверке различных возможных значений $a$, и поэтому это просто более ресурсоемкая версия задачи Decisional DH.
poncho avatar
флаг my
@ user363406: если мы найдем какое-либо решение $a$, то мы можем найти все остальные решения, добавив или вычитая кратные $q$ (где $q$ — это порядок $g$). Другими словами, существует (не более) одно решение в диапазоне $[0, q)$; поскольку мы обычно знаем значение $q$, мы можем сказать, что существует «единственное» решение. Кстати: есть известные группы, в которых известно, что проблема DH с принятием решений проста (учитывая значения $g, g^a, g^b, g^{c}$, мы всегда можем определить, $g^{ab} = g^c$), а вычислительная задача DH считается сложной, поэтому задача cDH кажется более сложной по своей сути.

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

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