57

По умолчанию ssh-keygen создает ключи RSA, но gpg --gen-key предпочитает DSA/ElGamal.

Какой из них - RSA или DSA - лучше для GPG?

6 ответов6

36

Сопровождающие GPG думают об изменении значения по умолчанию на RSA (источник: работа со слабостью в SHA-1 [LWN.net]). Таким образом, кажется, что RSA в настоящее время является лучшим вариантом (и они должны знать об этом больше, чем вы или я).

24

RSA и DSA - заблуждения и полезная информация
имеет несколько старых ссылок RSA и недавнюю ссылку DSA ,


В 2003 году RSA против DSA подписей - Победитель ... - RSA.

Таким образом, генерация ключей невероятно быстрее для DSA, что имеет смысл, если вы понимаете алгоритмы. Подписание также быстрее для DSA, но не так сильно. Большая сила RSA - проверка, которая намного быстрее, чем DSA.

Недавний проект IETF: DSA с SHA-2 для DNSSEC, срок действия истекает 7 января 2010 г.
У этого есть некоторые причины для продвижения DSA по RSA сегодня.

Использование DSA с SHA-256 в DNSSEC имеет некоторые преимущества и недостатки по сравнению с использованием RSA с SHA-256 при использовании 2048-битных ключей. Подписи DSA намного короче подписей RSA ; при этом размере разница составляет 512 бит по сравнению с 2048 битами. На типичных платформах, использующих 2048-битные ключи, подписывание DSA происходит примерно в три раза быстрее, чем для RSA, но проверка подписей RSA более чем в десять раз быстрее, чем для DSA.

Криптографическая стойкость DSA, как правило, считается эквивалентной RSA, когда открытый ключ DSA и открытые ключи RSA имеют одинаковый размер. Такая оценка, конечно, может измениться в будущем, если будут найдены новые атаки, которые лучше работают с тем или иным алгоритмом.

В настоящее время нет известных атак на конкретный набор параметров DSA, выбранных для этого документа. Такая оценка, конечно, может измениться в будущем.

Но это только черновик на данный момент.

Все любят скорость проверки RSA(!).

8

RSA. Были некоторые недостатки, обнаруженные в SHA-1, который является хешем, используемым DSA. Debian переносит все свои ключи из DSA в RSA.

5

Цитирую обсуждение на форуме:

Мой совет - использовать ключ подписи RSA ("первичный" или "главный" ключ) и подключ RSA для шифрования. Причина использования RSA для подписи заключается главным образом в том, что RSA позволяет использовать большие хэши, чем DSA. DSA2 также позволяет использовать большие хэши, но RSA поддерживается на много лет дольше, чем DSA2.

Я думаю, что если вы используете его стандартным способом (т.е. вы не шифруете огромное количество данных), они оба преуспеют.

Я лично выбрал бы RSA, потому что я изучил алгоритм, и это один из самых красивых алгоритмов, которые я когда-либо видел.

4

Также использование алгоритмов SHA-2 возможно и разрешено начиная с текущей версии DSS; но я не смог выяснить, какая версия GPG следует.

Относительно текущей спецификации DSS (FIPS-186-3, стр. I) может использоваться любая хеш-функция, указанная в SHS (FIPS-180-3, стр. Iv):

DSS:

Утвержденные FIPS алгоритмы цифровой подписи должны использоваться с соответствующей хэш-функцией, которая указана в SHS.

SHS:

В настоящем стандарте определены пять алгоритмов безопасного хеширования - SHA-1, SHA-224, SHA-256, SHA-384 и SHA-512 - для вычисления сжатого представления электронных данных (сообщения).


На вопрос: оба алгоритма основаны на математических задачах, которые не доказали свою безопасность (RSA использует проблему факторизации чисел, а DSA использует проблему дискретного логарифма), вы не можете сказать, что один является более безопасным, чем другой, потому что не один Ни та, ни другая проблема не были решены.

Но при использовании DSA с SHA-1 у вас могут возникнуть проблемы с безопасностью, как уже говорилось в pgs.

1

Дело в том, что это, вероятно, не имеет большого значения для вас :) В рамках подготовки к генерации пары ключей и в качестве части поддержки существующих пар ключей - независимо от того, какую асимметричную криптографию вы выберете, вы должны:1) проверить текущую рекомендуемую длина ключа 2) выбрал базу / модуль по модулю для оптимизации для подписи или проверки - в зависимости от того, что будет происходить чаще (ключи, которые будут использоваться при выдаче сертификатов сервера TLS / SSL, должны быть оптимизированы для проверки, поскольку каждый веб-браузер будет проверять подпись ... ключи, используемые для подписи программного обеспечения, должны быть оптимизированы аналогичным образом) 3) убедитесь, что вы стареете свои ключи - использовали один и тот же ключ для ssh-auth в течение нескольких лет, возможно, пришло время восстановить его, даже если вы выбрали ключ размер, который все еще является разумным для приложения сегодня.

Оба RSA и DSA были в значительной степени оценены; если вы используете надежную кодовую базу (RSAREF, реклама RSA, Mozilla/Netscape, Microsoft, OpenSSL, ...), то вам, вероятно, все равно, какую криптосистему вы используете, если вы используете ее правильно и используете текущие рекомендации

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