
Лабораторная работа №9
Тема: Изучение алгоритма электронной цифровой подписи RSA
Цель Работы: Ознакомиться со схемами цифровой подписи и получить навыки создания и проверки подлинности ЦП.
Теоретическая часть:
На протяжении многих веков при ведении деловой переписки, заключении контрактов и оформлении любых других важных бумаг подпись ответственного лица или исполнителя была непременным условием признания его статуса или неоспоримым свидетельством его важности. Подобный акт преследовал две цели:
-
гарантирование истинности письма путем сличения подписи с имеющимся образцом;
-
гарантирование авторства документа (с юридической точки зрения).
Выполнение данных требований основывается на следующих свойствах подписи:
-
подпись аутентична, то есть с ее помощью получателю документа можно доказать, что она принадлежит подписывающему;
-
подпись служит доказательством, что только тот человек, чей автограф стоит на документе, мог подписать данный документ, и никто другой не смог бы этого сделать;
-
подпись непереносима, то есть является частью документа и поэтому перенести ее на другой документ невозможно:
-
документ с подписью является неизменяемым, то есть после подписания его невозможно изменить, оставив данный факт незамеченным;
-
подпись неоспорима, то есть человек, подписавший документ, в случае признания экспертизой, что именно он засвидетельствовал данный документ, не может оспорить факт подписания;
-
любое лицо, имеющее образец подписи, может удостовериться в том, что данный документ подписан владельцем подписи.
С переходом к безбумажным способам передачи и хранения данных, а также с развитием систем электронного перевода денежных средств, в основе которых – электронный аналог бумажного платежного поручения, проблема виртуального подтверждения аутентичности документа приобрела особую остроту. Развитие любых подобных систем теперь немыслимо без существования электронных подписей под электронными документами. Однако применение и широкое распространение электронно-цифровых подписей (ЭЦП) повлекло целый ряд правовых проблем. Так, ЭЦП может применяться на основе договоренностей внутри какой-либо группы пользователей системы передачи данных, и в соответствии с договоренностью внутри данной группы ЭЦП должно иметь юридическую силу. Но будет ли электронная подпись иметь доказательную силу в суде, например, при оспаривании факта передачи платежного поручения?
В настоящее время применяются несколько алгоритмов цифровой подписи:
-
RSA (наиболее популярен);
-
Digital Signature Algorithm, DSA (алгоритм цифровой подписи американского правительства, который применяют в стандарте цифровой подписи (Digital Signature Standard, DSS), также используется часто);
-
алгоритм Эль-Гамаля (иногда можно встретить).
-
алгоритм, который применяют в стандарте ГОСТ РЗ4.10-94 (в основе лежит DSA и является вариацией подписи Эль-Гамаля);
-
Так же существуют алгоритмы подписей, в основе которых лежит криптография эллиптических кривых; они похожи на все прочие, но в некоторых ситуациях работают эффективнее.
Электронная подпись RSA
Для осуществления подписи сообщения m=m1m2m3..mn необходимо вычислить хеш-функцию y=h(m1m2m3..mn), которая ставит в соответствие сообщению m число y. На следующем шаге достаточно снабдить подписью только число y, и эта подпись будет относиться ко всему сообщению m.
Далее по алгоритму RSA вычисляются ключи (e,n) и (d,n) Затем вычисляется (d на этот раз секретная степень).
Число s это и есть цифровая подпись. Она просто добавляется к сообщению и получается подписанное сообщение <m,s>.
Теперь каждый, кто знает параметры подписавшего сообщение (т.е. числа e и n), может проверить подлинность подписи.
Для этого необходимо проверить выполнение равенства
Задачи
1.Для указанных открытых ключей пользователя RSA проверить подлинность подписанных сообщений:
-
n=55, e=3: <7,28>, <22,15>,<16,36>
-
n=65, e=5: <6,42>, <10,30>,<6,41>
-
n=77, e=7: <13,41>, <11,28>,<5,26>
-
n=91, e=5: <15,71>, <11,46>,<16,74>
-
n=33, e=3: <10,14>, <24,18>,<17,8>
Контрольные вопросы
-
Назовите основные свойства цифровой подписи.
-
Какие схемы цифровой подписи существуют?
-
Как осуществляется подпись RSA? Какое отличие подписи RSA от шифра RSA?