5 ответов:
RSA
Шифрование и расшифровка RSA являются коммутативными
следовательно, он может быть использован непосредственно в качестве схемы цифровой подписи
учитывая схему RSA {(e,R), (d,p,q)}
чтобы подписать сообщение M, вычисляет:
S = M мощность d (mod R)
чтобы проверить подпись, вычислите:
M = S сила e(мод р) = м мощность Эл.д(мод Р) = М(мод Р)RSA может использоваться как для шифрования, так и для цифровых подписей, просто изменив порядок, в котором используются экспоненты: секретный показатель степени (d) для создания подписи, публичный показатель степени (e) для любого, чтобы проверить подпись. Все остальное идентично.
DSA (алгоритм цифровой подписи)
ДСА-это вариант на Эль-Гамаля и Шнорра алгоритмы создает 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 мощность x (mod p)
Генерация ключей DSA связана, но несколько сложнее, чем El Gamal. В основном из-за использования вторичного 160-битного модуля q, используемого для помощи ускорьте вычисления и уменьшите размер результирующей подписи.создание и проверка подписи DSA
подписать сообщение M
генерировать случайный ключ подписи к к вычислить
r = (g мощность 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, то подпись проверяетсясоздание подписи снова похоже на Эль-Гамаля с использованием для каждого сообщения временный ключ подписи k, но делает calc первый мод p, затем mod q, чтобы уменьшить размер результата. Обратите внимание, что использование хеш-функция SHA здесь явна. Проверка также состоит из сравнение двух вычислений, опять же немного сложнее, чем, но связан с Эль Гамалем.
обратите внимание, что почти все вычисления mod q, и следовательно, гораздо быстрее.
но, в отличие от RSA, DSA можно использовать только для цифрового подписиDSA Security
Наличие подсознательного канала существует во многих схемах (любые, которые требуют выбора случайного числа), а не только DSA. Он подчеркивает необходимость "системной безопасности", а не просто хорошего алгоритма.
Регистрация ответ Авы ниже.
мой старый ответ кажется неправильным
Кстати, вы не можете зашифровать с помощью DSA, только знак. Хотя они математически эквивалентны (более или менее), вы не можете использовать DSA на практике как схему шифрования, только как схему цифровой подписи.
со ссылкой на
man ssh-keygen, длина ключа DSA ограничена ровно 1024 битами, чтобы оставаться совместимым с FIPS 186-2 NIST. Тем не менее, более длинные ключи DSA теоретически возможны; FIPS 186-3 явно позволяет их. Кроме того, безопасность больше не гарантируется с помощью 1024-битных ключей RSA или DSA.В заключение 2048 бит RSA ключ в настоящее время является лучшим выбором.
ДОПОЛНИТЕЛЬНЫЕ МЕРЫ ПРЕДОСТОРОЖНОСТИ
создание защищенного SSH соединение влечет за собой больше чем выбор безопасной технологии пары ключей шифрования. Учитывая разоблачения Эдварда Сноудена в АНБ, нужно быть еще более бдительным, чем то, что ранее считалось достаточным.
чтобы назвать только один пример, используя безопасный алгоритм обмена ключами не менее важно. Вот хороший обзор текущего лучшие практики SSH закалки.
и в дополнение к вышесказанному хорошие ответы.
- DSA использует дискретный логарифм.
- RSA использует целочисленную факторизацию.
RSA означает Рон Rivest, Adi Sхамир и Леонард Adleman.
Comments