Автор работы: Пользователь скрыл имя, 20 Марта 2013 в 13:24, реферат
Надлежащий уровень защиты может быть обеспечен с помощью криптографических методов. Математическая криптография возникла как наука о шифровании и о криптосистемах. В классической модели системы секретной связи имеются два участника, которым необходимо передать секретную (конфиденциальную) информацию, не предназначенную для третьих лиц. Обеспечение конфиденциальности, защиты секретной информации от внешнего противника является одной из главных задач криптографии.
Основные проблемы и способы их решения
Классификация криптографических алгоритмов
Криптография в Java
Алгоритм DSA
Работа отправителя
Генерация ключей
Создание подписи
Сохранение подписи
Работа получателя
Работа с ключом: чтение из файла и преобразование в PrivateKey
Проверка подлинности (верификация)
Исходные программы
Асимметричная криптография в Perl
Алгоритм RSA
Основные методы работы с RSA
Пример использования цифровой подписи
RSA
DSA
Универсальные криптографические интерфейсы
Microsoft CryptoAPI
Использование криптозащиты в других языках
Заключение
|
|
Порядок взаимодействия приложений с криптографическими модулями операционной системы регламентирует документ, который называется Microsoft Cryptographic Application Programming Interface (MS CryptoAPI). Функции, описанные в нем, поддерживаются Windows 9x и Windows NT/2000/XP. В последних ОС функции CryptoAPI содержатся в модулях crypt32.dll и advapi32.dll, но они не реализуют криптографических алгоритмов, а обращаются к другим модулям, называемым Cryptographic Service Providers (CSP). Одновременно в операционной системе можно установить несколько CSP. При первом обращении к CryptoAPI прикладная программа выбирает, с каким именно модулем CSP она будет работать в зависимости от того, какие криптографические алгоритмы ей необходимы (рис. 7). Следует отметить, что система по организации похожа на ту, что используется в Java.
CryptoAPI позволяет шифровать данные, подписывать документы цифровой подписью и многое другое. Существуют и встроенные средства, например Microsoft Base Cryptographic Provider. Имеется возможность использовать CryptoAPI в таких программах разработки, как Visual Studio, то есть автоматически осуществляется поддержка таких языков, как Visual C++, Visual Basic, Visual FoxPro и др. С развитием компанией Microsoft языковой платформы .NET большинство языков программирования, включая набирающий популярность язык C#, поддерживают криптографические методы защиты.
Примером функции генерации ключей может быть CryptGenKey(), а шифрования и дешифрования — CryptEncrypt() и CryptDecrypt() и т.д.
|
|
сли в языке нет встроенных средств криптографической защиты, то существуют два варианта действий. Во-первых, можно попытаться создать все с нуля. Однако, к сожалению, чаще всего это невозможно, так как связано с реализацией сравнительно сложных алгоритмов. Во-вторых, можно использовать объектные модули, созданные на основе трансляторов с разных языков программирования, что, несомненно, более перспективно.
Допустим, имеется ряд языков, на которых уже реализованы нужные алгоритмы. Трансляторами с этих языков обеспечивается получение объектных кодов, которые можно использовать при разработке приложения на другом языке. Естественно, это не всегда легко реализовать, но такие языки, как, например, Алгол, Фортран, PL1, благодаря схожему синтаксису языковых конструкций и реализации трансляторов, как правило, в этом смысле вполне совместимы.
Пример такой работы представлен на рис. 8.
Рассматривая возможность
|
|
авершая данный обзор, хотелось бы еще раз подчеркнуть, что каждый из описанных нами способов реализации криптографических средств защиты информации обладает как достоинствами, так и недостатками. Выбор определяется поставленными задачами с учетом особенностей реализации, эксплуатации и финансовых возможностей. При этом необходимо принимать во внимание используемые аппаратные средства, необходимую степень защиты информации и т.д.
Как показывает практика, криптографические методы защиты действительно обеспечивают безопасность на достаточно высоком уровне. Несомненно, что данное направление будет быстро развиваться с появлением новых коммуникационных аппаратно-программных средств. Большинство современных компаний стараются разработать универсальные криптографические интерфейсы и избавить разработчика программного обеспечения от самостоятельных реализаций сложных алгоритмов. И JDK security API, и CryptoAPI, и встроенные средства .NET предоставляют богатый набор средств шифрования, позволяющих организовать собственную систему защиты данных. Однако надо отметить, что на пути реализации эффективной защиты информации существует множество технологических трудностей. Поскольку соответствующие аппаратно-программные средства стремительно развиваются, это позволяет рассчитывать на появление новых решений, которые будут лишены существующих недостатков.
Литература:
КомпьютерПресс 3'2003
http://library.tuit.uz/skanir_
Информация о работе Криптографические методы защиты в языках программирования