Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
121
Добавлен:
02.05.2014
Размер:
147.97 Кб
Скачать

Лекция 18. Общая методика цифровой подписи.

18.1. Идея цифровой подписи на основе криптосистемы RSA. Определение хэш-функции.

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

Цель преобразования – доказать неоспоримость текста документа и факта преобразования данных конкретным лицом.

Основной метод – проверка факта использования секретного параметра (ключа) подписи, без знания ключа, проверяющим.

Подпись представляет собой блок данных. Подписанное сообщение представляет собой исходное сообщение, передаваемое совместно с ЦП.

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

Однако подобный подход не обеспечивает стойкость подписи при передаче случайных данных. Действительно, выберем число и построим сообщение . Тогда, очевидно, , т.е. подпись построена без знания секретного ключа.

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

Реальные хэш-функции представляют собой сложные алгоритмы, рекомендованные в соответствующих стандартах.

Определение хэш-функции. Хэш-функция - преобразование битовой строки произвольной длины в битовую строку (блок) фиксированной длины (обычно, 160-512 битов), обладающее следующими свойствами.

Восстановление по , исходя из соотношения , вычислительно нереализуемо.

Более того, исходя из заданных и , вычислительно нереализуемо определение второго прообраза для , т.е. такого сообщения , что .

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

18.2. Цифровая подпись на основе криптосистемы Эль-Гамаля.

Цифровая подпись Эль-Гамаля состоит из пары блоков .

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

Лицо, подписывающее документ, должно для каждого подписываемого сообщения выбрать рандомизатор и вычислить «предподпись» .

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

Сравнение имеет вид . Здесь модулем сравнения выбрано число , поскольку обе части сравнения в проверочном соотношении будут участвовать в показателях.

Заметим, что число может равняться , поскольку оно определяется из сравнения по модулю .

Подпись считается действительной, если .

Поскольку и , то окончательный вид проверочного соотношения следующий: . Таким образом, для проверки подписи достаточно знания открытого ключа.

Очевидно, необходимость выбора рандомизатора требует применения криптографически стойких датчиков (генераторов) псевдослучайных чисел.

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

В Государственном Стандарте Украины ДСТУ 4145-2002 для построения рандомизаторов цифровой подписи применяется датчик псевдослучайных чисел, элементом схемы которого является криптоалгоритм ГОСТ 28147-89 в режиме простой замены.

18.3. Пример на построение цифровой подписи Эль-Гамаля.

Выберем . Поскольку , то - первообразный элемент.

Примем . Тогда открытый ключ . Пусть.

Выберем рандомизатор . Вычислим первую часть подписи .

Затем – вторую часть подписи, по формуле , где . Получим . Подпись равна .

Проверка подписи. Вычисляем хэш-код сообщения (допустим, что ) и проверяем соотношение.

Получим: , , , , то есть, в данном случае, подпись верна.

Соседние файлы в папке Лекции по криптологии