Курсовая работа: Анализ предметной области

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

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

Стоит отметить, что криптосистема работает по определенной методологии (процедуре).

Эта методология предусматривает использование:

одного или более алгоритмов шифрования, которые можно выразить в виде математических формул;

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

системы управления ключами,

незашифрованного текста,

зашифрованного текста (шифртекста).


1. Анализ предметной области

1.1 Описание задачи

В связи с явной сетевой направленностью языка Java потребовалось уделить должное внимание средствам защиты. В первую очередь это касается пересылки важных данных между, например, клиентом и сервером, а также запуска программ или апплетов. Такие средства были разработаны и встроены в набор стандартных библиотек (JDK security API).

Примером необходимости защиты может служить желание пользователя-получателя иметь возможность верификации, что дает определенные гарантии подлинности документа или кода.. В качестве подписываемого объекта могут выступать апплеты, которые широко распространены в Интернете. В результате у получателя появляется уверенность, что информация получена именно от ожидаемого отправителя, а не возможного злоумышленника, и не была изменена в процессе пересылки. Для обеспечения такого рода безопасности служат цифровые подписи и сертификаты.

Симметрическое шифрование - способ шифрования, в котором для (за)шифрования и расшифрования применяется один и тот же криптографический ключ.

В данной курсовой работе мы рассмотрим реализацию алгоритма симметрического шифрования в java на примере алгоритма DES. И создание, и проверку цифровой подписи алгоритмом DSA.


2.Реализация проекта

2.1 Реализация цифровой подриси файлов

Рисунок 2.1 – Схема действий при генерации подписи

Работа отправителя

Генерация ключей

Программист, не вникая в математические формулы и особенности их реализации, может использовать уже доступные готовые алгоритмы и методы криптографии. Они предоставляются определенными организациями, так называемыми провайдерами (provider). По умолчанию встроенные средства Java поставляет провайдер "SUN". Таким образом, единственное, что необходимо делать, это указывать собственно алгоритм и провайдера.

В первую очередь необходимо сгенерировать пару ключей - public key и private key. Для этого используется класс KeyPairGenerator. Для получения конкретного объекта этого класса необходимо вызвать static factory метод getInstance(). В качестве аргументов передаются строки с указанием алгоритма и провайдера. Например, для использования DSA (Digital Signature Algorithm) и провайдера SUN необходимо писать:

KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DSA", "SUN");

В связи с тем, что большинство криптографических алгоритмов являются вероятностными, необходимо создать вероятностный источник — объект класса SecureRandom. При этом существует возможность использовать разные методы, например, SHA1PRNG (pseudo-random-number generation algorithm).

SecureRandom random = SecureRandom.getInstance("SHA1PRNG", "SUN");

Теперь необходимо проинициализировать объект keyGen, передав ему 2 параметра — длину в битах и источник случайности.

К-во Просмотров: 552
Бесплатно скачать Курсовая работа: Анализ предметной области