Подтвердить что ты не робот

В чем разница между DSA и RSA?

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

4b9b3361

Ответ 1

От группы Linux; )

DSA быстрее подписывается, но медленнее в проверке. Ключ DSA того же как RSA (1024 бит) генерирует меньшая подпись. Бит RSA 512 бит ключ был взломан, но только 280 DSA-ключ.

И посмотрите "Что лучше для ключей GPG - RSA или DSA?" @SuperUser:)

Также обратите внимание, что DSA может использоваться только для подписания/проверки, тогда как RSA также может использоваться для шифрования/дешифрования.

Ответ 2

Btw, вы не можете шифровать с помощью DSA, только подписывать. Хотя они математически эквивалентны (более или менее), вы не можете использовать DSA на практике в качестве схемы шифрования только в качестве схемы цифровой подписи.

Ответ 3

Что касается man ssh-keygen, длина ключа DSA ограничена ровно 1024 бит, чтобы оставаться совместимым с NIST FIPS 186-2. Тем не менее, более длинные ключи DSA теоретически возможны; FIPS 186-3 явно разрешает их. Кроме того, безопасность больше не гарантируется с 1024-битными RSA или DSA-ключами.

В заключение, 2048-битный RSA-ключ в настоящее время является лучшим выбором.

БОЛЬШЕ МЕРЫ ПРЕДОСТОРОЖНОСТИ

Установление безопасного SSH-соединения влечет за собой больше, чем выбор технологии безопасного ключа шифрования. Ввиду откровений Эдварда Сноуденга, нужно быть еще более бдительными, чем то, что ранее считалось достаточным.

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

Ответ 4

Ссылаясь, http://courses.cs.tamu.edu/pooch/665_spring2008/Australian-sec-2006/less19.html

RSA
Шифрование и дешифрование RSA являются коммутативными
следовательно, его можно использовать непосредственно в качестве схемы цифровой подписи
с учетом схемы RSA {(e, R), (d, p, q)}
подписать сообщение M, вычислить:
S = M мощность d (mod R)
проверить подпись, вычислить:
M = S мощность e (mod R) = M мощность e.d(mod R) = M (mod R)

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

DSA (алгоритм цифровой подписи)
DSA является вариантом алгоритмов ElGamal и Schnorr создает 320-битную подпись, но с безопасностью 512-1024 бит безопасность снова зависит от сложности вычисления дискретных логарифмов был довольно широко принят

Генерация ключей DSA
выбираются сначала общедоступные глобальные значения открытого ключа (p, q, g):
выберите большую правую степень p = 2 L где L = 512 - 1024 бит и кратно 64
выберите q, 160-битный простой коэффициент p-1
выберите g = h мощность (p-1)/q
для любого h1 то каждый пользователь выбирает закрытый ключ и вычисляет их открытый ключ:
выберите x вычислить y = g power x (mod p)

Генерация ключей DSA связана, но несколько более сложна, чем El Gamal. В основном из-за использования вторичного 160-битового модуля q, используемого для помощи ускорить вычисления и уменьшить размер получаемой подписи.

Создание и проверка подписи DSA

, чтобы подписать сообщение M
генерировать произвольную сигнатурную клавишу k, k вычислить
r = (g power k (mod p)) (mod q)
s = k-1.SHA(M) + x.r(mod q)
отправить подпись (r, s) с сообщением

проверить подпись, вычислить:
w = s-1 (mod q)
u1 = (SHA (M).w) (mod q)
u2 = r.w(mod q)
v = (g мощность u1.y мощность u2 (mod p)) (mod q)
если v = r, то сигнатура проверяется

Создание подписи снова похоже на ElGamal с использованием за сообщение временного ключа подписи k, но делать calc сначала mod p, затем mod q, чтобы уменьшить размер результата. Обратите внимание, что использование здесь используется явная функция SHA. Проверка также состоит из сравнивая два вычисления, снова немного сложнее, чем, но связан с Эль Гамалом.
Обратите внимание, что почти все вычисления являются mod q, и следовательно, намного быстрее.
Но, в отличие от RSA, DSA может использоваться только для цифровых подписей

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

Ответ 5

И в дополнение к вышеупомянутым приятным ответам.

  • DSA использует дискретный логарифм.
  • RSA использует Целочисленную факторизацию.

RSA означает Ron R ivest, Adi S hamir и Leonard A dleman.