Алгоритм цифровой подписи Эль Гамаля (EGSA)
Название EGSA происходит от слов El Gamal Signature Algorithm (алгоритм цифровой подписи Эль Гамаля). Идея EGSA основана на том, что для обоснования практической невозможности фальсификации цифровой подписи может быть использована более сложная вычислительная задача, чем разложение на множители большого целого числа, задача дискретного логарифмирования. Кроме того, Эль Гамалю удалось избежать явной слабости алгоритма цифровой подписи RSA, связанной с возможностью подделки цифровой подписи под некоторыми сообщениями без определения секретного ключа. Рассмотрим подробнее алгоритм цифровой подписи Эль Гамаля. Для того чтобы генерировать пару ключей (открытый ключ секретный ключ), сначала выбирают некоторое большое простое целое число Р и большое целое число G, причем Отправитель выбирает случайное целое число
Число Y является открытым ключом, используемым для проверки подписи отправителя. Число Y открыто передается всем потенциальным получателям документов. Число X является секретным ключом отправителя для подписывания документов и должно храниться в секрете. Для того чтобы подписать сообщение М, сначала отправитель хэширует его с помощью хэш-функции
и генерирует случайное целое число
и, применяя расширенный алгоритм Евклида, вычисляет с помощью секретного ключа X целое число b из уравнения
Пара чисел
Тройка чисел После приема подписанного сообщения
т.е. хэширует принятое сообщение М. Затем получатель вычисляет значение
и признает сообщение М подлинным, если, и только если
Иначе говоря, получатель проверяет справедливость соотношения
Можно строго математически доказать, что последнее равенство будет выполняться тогда, и только тогда, когда подпись Следует отметить, что выполнение каждой подписи по методу Эль Гамаля требует нового значения К, причем это значение должно выбираться случайным образом. Если нарушитель раскроет когда-либо значение К, повторно используемое отправителем, то он сможет раскрыть секретный ключ X отправителя.
Пример. Выберем: числа
Предположим, что исходное сообщение М характеризуется хэш-значением Для того чтобы вычислить цифровую подпись для сообщения М, имеющего хэш-значение Действительно,
Далее вычисляем элементы а и b подписи:
элемент b определяем, используя расширенный алгоритм Евклида:
При
или
Решение: Далее отправитель передает подписанное сообщение. Приняв подписанное сообщение и открытый ключ
1) 2) Так как эти два целых числа равны, принятое получателем сообщение признается подлинным. Следует отметить, что схема Эль Гамаля является характерным примером подхода, который допускает пересылку сообщения М в открытой форме вместе с присоединенным аутентификатором Схема цифровой подписи Эль Гамаля имеет ряд преимуществ по сравнению со схемой цифровой подписи RSA: 1. При заданном уровне стойкости алгоритма цифровой подписи целые числа, участвующие в вычислениях, имеют запись на 25% короче, что уменьшает сложность вычислений почти в два раза и позволяет заметно сократить объем используемой памяти. 2. При выборе модуля Р достаточно проверить, что это число является простым и что у числа 3. Процедура формирования подписи по схеме Эль Гамаля не позволяет вычислять цифровые подписи под новыми сообщениями без знания секретного ключа (как в RSA). Однако алгоритм цифровой подписи Эль Гамаля имеет и некоторые недостатки по сравнению со схемой подписи RSA. В частности, длина цифровой подписи получается в 1,5 раза больше, что, в свою очередь, увеличивает время ее вычисления.
Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|