Рейтинг:0

Выбор параметров дискретного логарифма Фиат-Шамира

флаг ph

Согласно с Эвристика Фиата-Шамира есть два параметра алгоритма: большое простое число $р$ и первобытный корень $г$. Отсюда возникает несколько вопросов:

  1. Насколько большим должно быть простое число $р$ быть? Как выбрать $р$ чтобы, например, алгоритм Полига—Хеллмана или другие известные алгоритмы не смогли его взломать?
  2. Как выбрать первообразный корень $г$? Насколько я знаю, это проблема NP.
  3. Безопасно ли использовать одинаковые значения $р$ и $г$ на пару испытаний?
Кирилл Волков avatar
флаг ph
@fgrieu Почему лучше использовать группу Шнора вместо безопасного прайма?
Рейтинг:2
флаг cn

Кажется, здесь есть неразбериха.Как правильно заметил fgrieu, Fiat-Shamir — это метод сделать общедоступную монету (честный верификатор) доказательством с нулевым разглашением неинтерактивным. Вам не нужно выбирать какой-либо параметр для Fiat-Shamir, кроме хеш-функции: все остальные параметры являются параметрами интерактивного протокола, который вы делаете неинтерактивным, или утверждения, которое вы пытаетесь доказать. Обычно для доказательства знания дискретного логарифма, группы, генератора $г$, а модуль $р$, являются частью описания инструкции. Доказательство Шнорра — это интерактивное доказательство для обработки таких утверждений, а Fiat-Shamir можно использовать, чтобы сделать его неинтерактивным.

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

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

Эвристика Фиата-Шамира — это общий метод построения неинтерактивной схемы доказательства (или подписи) из интерактивной схемы доказательства знаний. Ан пример интерактивной схемы, поддающейся эвристике Фиата-Шамира, является протокол в группе Шнорра. Я так понимаю вопрос(тот другой ответ обсудить более общую перспективу эвристики Fiat-Shamir).

Группа Шнорра — это подгруппа простого порядка $q$, и генератор $г$, принадлежащий мультипликативная группа по модулю какое-то простое $р$. Эта основная группа $\mathbb Z_p^*$ порядок $\varphi(p)=p-1$. Так как порядок подгруппы делит порядок группы, $q$ должно быть простым делением $p-1$. С $г$ является генератором, он должен быть таким, чтобы $g^q\equiv1\pmod p$ и $g\not\equiv1\pmod p$. Группа Шнорра обычно определяется как три целых числа $(р, д, г)$.

Насколько большим должно быть простое число $р$ быть? Как выбрать $р$ чтобы, например, алгоритм Полига—Хеллмана или другие известные алгоритмы не смогли его взломать?

Чтобы группа Шнорра представляла криптографический интерес, задача дискретного логарифма должна быть сложной в группе Шнорра. Это подразумевает сопротивление известным алгоритмам DLP. Алгоритм, практически определяющий необходимый размер $р$ в группе Шнорра является вариантом DLP GNFS, который исчисление индекса специализируется на $\mathbb Z_p^*$. текущая запись это 795-битный бит $р$, а минимальный рекомендуемый размер для текущих приложений — 2048 бит или 3072 бит для «2030 и более поздних версий».

Также необходимо, чтобы $q$ достаточно велик, чтобы Ро Полларда для DLP невыполнимо. Его стоимость составляет около $\Тета(\sqrtq)$ групповые умножения. Таким образом, рекомендуется минимум 224-битный или 256-битный $q$.

Этих требований достаточно, чтобы обеспечить Полиг-Хеллман Алгоритм не бояться. Это потому, что Pohlig-Hellman требует решения DLP в каждой подгруппе порядка $q^k$ с $k\ge 1$, $q$ премьер, и $q^k$ порядок деления базовой группы; и $к=1$ самый простой случай.

Как выбрать первообразный корень $г$?

Этот вероятностный полиномиальный алгоритм времени будет делать:

  • выбрать случайное простое число $q$ желаемого размера
  • выбрать случайно даже $г$ для премьер $p=qr+1$ желаемого размера
  • выбрал случайно $s$ в $[2,p-2]$, и вычислить $g=s^{(p-1)/q}\bmod p$, до тех пор $g\ne1$ (что почти наверняка)
  • в качестве проверки согласованности, проверьте $g^q\bmod p=1$ (это верно, если не было ошибки).

Безопасно ли использовать одинаковые значения $р$ и $г$ на пару испытаний?

Да. Очевидно, что знание решения конкретного DLP в группе Шнорра не помогает решить другие несвязанные случайные DLP в той же группе Шнорра (остается возможность того, что некоторые предварительные вычисления могут быть амортизированы между несколькими DLP, но это незначительно).

Почему лучше использовать группу Шнорра вместо безопасного простого числа $р$?

Безопасный премьер $р$ соответствует $p-1=2q$, или же $г=2$ выше. Хотя технически это по-прежнему соответствует определению группы Шнорра, это не соответствует ключевой мотивации групп Шнорра: наличие порядка $q$ гораздо меньшего размера, чем $р$. Это интересно, потому что показатели находятся в $\mathbb Z_q$, значит короче $q$ приводит к более быстрому возведению в степень, более коротким секретам и (в распространенном варианте эвристики Fiat-Shamir) более коротким подписям. А также поиск $р$ немного больше участвует. Насколько нам известно, использование группы Шнорра с достаточно большими $q$ и $р$ так же безопасно, как использование безопасного прайма $р$ сопоставимого размера.

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

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