Министерство образования и науки Луганской народной республики
ГОУ ВПО «Луганский государственный университет имени Владимира Даля»
Стахановский инженерно-педагогический институт
Кафедра информационных систем
Лабораторная работа № 8
по дисциплине «МСЗКИ»
Луганск, Стаханов 2021
Лабораторная работа № 8
Тема: Алгоритмы электронной цифровой подписи
Цель: Ознакомиться с алгоритмами электронной цифровой подписи
Задания для выполнения
1) ознакомиться с разделами методических указаний к данной лабораторной работы;
2) найти в сети Интернет дополнительную информацию, касающуюся алгоритма ЭЦП (для четных вариантов – алгоритм цифровой подписи RSA и Стандарт цифровой подписи ГОСТ Р 34.10 - 94 (2001), для нечетных вариантов – Алгоритм цифровой подписи Эль Гамаль и Стандарт цифровой подписи DSS
3) привести пример ЭЦП в соответствии с заданным вариантом (можно использовать приведенные в примерах рассчитанные хэш-функции).
Стандарт цифровой подписи DSS
Во многих странах сегодня существуют стандарты на электронную (цифровую) подпись. Стандарт цифровой подписи DSS (Digital Signature Standard – DSS) был принят в США в 1991 году и пересмотрен в 1994 году. В основе стандарта лежит алгоритм, называемый DSA (Digital Signature Algorithm) и являющийся вариацией подписи Эль-Гамаля. В алгоритме используется однонаправленная хеш-функция H(m). В качестве хэш-алгоритма стандарт DSS предусматривает использование алгоритма SHA-1.
Рассмотрим сам алгоритм генерации ЭЦП. Вначале для группы абонентов выбираются три общих (несекретных) параметра р, q и a:
· параметр р должен быть простым числом длиной от 512 до 1024 бит.
· q – простое число длиной 160 бит; между p и q должно выполняться соотношение p = bq + 1 для некоторого целого b. Старшие биты в р и q должны быть равны единице (таким образом 2159 < q < 2160 ).
· число а, удовлетворяющее неравенству 1 < a < p-1 и являющееся корнем уравнения aq mod p = 1.
Зная эти числа, каждый абонент системы случайно выбирает число х, удовлетворяющее неравенству 0 < х < q, и вычисляет
y = ax mod p.
Число х будет секретным ключом пользователя, а число у — открытым ключом. Вычислить у по известному х довольно просто. Однако, имея открытый ключ у, вычислительно невозможно определить х, который является дискретным логарифмом у по основанию a.
Предполагается, что открытые ключи всех пользователей указываются в некотором несекретном, но "сертифицированном" справочнике, который должен быть у всех, кто собирается проверять подписи. На этом этап выбора параметров заканчивается, и абоненты готовы к тому, чтобы формировать и проверять подписи.
Пусть имеется сообщение m, которое один из пользователей желает подписать. Для генерации подписи пользователь должен выполнить следующие действия:
1. Вычислить значение хеш-функции h = H(m) для сообщения m. Значение хеш-функции должно лежать в пределах 0 < h < q.
2. Затем сгенерировать случайное число k, 0 < k < q.
3. Вычислить r = (ak mod p) mod q.
4. Определить s = [k-1}(H(m) + x * r)] mod q
В результате пользователь получит для сообщения m подпись, состоящую из пары чисел (r,s). Сообщение вместе с подписью может быть послано любому другому абоненту системы. Проверить подпись можно следующим образом:
1. Вычислить значение хеш-функции h = H(m) для сообщения m.
2. Проверить выполнение неравенств 0 < r < q, 0 < s < q.
3. Вычислить w = s-1 mod q ;
4. u1 = [H(m) * w] mod q
5. u2 = r * w mod q
v = [(аu1 * yu2) mod p] mod q
6. Проверить выполнение равенства v = r. Если v = r, то подпись считается подлинной, иначе подпись считается недействительной.
В силу сложности вычисления дискретных логарифмов злоумышленник не может восстановить k из r или х из s, а следовательно, не может подделать подпись. По той же самой причине автор сообщения не сможет отказаться от своей подписи, так как никто кроме него не знает закрытого ключа х.
Примеры использования электронной подписи / электронной цифровой подписи
Существующие системы электронного документооборота отличаются по своим возможностям и функциональным решениям. Поэтому для того, чтобы сделать рассматриваемые примеры наиболее конкретными, мы опираемся на опыт решения ситуаций, которые встречались на предприятиях в процессе внедрения корпоративной системы электронного документооборота DIRECTUM.
Цифровая подпись в служебных записках
Это, пожалуй, самый распространенный элемент внутреннего документооборота предприятия. При бумажном документообороте автор служебной записки вынужден самостоятельно пройти всех заинтересованных лиц и собрать нужные подписи, возможно, вплоть до конкретного исполнителя.
Служебные записки — одни из первых кандидатов на то, чтобы «исчезнуть» с бумаги. При использовании СЭД, инициатор может создать документ, подписать его цифровой подписью и отправить руководителю. В свою очередь, руководитель может отправить документ дальше на исполнение, либо выпустить и подписать отдельный документ, связанный со служебной запиской. Таким образом, инициатор в любой момент времени может отследить текущее состояние по своему документу.
На первый взгляд может показаться, что цифровая подпись — лишний атрибут документа, и все можно отрегулировать правами доступа. Но в системе электронного документооборота всегда присутствует администратор, который имеет полные права на все документы (конечно, система отследит, что документ был изменен, но что именно изменили отследить практически невозможно). И если высшее руководство уверено в том, что текст написан инициатором, и утверждено именно это содержание документа, то от использования цифровой подписи можно и отказаться. Но в случае наличия данных рисков, цифровая подпись будет незаменима.
Согласование цифровой подписью договора
Как правило, этот процесс в бумажном виде представляет собой подписание листа согласования, приложенного к документу. При сложной цепочке согласований и большом количестве инстанций процесс подписания договорных документов будет сложным, длительным, а количество накладок и ошибок будет велико.
Благодаря использованию возможностей workflow и типовых маршрутов, согласование договора в СЭД происходит в строго определенной последовательности (задается для каждой категории договорных документов) с контролем сроков этапов согласования. В процессе согласования используется ЭЦП, позволяющая визировать и утверждать договорные документы. Использование ЭЦП гарантирует как неизменность подписанного документа, так и авторство подписи на электронном документе.
Использование ЭЦП в территориально-удаленных подразделениях
Некоторые предприятия, имеющие удаленные подразделения и филиалы, уже используют электронную почту для передачи документов (приказов, распоряжений и т. п.). Как правило, это выглядит следующим образом:
При использовании системы электронного документооборота, имеющей средства распределенной работы и цифровой подписи, процесс можно существенно упростить, сократив количество переводов документов из одного формата в другой:
Вывод: на лабораторной работе была проведена работа по ознакомлению с алгоритмами электронной цифровой подписи. Благодаря ЭЦП появилась возможность сократить бумажный документооборот за счет перевода части внутренних документов в электронный вид, ускорить прохождение документов за счет перевода движения документа в электронный формат, возможность не только быстро находить исходящие и внутренние документы и просматривать их содержимое, но и определять их юридический статус по электронно-цифровой подписи, новые возможности межкорпоративного обмена юридически значимыми электронными документами.
Скачано с www.znanio.ru
© ООО «Знанио»
С вами с 2009 года.