найти генератор для elgamal - PullRequest
3 голосов
/ 22 декабря 2010

как найти генераторы для схемы сигнатур elgamal? Существуют ли значения, которые используются большинством программ, которые являются хорошими генераторами? или есть способ найти генератор для простого значения? если да, то как? Правда ли, что простое число имеет хотя бы 1 генератор?

Ответы [ 3 ]

1 голос
/ 22 декабря 2010

Используйте DSA вместо схемы подписи ElGamal.

Существует слишком много ошибок, которые могут быть допущены при реализации ElGamal. Одна из этих ошибок - то, что предложил GregS: использовать параметры IKE. Эти параметры были сгенерированы для шифрования Эль-Гамаля, а не для схемы подписи. Две схемы имеют разные требования. В частности, использование g = 2 в качестве генератора является хорошим выбором для шифрования, но очень плохим выбором для схемы подписи. (См., Например, «Руководство по прикладной криптографии» http://www.cacr.math.uwaterloo.ca/hac/ примечание 11.67 в главе 11 для некоторых деталей). Правильно было бы выбрать генератор случайным образом. Но еще раз, если вы просто используете DSA, то можете просто избежать этих ловушек, следуя стандарту.

Просто добавим немного больше: OpenPGP http://tools.ietf.org/html/rfc4880, который используется для разрешения подписей ElGamal, но уже устарел. Это осуждение было вполне разумным, поскольку DSA имеет только преимущества: он более эффективен, безопасен и стандартизирован. Конечно, вы могли бы взглянуть на старые реализации PGP, но не сказали бы, дают ли эти реализации разумный выбор без предварительного изучения литературы.

1 голос
/ 19 апреля 2012

как найти генераторы для схемы сигнатур elgamal? Существуют ли значения, которые используются большинством программ, которые являются хорошими генераторами? или есть способ найти генератор для простого значения? если да, то как?

Вы можете использовать общий вероятностный алгоритм 4,86 ​​в Справочник по прикладной криптографии . Вам все еще нужно отсеять из вывода такого алгоритма значения, которые, как известно, небезопасны для сигнатуры Эльгамаля. По крайней мере, любое значение, которое делит p-1 (например, 2), и любое значение, обратное значение которого делит p-1 . Обратите внимание, что это те условия, которые я знаю сегодня. Может потребоваться некоторое углубленное исследование статей, опубликованных по этой теме.

Лично я бы не стал доверять параметрам домена, уже используемым в существующих программах. Авторы, возможно, не учли все вышеперечисленные условия, плюс исследование могло бы выделить новые условия с момента их выбора.

Правда ли, что простое число имеет хотя бы 1 генератор?

Абсолютно верно: всегда есть по крайней мере один генератор для мультипликативной группы по целым числам по модулю p p , являющимся простым числом). На самом деле он имеет гораздо больше: phi (phi (p)) , где phi является функцией totient . Не все из них будут безопасны для схемы подписи Elgamal.

0 голосов
/ 22 декабря 2010

Эль-Гамаля можно рассматривать как вариант алгоритма Диффи-Хеллмана, а параметры для последнего можно использовать для первого.Так, например, вы можете использовать группы IKE 1 и 2 из RFC 2409 , а более крупные группы IKE добавляются в другие RFC.Вы также можете следить за обсуждением в FIPS 186 для генерации параметров DSA.Также см. это обсуждение примитивных корней .

РЕДАКТИРОВАТЬ:
Как отмечает @abc, это неправильно для эль-гамаля подписей.Перейдите по ссылке DSA (FIPS 186).

...