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

47

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

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

-Q
источник
эти посты также оказались полезными: linuxquestions.org/565242#2986414 и lists.gnupg.org/022764
RubyTuesdayDONO

Ответы:

74

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

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

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

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

Относительно безопасности

В настоящее время считается, что оба ключа безопасны для ключей подходящего размера (рекомендуется 4 КБ для RSA, 2 КБ для DSA2, в противном случае вы будете использовать 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

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

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

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