Здавалка
Главная | Обратная связь

Алгоритм цифровой подписи RSA



Математическая схема электронной цифровой подписи по алгоритму RSA была предложена в 1977 году сотрудниками Массачусетского технологического института США. Данная система цифровой подписи стала первым практическим решением задачи подписи электронных документов при помощи криптосистем с открытым ключом. Процедура вычисления цифровой подписи в данной системе использует криптографическое преобразование по алгоритму RSA.

В соответствии с данной системой цифровой подписи, субъект, желающий пересылать подписанные им документы, должен сформировать два ключа алгоритма RSA: открытый и закрытый.

Пару значений (KO, r), которая является открытым ключом подписи, отправитель передаёт всем возможным получателям его сообщений. Именно эти значения будут использоваться для проверки подлинности и принадлежности отправителю полученных от него сообщений.

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

Схема использования алгоритма цифровой подписи на базе RSA для обмена двух абонентов подписанными сообщениями показана на рис. 14.

Рис. 14. Схема использования цифровой подписи на базе RSA

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

1. Отправитель сжимает сообщение M при помощи криптографической хеш-функции h в целое число m = h(M).

2. Отправитель вычисляет значение цифровой подписи S для сообщения M на основе ранее полученного значения хеш-образа m и значения своего закрытого (секретного) ключа подписи KC. Для этого используется преобразование, аналогичное преобразованию, выполняемому при шифровании по алгоритму RSA:

S = m KC mod r. (24)

Пара (М, S), представляющая собой подписанное отправителем сообщение, передаётся получателю. Сформировать подпись S мог только обладатель закрытого ключа KC.

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

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

2. Получатель выполняет расшифрование открытым ключом KO отправителя дайджеста m оригинального сообщения, преобразуя значение подписи S по алгоритму RSA:

m = S KO mod r. (25)

3. Получатель сравнивает полученные значения m’ и m. Если данные значения совпадают, т. е.

S KO mod r = h(M’), (26)

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

Фальсификация сообщения при его передаче по каналу связи возможна только при получении злоумышленником секретного ключа KC либо за счет проведения успешной атаки против использованной для вычисления дайджеста сообщения хеш-функции. При использовании достаточно больших значений p и q определение секретного значения KC по открытому ключу (KО, r) является чрезвычайно трудной задачей, соответствующей по сложности разложению модуля r на множители. Используемые в реальных приложениях хеш-функции обладают характеристиками, делающими атаку против цифровой подписи практически неосуществимой.

Задания

 

1. Реализовать алгоритм вычисления хеш-функции SHA-1 для файла с произвольным размером и содержимым.

2. Реализовать программное средство, выполняющее генерацию и проверку ЭЦП файла с произвольным содержимым на базе алгоритма RSA с использованием для вычисления хеш-функции ранее реализованного алгоритма SHA-1.

 

 

8. СХЕМА ЭЦП
эцп позволяет гарантировать целостность и авторство информации (схема 2). как видно из схемы, эцп также использует криптографические ключи: секретный и открытый. открытый ключ вычисляется из секретного по достаточно легкой формуле, например: у=ах mod p (где х - секретный ключ, у - открытый ключ, а и р- параметры алгоритма эцп), обратное же вычисление весьма трудоемко и считается неосуществимым за приемлемое время при современных вычислительных мощностях.

 

 

АЛИСА БОБ

s

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

Электронной подписью можно подписать любую информацию. Предварительно информацию обрабатывают функцией хэширования, цель которой - выработка последовательности определенной длины, однозначно отражающей содержимое подписываемой информации. Данная последовательность называется "хэш", основное свойство хэша таково, что исключительно сложно модифицировать информацию так, чтобы ее хэш остался неизменным. Отечественный стандарт хэш-функций ГОСТ Р 34.11-94 предусматривает хэш размером 256 бит.

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

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.