46

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

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

2 ответа2

72

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .