Файл: 2.2.1.4 - Организация электронной подписи в криптосистеме RSA.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 15.02.2021
Просмотров: 145
Скачиваний: 1

Организация
электронной
подписи
в
криптосистеме
RSA.
Важным
преимуществом
криптосистем
открытого
шифрования
вообще
и
криптосистемы
RSA
в
частности
является
возможность
довольно
простой
организации
в
ее
рамках
электронной
подписи
.
Раньше
,
когда
сторонами
,
обменивающимися
секретными
сообщениями
,
были
дипломаты
,
военные
и
др
.,
можно
было
говорить
о
надежности
партнеров
по
связи
,
об
их
взаимном
доверии
друг
к
другу
.
Основной
заботой
обменивающихся
сторон
служило
лишь
то
,
чтобы
в
конфиденциальную
связь
не
смогли
вклиниться
третьи
стороны
.
Практически
были
исключены
случаи
,
когда
после
получения
очередного
конфиденциального
сообщения
адресат
вел
бы
себя
недобросовестно
и
по
каким
-
либо
соображениям
объявлял
о
неполучении
им
этого
сообщения
.
Или
же
,
наоборот
,
когда
абонент
объявлял
бы
о
получении
им
некоторой
информации
,
хотя
в
действительности
такую
информацию
он
не
получал
.
Иными
словами
,
речь
шла
об
обмене
конфиденциальными
сообщениями
между
"
своими
",
которые
пользовались
безграничным
взаимным
доверием
.
При
такой
постановке
вполне
приемлемыми
оказались
криптосистемы
,
базирующиеся
на
использовании
секретных
ключей
шифрования
.
Принципиально
иная
картина
складывается
сейчас
,
когда
обмен
документами
(
сообщениями
)
осуществляется
между
абонентами
,
которые
заведомо
не
доверяют
друг
другу
.
Например
,
когда
речь
идет
об
обмене
информацией
(
пусть
даже
конфиденциальной
)
между
коммерческими
фирмами
,
банками
или
иными
подобными
организациями
.
Здесь
должны
быть
предусмотрены
дополнительные
меры
,
доказывающие
факт
посылки
или
получения
соответствующих
сообщений
.
Именно
здесь
проявляется
одно
из
важных
преимуществ
односторонних
функций
и
реализованных
на
них
криптосистем
с
открытым
ключом
шифрования
.
С
помощью
односторонних
функций
удается
организовать
электронную
подпись
,
которая
по
своей
надежности
вполне
может
конкурировать
с
обычными
под
-
писями
на
бумажных
носителях
.
Проследим
,
например
,
за
механизмом
организации
электронной
подписи
в
рамках
системы
RSA,
Пусть
имеется
необходимость
в
том
,
чтобы
j
-
м
абонентом
в
адрес
i
-
го
абонента
было
послано
некоторое
сообщение
(
некоторый
текст
)
X
и
чтобы
к
тому
же
j-
й
абонент
подписался
под
этим
текстом
,
с
тем
,
чтобы
в
последующем
у
i
-
го
абонента
было
неопровержимое
(
или
почти
неопровержимое
)
доказательство
того
,
что
данный
текст
был
послан
не
кем
иным
,
как
именно
j
-
м
абонентом
.
Будем
рассматривать
вариант
реализации
электронной
подписи
с
использованием
хеш
-
функции
от
аргумента
X,
т
.
е
.
функции
h
(X),
обладающей
следующими
свойствами
:
-
хеш
-
функция
h(X)
должна
быть
чувствительна
ко
всевозможным
модификациям
(
изменениям
)
аргумента
X,
таким
,
как
вставка
,
выбросы
,
перестановки
и
т
.
п
.;
-
функция
h(X)
должна
обладать
свойством
необратимости
,
т
.
е
.
задача
подбора
текста
X,
который
обладал
бы
данной
h(X),
должна
быть
чрезвычайно
сложной
(
вычислительно
неразрешимой
);
-
вероятность
того
,
что
значения
h(X)
двух
различных
текстов
совпадут
,
должна
быть
ничтожно
мала
.
Электронную
подпись
с
использованием
хеш
-
функции
h(X)
в
рамках
системы
RSA
можно
реализовать
следующим
образом
.
1.
Отправитель
информации
(
j
-
й
абонент
)
вычисляет
хеш
-
функцию
h(X)
от
аргумента
X -
передаваемого
сообщения
.
2.
В
зависимости
от
того
,
является
сообщение
X
конфиденциальным
или
нет
:
а
)
шифрует
сообщение
X,
т
.
е
.
вычисляет
число
у
(
Х
) = X
e
mod(N)
(5.10)
и
по
открытому
каналу
посылает
его
в
адрес
i
-
го
абонента
,
б
)
в
адрес
i
-
го
абонента
посылает
число
X.
3.
Ставит
свою
подпись
под
h(X),
т
.
е
.
вычисляет
число
S(h(X)) = (h(X))
d
mod
(N)
(5.11)
и
посылает
его
в
адрес
i
-
го
абонента
.
Получатель
подписанного
текста
(
i
-
й
абонент
)
при
необходимости
,
т
.
е
.
когда
имеет
место
случай
(
а
),
расшифровывает
текст
с
помощью
формулы
X = (y(X))
d
mod
(N)
(5.12)
вычисляет
хеш
-
функцию
h*(X)
от
аргумента
X
и
сверяет
ее
значение
с
результатом
расшифрования
криптограммы
S(h(X)).
Иными
словами
,
проверяется
условие
h*(X) = (S(h(X))
e
mod (N)
(5.13)
соблюдение
которого
и
есть
доказательство
того
,
что
сообщение
X
с
его
хеш
-
функцией
h(
Х
)
в
адрес
i-
го
абонента
было
послано
именно
j
-
м
абонентом
.
Ведь
никто
другой
,
кроме
абонента
,
владеющего
секретным
ключом
d(j),
не
может
вычислить
число
S(h(X))
такое
,
чтобы
оно
удовлетворило
равенству
(5.13).
Заметим
,
что
в
результате
"
перехвата
"
числа
S(h(X))
злоумышленник
сможет
восстановить
хеш
-
функцию
h(X)
,
поскольку
число
e(j),
т
.
е
.
открытый
ключ
шифрования
j
-
го
абонента
,
общеизвестно
.
Но
это
не
поможет
ему
в
деле
подделки
подписи
.
Для
этого
ему
необходимо
владеть
закрытым
ключом
шифрования
,
т
.
е
.
числом
d(j).
Только
тогда
он
сможет
имитировать
посылку
в
адрес
любого
абонента
произвольного
текста
от
имени
(
за
подписью
)
j
-
го
абонента
.
Исходя
из
этого
,
можно
заключить
,
что
предъявление
арбитру
со
стороны
i
-
го
абонента
текста
X,
его
хеш
-
функции
h(X)
и
числа
S(h(X))
является
достаточно
убедительным
доказательством
того
,
что
текст
X
он
получил
именно
от
j
-
го
абонента
.