Министерство образования РФ
Дагестанский Государственный Технический Университет
Факультет: Информатики и Управления
Кафедра: ПОВТиАС
КУРСОВАЯ РАБОТА
по дисциплине:
«ТРП»
на тему:
«Зашита данных-Цифровая подпись»
Выполнил:
Ст-нт 4-го курса
группы №3042
Велибеков А.У.
Приняла:
Гаджимирзоева Г.И.
Махачкала 2004 гАннотация
Данная курсовая работа посвящена решению задачи защиты информации. В работе содержится описание алгоритма RSA и рабочая программа, реализующая данный алгоритм. Пояснительная записка к курсовой работе содержит:
__ рисунока;
__ страниц машинописного текста.
Содержание
Введение__________________________________________ 4
Задание____________________________________ 5
Теоретические сведения___________________________ 6
Алгоритмы: американские разработки____________________ 6
Алгоритмы: российские разработки______________________ 7
Цифровая подпись и криптосистемы с ключом общего пользования. 8
Неотрицаемые цифровые подписи_______________________ 10
Слепые подписи____________________________________ 12
Полностью слепые подписи______________________________ 12
Слепые подписи_______________________________________ 13
Атаки на цифровую подпись__________________________ 15
Можно ли подделать ЭЦП?___________________________ 18
Стандарты__________________________________ 18
З А К Л Ю Ч Е Н И Е_______________________________ 20
Список использованной литературы__________________ 21
Приложение к курсовой работе____________________ 22
Идея цифровой подписи как законного средства подтверждения подлинности и авторства документа в электронной форме впервые была явно сформулирована в 1976 году в статье двух молодых американских специалистов по вычислительным наукам из Стэнфордского университета Уитфилда Диффи (Witfield Diffie) и Мартина Хеллмана (Martin Hellman).
Суть цифровой подписи состоит в том, что для гарантированного подтверждения подлинности информации, содержащейся в электронном документе, а также для возможности неопровержимо доказать третьей стороне (партнеру, арбитру, суду и т. п.), что электронный документ был составлен именно конкретным лицом или по его поручению и именно в том виде, в котором он предъявлен, автору документа предлагается выбрать свое индивидуальное число (называемое обычно индивидуальным ключом, паролем, кодом и т. д.) и каждый раз для "цифрового подписывания" сворачивать (замешивать) этот свой индивидуальный ключ, хранимый в секрете от всех, с содержимым конкретного электронного документа. Результат такого "сворачивания" - другое число - может быть назван цифровой подписью данного автора под данным конкретным документом.
- электронная цифровая подпись — набор электронных цифровых символов, созданный средствами электронной цифровой подписи и подтверждающий достоверность электронного документа, его принадлежность и неизменность содержания
- закрытый ключ электронной цифровой подписи — последовательность электронных цифровых символов, известная владельцу регистрационного свидетельства и предназначенная для создания электронной цифровой подписи с использованием средств электронной цифровой подписи;
- открытый ключ электронной цифровой подписи — последовательность электронных цифровых символов, доступная любому лицу и предназначенная для подтверждения подлинности электронной цифровой подписи в электронном документе.
Контрольные суммы, контроль CRC, хэширование и цифровая подпись – базовые средства аутентификации при цифровой передаче данных.
Цифровая подпись
1. Формирование цифровой подписи.
2. Контроль цифровой подписи.
3. Алгоритмы формирования цифровой подписи.
4. Стандарты в области цифровой подписи.
5. Дополнительные функциональные возможности в цифровой подписи.
Сопоставим теперь некоторые конкретные алгоритмы цифровой подписи и выясним их преимущества и недостатки в различных ситуациях.
Для удобства оценки основных свойств того или иного алгоритма мы будем сравнивать его основные характеристики:
- длину ключей,
- длину цифровой подписи,
- сложность (время) вычисления,
- сложность (время) проверки подлинности цифровой подписи, при условии, что уровень стойкости подписи по отношению к любым методам фальсификации не ниже 1021. За "базовую" длину ключей и длину самой цифровой подписи примем 64 байта.
RSA. Первым по времени изобретения конкретным алгоритмом цифровой подписи был разработанный в 1977 году в Массачусетском технологическом институте алгоритм RSA.
Алгоритм RSA основывается на том математическом факте, что задача дискретного логарифмирования при выборе целого параметра n в виде произведения двух различных простых чисел примерно равных по порядку величины, т.е.
n = p*q
становится не менее сложной, чем разложение n на эти простые множители, а последняя задача давно (еще со времен Архимеда и Евклида) известна в математике как сложная.
По современным оценкам сложность задачи разложения на простые множители при целых числах n из 64 байт составляет порядка 1017 - 1018 операций, т. е. находится где-то на грани досягаемости для серьезного "взломщика". Поэтому обычно в системах цифровой подписи на основе алгоритма RSA применяют более длинные целые числа n (обычно от 75 до 128 байт).
Это соответственно приводит к увеличению длины самой цифровой подписи относительно 64-байтного варианта примерно на 20% -100% (в данном случае ее длина совпадает с длиной записи числа n), а также от 70% до 800% увеличивает время вычислений при подписывании и проверке.
Кроме того, при генерации и вычислении ключей в системе RSA необходимо проверять большое количество довольно сложных дополнительных условий на простые числа p и q (что сделать достаточно трудно и чего обычно не делают, пренебрегая вероятностью неблагоприятного исхода - возможной подделки цифровых подписей), а невыполнение любого из них может сделать возможным фальсификацию подписи со стороны того, кто обнаружит невыполнение хотя бы одного из этих условий (при подписывании важных документов допускать, даже теоретически, такую возможность нежелательно).
В дополнение ко всем этим алгоритмическим слабостям метода RSA следует также иметь в виду, что он защищен патентом США и поэтому любое его использование на территории США или западноевропейских стран требует приобретения соответствующей лицензии на использование, стоимость которой на 100 пользователей составляет $5000.
Нотариус. В 1991 году самым распространенным персональным компьютером в СССР был AT/286 12 МГц, и мы в своих ранних алгоритмических разработках должны были максимально упростить лучшие из известных тогда алгоритмов цифровой подписи, чтобы их программная реализация позволяла вычислять и проверять подпись под электронными документами за разумное время, скажем, 1-2 секунды, при размере документа до 10 Кбайт. Упрощения, конечно, не должны были снижать стойкости алгоритма.
Первым результатом нашей работы был созданный в конце 1992 года аналог алгоритма Эль Гамаля "Нотариус-1". Главное отличие "Нотариус-1" состояло в том, что вместо обычной операции умножения целых чисел по модулю большого простого p, как это делается у Эль Гамаля, в нем использовалась похожая операция, которая, обеспечивая точно такой же уровень стойкости, что и умножение по модулю простого числа, гораздо эффективнее выполнялась на распространенных процессорах Intel, Motorola и др.
Затем аналогичным образом был усовершенствован алгоритм DSA, который послужил основой для алгоритма цифровой подписи, названного "Нотариус-D". Реализация этого алгоритма на процессоре Intel 486DX4/100 позволила довести время подписывания электронного документа объемом 1 Кбайт вместе с предварительной обработкой перед подписыванием (так называемым хешированием) до 0,014 с, а время проверки подписи - до 0,027 с. Для документа объемом 100 Кбайт время подписывания составляет 0,124 с., время проверки - 0,138 с. Длина подписи 40 байт, стойкость - 1021.
Совместное использование наших идей и идей немецкого криптографа Клауса Шнорра (Klaus Shnohrr), предоставившего нам право использования своего алгоритма на территории стран СНГ, привело к разработке в 1996 году усовершенствованного алгоритма "Нотариус-S", который при сохранении стойкости подписи позволил сократить ее длину еще на 32,5%. Для базового варианта с ключами из 64 байт длина подписи сократилась относительно DSA и "Нотариуса-D" с 40 до 27 байт. Соответственно уменьшилось время вычисления и проверки подписи.
Эти алгоритмические разработки позволили нам предложить пользователю широкий выбор программ с длинами цифровой подписи от 16 до 63 байт и уровнями стойкости соответственно от 1014 (или несколько дней работы сети из нескольких десятков персональных компьютеров) до 1054 (или более 100 млрд. лет непрерывной работы любой мыслимой вычислительной системы обозримого будущего).