Цифровые подписи основаны на архитектуре шифрования с открытым ключом для проверки подлинности документа и идентификации отправителя. Двумя стандартными способами получения цифровых подписей являются алгоритмы RSA (Rivest-Shamir-Adleman) и DSA (Digital Signature), но оба они отличаются выполнением функций шифрования и дешифрования.

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

Введение в алгоритмы цифровой подписи

DSA (алгоритм цифровой подписи) включает в себя алгебраические свойства задач дискретного логарифмирования и модульного возведения в степень для создания электронной подписи для различных приложений. Он был предложен в 1991 году и принят в качестве федерального стандарта обработки информации Национальным институтом стандартов и технологий (NIST) в 1994 году.

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

instagram viewer

Однако в DSA ситуация иная, так как он генерирует две подписи за счет включения двух сложных и уникальных функций подписи и проверки. Следовательно, алгоритм DSA — это не простое использование закрытых и открытых ключей в начале и в конце связи.

Важность алгоритма цифровой подписи

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

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

Преимущества, которые предлагает DSA:

  • Безотказность: после проверки подписи отправитель не может утверждать, что не отправлял данные.
  • Честность: модификация данных во время передачи препятствует окончательной проверке или расшифровке сообщения.
  • Аутентификация сообщения: правильная комбинация закрытых и открытых ключей помогает проверить происхождение отправителя.

Как алгоритм аутентифицирует отправителя?

Алгоритм DSA работает с механизмом систематических вычислений, который вычисляет хеш-значение и цифровую подпись, состоящую из двух 160-битных чисел из дайджеста сообщения и закрытого ключа. Случайность делает подпись недетерминированной. Он использует открытый ключ для аутентификации подписи, что намного сложнее, чем RSA.

Цикл DSA следует этим трем основным шагам для завершения процесса:

  • Генерация ключей: Процесс основан на концепции модульного возведения в степень для получения закрытых (x) и открытых (y) ключей, которые удовлетворяют математическим условиям 0 < x < q и y = gx mod p. Где q — простой делитель, p — простое число, а g удовлетворяет этим условиям g**q mod p = 1 и g = h**((p–1)/q) mod p. Таким образом создаются пакеты закрытых и открытых ключей {p, q, g, x} и {p, q, g, y}.
  • Генерация подписи: Алгоритм хеширования генерирует дайджест сообщения, который передается в качестве входных данных функции подписи для создания двух переменных. выходы, r и s, упакованные как сигнатура {r, s}, так что сообщение и эти переменные отправляются пакетом на получатель.
  • Проверка подписи: Процесс использует функцию хэширования для вывода дайджеста и включает переменную s с другими параметрами из этапа генерации ключа для создания компонента проверки v. Функция проверки сравнивает вычисляемую переменную v с параметром r из набора {M, s, r}.

Подводя итог вышеописанному процессу не математически:

  • Вы создаете ключи с помощью алгоритма генерации ключей для подписи документа.
  • Затем используйте алгоритм цифровой подписи для создания подписи.
  • Использовать хэш-функция для создания дайджеста сообщенияи объедините его с DSA для создания цифровой подписи.
  • Отправьте подпись с данными для аутентификации получателя.
  • Получатель аутентифицирует подпись, используя алгоритм проверки. Это хеш-функция, использованная выше для создания дайджеста сообщения.

Плюсы использования алгоритма цифровой подписи

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

Минусы использования алгоритма цифровой подписи

  • Этот процесс не включает возможности обмена ключами.
  • То базовая криптография должен быть новым, чтобы обеспечить его прочность.
  • Стандартизация поставщиков компьютерного оборудования и программного обеспечения на RSA может вызвать проблемы из-за второго стандарта аутентификации DSA.
  • Сложные остаточные операции требуют много времени для вычислений и, следовательно, проверки подписи.
  • Он обеспечивает только аутентификацию, а не конфиденциальность, поскольку алгоритм не шифрует данные.
  • Алгоритмы DSA вычисляют хэш SHA1 для создания дайджеста сообщения. Следовательно, он отражает все недостатки хеш-функции SHA1 в алгоритме.

ДСА против RSA

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

Несмотря на то, что оба используют разные математические алгоритмы, стойкость криптографии одинакова. Основное различие между двумя алгоритмами сводится к скорости, производительности и поддержке протокола SSH.

  • В отличие от DSA, RSA медленно расшифровывает, генерирует ключи и проверяет, но быстро шифрует и подписывает. Однако для аутентификации требуется и то, и другое, и расхождения в скорости в реальных приложениях незначительны.
  • Еще одно отличие заключается в поддержке сетевого протокола Secure Shell. RSA поддерживает исходный SSH и его безопасную вторую версию SSH2, тогда как DSA работает только с SSH2.

Аутентификация источника данных с помощью DSA

Цифровые подписи необходимы в современном взаимосвязанном мире для создания безопасной и надежной среды. Это отличный способ аутентифицировать любую запись в Интернете. В статье представлены алгоритмы цифровой подписи с кратким обзором процесса их работы, преимуществами, недостатками, ограничениями безопасности и сравнением с RSA.

TLS против. SSL: в чем разница и как это работает

Об этих двух протоколах шифрования часто говорят вместе, но что это такое и как они работают?

Читать дальше

ДелитьсяТвитнутьЭл. адрес
Похожие темы
  • Безопасность
  • Цифровые подписи
Об авторе
Румайса Ниази (опубликовано 17 статей)

Румаиса — независимый писатель в MUO. Она носила много шляп, от математика до энтузиаста информационной безопасности, и теперь работает аналитиком SOC. Ее интересы включают чтение и письмо о новых технологиях, дистрибутивах Linux и обо всем, что связано с информационной безопасностью.

Другие работы Румайсы Ниази

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!

Нажмите здесь, чтобы подписаться