DSA (Digital Signature Algorithm)
Digital Signatures Algorithm — это FIPS (Федеральный Стандарт Обработки Информации) для электронных подписей. Национальный Институт Стандартов и Технологий (NIST) предложил его в 1991 году и глобально стандартизировал его в 1994 году. DSA работает на основе фреймворка модульного возведения в степень и дискретных логарифмических задач, которые трудно вычислить как систему грубого перебора.
Алгоритм DSA обеспечивает следующие преимущества:
- Определение сообщений. Пользователь может подтвердить личность отправителя при помощи проверочной комбинации.
- Подтверждение подлинности. Пользователь не может изменять сообщение, так как это предотвратит расшифровку всего пакета.
- Отмена отрицания. Отправитель не может заявить, что ничего не отправлял, если его подпись подтверждена.
Как работает алгоритм
Смысл алгоритма в определении того, кто является автором сообщения. Ключ хранится у отправителя. Математический алгоритм срабатывает как шифр, создавая данные, соответствующие подписанному документу, которые называются хэш, затем алгоритм зашифровывает эти данные.
Ключи создаются с помощью специального алгоритма производства. Полученные ключи используются для подписи документа. Функция хэша используется, чтобы сделать дайджест сообщения. Дайджест сообщения вместе с DSA дает цифровую подпись. Затем цифровая подпись передается вместе с отправляемыми данными. Распознавание подписи осуществляется с использованием алгоритмов подтверждения. Для проверки используется та же самая хэш-функция.
Преимущества DSA
- Высокая надежность. DSA обладает высокой надежностью с точки зрения безопасности и стабильности по сравнению с альтернативными алгоритмами проверки подписи.
- Лучшая скорость. Генерация ключей происходит намного быстрее по сравнению с алгоритмом RSA и т. д.
- Меньше места для хранения. DSA требует меньше места для хранения для работы в течение всего цикла.
- Отсутствие патентов. Когда NIST выпустила его, он не был запатентован, что позволяло использовать его во всем мире бесплатно.