Разработка и программная реализация электронной цифровой подписи асимметричным методом шифрования данных

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



Вµтной транзакции.

  • Пользователь В посылает сообщение пользователю А, зашифрованное с помощью KUa и содержащее полученную от него оказию (N1) и новую оказию (N2), сгенерированную пользователем В. Ввиду того что только участник В мог дешифровать сообщение (1), присутствие N1 в сообщении (2) убеждает участника А в том, что респондентом является сторона В.
  • Сторона А возвращает N2, шифруя сообщение открытым ключом стороны В, чтобы гарантировать ей, что его респондентом является сторона А.
  • Участник А выбирает секретный ключ Кa посылает участнику В сообщение М = EKUb[EKRa[Ka]]. Шифрование этого сообщения открытым ключом стороны В гарантирует, что только участник В сможет прочитать его, а шифрование личным ключом участника А - что только участник А мог послать его.
  • Сторона В вычисляет DKUa [EKRb [M]], чтобы восстановить секретный ключ.
  • Обратите внимание на то, что первые три действия этой схемы соответствуют последним трем действиям схемы, показанной на рис. 1.3. В результате при обмене секретными ключами эта схема гарантирует как конфиденциальность, так и аутентификацию.

    Гибридная схема

    Еще одна схема использования шифрования с открытым ключом при распределении секретных ключей представляет гибридный подход, применяемый на мэйнфреймах IBM [LE93]. Эта схема предполагает участие центра распределения ключей (ЦРК), с которым каждый пользователь использует свой главный секретный ключ, и распределение секретных сеансовых ключей, шифруемых главным ключом. Схема шифрования с открытым ключом служит для распределения главных ключей. В основе такого трехуровневого подхода лежит следующая логика.

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

    2.Обратная совместимость. Гибридную схему можно легко реализовать в виде расширения уже имеющейся схемы, предполагающей использование ЦРК, с минимальными изменениями предусмотренной процедуры и программного обеспечения.

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

    Итогом, все перечисленные методы обмена ключами наряду с индивидуальными недостатками имеют один общий: все существующие системы обмена ключами являются закрытыми, недоступными для анализа ПО и использования в разрабатываемых системах

    1.3 Постановка задачи

    Таким образом, в работе необходимо разработать программное приложение, осуществляющее:

    создание электронной цифровой подписи в электронном документе с использованием закрытого ключа электронной цифровой подписи;

    создание закрытых и открытых ключей электронных цифровых подписей.

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

    Для разработки программного приложения будем использовать программную среду Delphi 7.0.

    2. Выбор метода решения

    2.1 Выбор программных средств

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

    В основе такой общепризнанной популярности лежит тот факт, что Delphi, как никакая другая система программирования, удовлетворяет изложенным выше требованиям. Действительно, приложения с помощью Delphi разрабатываются быстро, причем взаимодействие разработчика с интерактивной средой Delphi не вызывает внутреннего отторжения, а наоборот, оставляет ощущение комфорта. Delphi-приложения эффективны, если разработчик соблюдает определенные правила (и часто - если не соблюдает). Эти приложения надежны и при эксплуатации обладают предсказуемым поведением.

    Пакет Delphi - продолжение линии компиляторов языка Pascal корпорации Borland. Pascal как язык очень прост, а строгий контроль типов данных способствует раннему обнаружению ошибок и позволяет быстро создавать надежные и эффективные программы. Корпорация Borland постоянно обогащала язык. Когда-то в версию 4.0 были включены средства раздельной трансляции, позже, начиная с версии 5.5, появились объекты, а в состав шестой версии пакета вошла полноценная библиотека классов Turbo Vision, реализующая оконную систему в текстовом режиме работы видеоадаптера. Это был один из первых продуктов, содержавших интегрированную среду разработки программ.

    В классе инструментальных средств для начинающих программистов продуктам компании Borland пришлось конкурировать со средой Visual Basic корпорации Microsoft, где вопросы интеграции и удобства работы были решены лучше. Когда в начале 70-х годов Н. Вирт опубликовал сообщение о Pascal, это был компактный, с небольшим количеством основных