Читайте также:
|
|
Инверсия асимметричного алгоритма RSA для получения схемы цифровой подписи является, пожалуй, самой простой из всех алгоритмов ЭЦП. Для формирования электронной подписи отправитель выполняет над контрольной суммой документа h те же самые действия, что и при шифровании, но использует не открытый ключ получателя, а свой собственный закрытый ключ, т. е. signi = (hid mod n). Открытый и закрытый ключи просто меняются местами. На приемной стороне получатель возводит подпись в степень открытого ключа е отправителя и получает signie mod n = hi. Генерация ключевой пары. 1. Выбираются два больших простых числа р и q 2. Вычисляется n, равное (р * q). 3. Выбирается произвольное натуральное число е (1<е< φ(n)), НОД(е,φ(n))=1,4. Алгоритмом Евклида решается в целых числах уравнение е*d + (р-1)*(q-1)*у = 1. 5. Решив уравнение получаем значение закрытого ключа d. Формирование подписи. sign= h d mod n. Проверка (верификация) подписи. h= sign e mod n. Если h=hash(m) – ЭЦП верна, в случае h≠hash(m) – ЭЦП не верна
Электронная подпись (ЭП) — информация в электронной форме, присоединенная к другой информации в электронной форме (электронный документ) или иным образом связанная с такой информацией. Используется для определения лица, подписавшего информацию (электронный документ). По своему существу электронная подпись представляет собой реквизит электронного документа, позволяющий установить отсутствие искажения информации в электронном документе с момента формирования ЭЦП и проверить принадлежность подписи владельцу сертификата ключа ЭЦП. Значение реквизита получается в результате криптографического преобразования информации с использованием закрытого ключа. ЭЦП используется для аутентификации автора (создателя) информации для доказательства (проверки) того факта, что подписанное сообщение или данные не были модифицированы при передаче информации в компьютерных сетях. Генерация ключевой пары. Выбирается произвольное (правда, достаточно большое) простое число р. Для этого простого числа определяется любой образующий элемент — число а. Генерируется произвольное случайное число x - закрытый ключ. Вычисляется значение b = ах mod р. Комбинация (а, р, b) представляет собой открытый ключ получателя. Формирование подписи. Генерирует случайное число k, уникальное для каждого подписываемого документа, взаимно простое с числом (р-1), НОД (k,φ(p))=1.Вычисляет r = (аk mod р). Вычисляет s = ((h — х* r)/k) mod (р-1), где h — контрольная сумма подписываемого документа.Пара чисел (r, s) является цифровой подписью для документа, имеющего контрольную сумму h. Проверка (верификация) подписи. Вычисляет u = ((br) * (rs) mod р). Вычисляет h=hash(m) и v = (ah mod р) Проверяет равенство значений u = v (если равенство выполняется, то подпись верна, в противном случае документ сфальсифицирован).
Дата добавления: 2015-12-01; просмотров: 29 | Нарушение авторских прав