Алгоритм цифровой подписи DSA. Алгоритм цифровой подписи DSA (Digital Signature Algorithm) предложен в 1991 г
Алгоритм цифровой подписи DSA (Digital Signature Algorithm) предложен в 1991 г. в НИСТ США для использования в стандарте цифровой подписи DSS (Digital Signature Standard). Алгоритм DSA является развитием алгоритмов цифровой подписи Эль Гамаля и К. Шнорра. Отправитель и получатель электронного документа используют при вычислении большие целые числа: G и Р — простые числа, L бит каждое Отправитель выбирает случайное целое число Затем отправитель вычисляет значение
Число Y является открытым ключом для проверки подписи отправителя. Число Y передается всем получателям документов. Этот алгоритм также предусматривает использование односторонней функции хэширования Для того чтобы подписать документ М, отправитель хэширует его в целое хэш-значение m:
затем генерирует случайное целое число
Затем отправитель вычисляет с помощью секретного ключа X целое число s:
Пара чисел r и s образует цифровую подпись Таким образом, подписанное сообщение представляет собой тройку чисел Получатель подписанного сообщения
и отвергает подпись, если хотя бы одно из этих условий не выполнено. Затем получатель вычисляет значение
хэш-значение
и числа
Далее получатель с помощью открытого ключа Y вычисляет значение
и проверяет выполнение условия
Если условие
По сравнению с алгоритмом цифровой подписи Эль Гамаля алгоритм DSA имеет следующие основные преимущества; 1. При любом допустимом уровне стойкости, т.е. при любой паре чисел G и Р (от 512 до 1024 бит), числа q, X, r, s имеют длину по 160 бит, сокращая длину подписи до 320 бит. 2. Большинство операций с числами К, r, s, X при вычислении подписи производится по модулю числа q длиной 160 бит, что сокращает время вычисления подписи. 3. При проверке подписи большинство операций с числами и Недостатком алгоритма DSA является то, что при подписывания и при проверке подписи приходится выполнять сложные операции деления по модулю q:
что не позволяет получать максимальное быстродействие. Следует отметить, что реальное исполнение алгоритма DSA может быть ускорено с помощью выполнения предварительных вычислений. Заметим, что значение r не зависит от сообщения М и его хэш-значения m. Можно заранее создать строку случайных значений К и затем для каждого из этих значений вычислить значения r. Можно также заранее вычислить обратные значения
Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|