Лучший алгоритм шифрования и подписи для GnuPG: RSA / RSA или DSA / Elgamal?

28969
The-Q

Я нашел этот относительно старый вопрос о том, является ли RSA или DSA предпочтительным алгоритмом для подписывания и шифрования с помощью GnuPG.

При использовании gpg --gen-keyдва соответствующих варианта: «RSA и RSA» или «DSA и Elgamal». Что лучше? Каковы плюсы и минусы для каждого? Что-нибудь изменилось с 2009 года?

45
эти посты также оказались полезными: [linuxquestions.org/565242#2986414](http://www.linuxquestions.org/questions/linux-security-4/gpg-rsa-or-dsa-with-el-gamal-for -new-keys-565242 / # post2986414) и [lists.gnupg.org/022764](http://lists.gnupg.org/pipermail/gnupg-users/2004-June/022764.html) RubyTuesdayDONO 10 лет назад 0

2 ответа на вопрос

72
Jens Erat

Надежные Рекомендации

Когда во время последнего поста все еще велись споры об изменении алгоритмов по умолчанию, которые все еще были найдены в веб-архиве и которые имели грубый консенсус, был выполнен переход на ключи RSA 2k по умолчанию.

Debian рекомендует использовать в своем документе ключ RSA 4k об использовании файла readme для подразделов и ключей debian . Подавляющее большинство из примерно трех четвертей ключей в наборе ключей разработчиков Debian (все еще) - это DSA / Elgamal (подсчитывается путем просмотра результатов gpg).

В интервью iX (немецкий журнал по компьютерным наукам, выпуск 11/2013, также доступный в Интернете бесплатно ) изобретатель PGP Фил Циммерманн рекомендует «по крайней мере 3 КБ при использовании RSA», хотя ключи 1 КБ еще не сломаны. Но они «доступны злоумышленникам, богатым ресурсами».

Что касается безопасности

В настоящее время считается, что оба ключа безопасны для ключей подходящего размера (для RSA рекомендуется 4k, для DSA2 - 2k, в противном случае вы будете использовать DSA1, который использует SHA-1 ).

Чтобы выбрать длину ключа RSA, взгляните на обзор фактической прочности, предоставленной NIST (стр. 64). Легко видеть, что сила не линейно растет с длиной ключа (и временем вычислений), поэтому двойной размер не означает «двойную безопасность».

Была проблема с DSA-реализацией OpenSSL в Debian, но это было вызвано использованием неверных случайных данных и могло произойти и с RSA.

Выбор между RSA и DSA2

про RSA

  • RSA более распространен, хотя и не обязателен в стандарте OpenPGP, с ним могут справиться все основные реализации; DSA2 нет (пока)
  • RSA предлагает намного более быструю проверку подписи

про DSA2

  • Меньшие подписи, но они все равно маленькие; для электронной почты и подписи кода, вероятно, незначительный
  • Более быстрое создание ключа (может быть актуально для устройств с низким энергопотреблением и встроенных устройств, таких как мобильные телефоны и маршрутизаторы)
  • Немного быстрее для подписи

Мое собственное решение

При недавнем создании нового ключа OpenPGP я решил использовать 8k RSA для первичных ключей и 4k RSA в качестве подразделов для ежедневного использования. В любом случае подписи RSA можно быстро проверить, а огромные 8 тыс. Подписей используются только для подписи других ключей, но 8 тыс. Следует считать достаточным в течение очень долгого времени. 4k отлично подходит для текущего подраздела, так как дешево отозвать его, не потеряв все свои подписи.

Создание этого 8k-ключа заняло около 20 минут на моем Core 2 Duo T9300, поэтому не торопитесь и проделайте некоторую работу (для подачи случайного источника).

0
Ben

Принимая во внимание, что я выбрал главный ключ RSA 4K с ключом подписи RSA 3K и ключом шифрования Эль-Гамаля 4K. Единственная причина, по которой я пока не выбрал более высокий мастер-ключ, заключается в преобладании пользователей с мобильными устройствами, которые действительно борются с большими ключами.

Конечно, у меня есть большие ключи для определенных конкретных целей, но это не для общения с другими.

почему Эль-Гамаль для шифрования? code_monk 8 лет назад 1

Похожие вопросы