Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Решенные билеты.doc
Скачиваний:
100
Добавлен:
26.05.2014
Размер:
1.72 Mб
Скачать

Вопрос 15 Цифровая подпись Эль Гамаля

Схема основывается на трудности вычисления дискретного логарифма.

Параметры системы

Как и в схеме шифрования Эль Гамаля, вычисления делаются в какой-нибудь группе, в которой трудно вычислять дискретный логарифм, например в Zp * , где р — простое число, p=2q + 1, qпростое число. Выбирается gобразующий элемент группы.

Ключи

  • Закрытый ключ х N (фактически достаточно х Zp-1).

  • Открытый ключ у=gx.

Создание подписи

Пусть т — сообщение, h=H(m) — его хэш-сумма. Выбираем kZp-1*(НОД(k,p-1)=1). Находим k-1 в Zp-1*. Прячем k: r=gk. Вычисляем

s=k-1 (h-xr)mod(p-1)

Пара (r,s) представляет собой цифровую подпись

Проверка подписи

Пусть получено сообщение m, h=H(m) с подписью (r,s). Проверяем

Значение h однозначно определяется парой (r,s).

Доказательство того, что данному h трудно без знания х подобрать такие r и s, чтобы соотношение было выполнено, не известно ни автору [88], ни автору данной работы, как неизвестны и способы решения этой задачи.

Утверждение. Имея цифровую подпись по Эль Гамалю, можно построить правильную подпись для другого значения h.

Доказательство. Если ghrrs, выберем А,В,С такие, что

Положим

Пара (r',s') является правильной цифровой подписью для сообщения с хэш-суммой h'.

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

При специальном выборе параметров р и g становится возможным подделывать подписи. Например, в [90] доказывается следующая

Теорема. Если p-1=bw, где b имеет только малые простые делители, и известны образующий элемент d=cw (c<b) и t такое, что dt=g в Zp*, то можно построить правильную подпись по Эль Гамалю (r, s) для заданного значения h.

Эскиз доказательства. Подпись строится так:

где

Значение z можно найти, поскольку gwобразующий элемент подгруппы, имеющей порядок b.

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

Стандарт DSS

Стандарт США DSS (Digital Signature Standard) [91] является развитием схемы Эль Гамаля, но при той же надежности в смысле дискретного логарифма требует возведения в меньшую степень. Кроме того, при разработке стандарта были учтены недостатки схемы Эль Гамаля, например упомянутый способ подбора ненадежных параметров системы. Еще одним побудительным мотивом при разработке DSS стало желание сократить время создания подписи за счет времени проверки (как раз наоборот по сравнению с цифровой подписью RSA).

Параметры системы:

  • р — простое число 2L-1<p<2L, 512L1024, L делится на 64;

  • qпростое, 2159<q<2160, p=qt+1;

  • gэлемент порядка q в Zp*, подбирается в виде так, чтобыg не равнялось 1;

  • H — криптографически стойкая хэш-функция.

Ключи

  • Закрытый ключ х, 0 < х < q.

  • Открытый ключ у=g x mod p.

Создание подписи

  • m — сообщение, h=H(m) — его хэш-сумма.

  • Выбираем.Находим k-1 в Zq.

  • Прячем k: r=(gk mod p) mod q.

  • Вычисляем s=k-1 (h + xr) mod q.

  • Пара (r,s) представляет собой цифровую подпись.

Проверка подписи

Пусть получено сообщение с хэш-суммой h и подписью (r,s).

  • Проверяем 0<r<q и 0<s<q.

  • Полагаем и1=s-1h mod q, u2=s-1 r mod q.

  • Проверяем r=(gu1 yu2 mod p) mod q.

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

Приведем несколько замечаний по поводу надежности схемы DSS.

Замечание. В отличие от схем RSA и Эль Гамаля, в схеме DSS одна и та же подпись может соответствовать сообщениям с различной хэш- суммой.

Доказательство. Отображение t | (gt modp) modq не является взаимно однозначным, как показывает следующий пример (4 имеет порядок 5 вZ11*):

Пусть известны два значения k1 и k2 такие, что

Тогда для любого h1 можно найти h 2 из уравнения

Подпись (r,s) окажется правильной как для h1, так и для h 2.

Замечание. Существуют методы нахождения закрытого ключа по открытому ключу и подписи за время, необходимое для вычисления дискретного логарифма по модулю рис использованием объема памяти порядка .

Замечание. Неизвестно, сводится ли задача подделки подписи DSS задаче вычисления дискретного логарифма.

Замечание. Зная k, можно вычислить r и x. Следовательно, если при построении подписи используется плохой генератор случайных чисел, существует риск раскрытия закрытого ключа.

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

Именно поэтому стандарт рекомендует алгоритм выбора параметров р и q с использованием хэш-функции. Другим вариантом решения этой проблемы является независимый выбор каждым участником параметров для себя.

Скрытый канал (subliminal channel). Создатель подписи может прятать в цифровой подписи сообщения для проверяющего, которому известен закрытый ключ х. Шифруем сообщение b (например, k=kib modq, где ki выбираются из списка, известного подписывающему и проверяющему) и используем в качестве значения k.

Возможны более «узкие», т. е. несущие меньше информации, каналы, не требующие знания проверяющим закрытого ключа.[1]

Соседние файлы в предмете Криптография