Защита информации в системах дистанционного обучения с монопольным доступом
Категория реферата: Рефераты по информатике, программированию
Теги реферата: гражданское право реферат, реферат на тему человек
Добавил(а) на сайт: Popyrin.
Предыдущая страница реферата | 6 7 8 9 10 11 12 13 14 15 16 | Следующая страница реферата
Ранее были рассмотрены цели, для которых разрабатывается система защиты, а также методы, с использованием которых эта система будет построена. Сформулируем функции системы защиты, которые она должна будет предоставить программисту.
1. Генератор полиморфных алгоритмов шифрование и расшифрования.
2. Виртуальная машина в которой могут исполняться полиморфные алгоритмы.
Отметим также, что виртуальная машина может быть легко адаптирована, с целью выполнения программ иного назначения.
3. Асимметричная система шифрования данных.
4. Ограничение использования полиморфных алгоритмов по времени.
5. Защита исполняемых файлов от модификации.
6. Контроль за временем возможности запуска исполняемых файлов.
7. Поддержка таблиц соответствий между именами зашифрованных файлов и соответствующих им алгоритмам шифрования/расшифрования.
8. Упаковка шифруемых данных.
ГЛАВА 3. РЕАЛИЗАЦИЯ СИСТЕМЫ ЗАЩИТЫ
3.1. Выбор средств разработки и организации системы
Для разработки системы защиты необходим компилятор, обладающий хорошим быстродействием генерируемого кода. Требование к быстродействию обусловлено ресурсоемкостью алгоритмов шифрования и расшифрования. Также необходима среда с хорошей поддержкой COM. Желательно, чтобы язык был объектно ориентированный, что должно помочь в разработке достаточно сложного полиморфного генератора.
Естественным выбором будет использование Visual C++. Он отвечает всем
необходимым требованиям. Также понадобится библиотека для сжатия данных.
Наиболее подходящим кандидатом является библиотека ZLIB. Теперь рассмотрим
по отдельности каждый из этих компонентов, с целью показать почему был
сделан именно такой выбор. В рассмотрение войдут: язык С++, среда Visual
C++, библиотека активных шаблонов (ATL), библиотека ZLIB.
3.1.1. Краткая характеристика языка программирования С++
Объектно-ориентированный язык С++ создавался как расширение языка Си.
Разработанный Бьярном Страуструпом (Bjarne Stroustroup) из AT&T Bell Labs в
начале 80-х, С++ получил широкое распространение среди программистов по
четырем важным причинам.
. В языке С++ реализовано несколько дополнений к стандартному Си.
Наиболее важным из этих дополнений является объектная ориентация, которая позволяет программисту использовать объектно-ориентированную парадигму разработки.
. Компиляторы С++ широко доступны, а язык соответствует стандартам ANSI.
. Большинство программ на С++ широко доступны, а язык соответствует стандартам ANSI.
. Большинство программ на Си без всяких изменений, либо с незначительными изменениями , можно компилировать с помощью компилятора С++. Кроме того, многие программисты, владеющие языком Си, могут сразу начать работать с компилятором С++, постепенно осваивая его новые возможности.
При этом не нужно осваивать новый сложный объектно-ориентированный язык с нуля.
. Программы на С++ обычно сохраняют эффективность программ на Си.
Поскольку разработчики С++ уделяли большое внимание эффективности генерируемого кода, С++ наилучшим образом подходит для задач, где быстродействие кода имеет важное значение.
Хотя большинство экспертов рассматривают С++ как самостоятельный язык, фактически С++ представляет собой развитое объектно-ориентированное расширение Си, или объектно-ориентированный «гибрид». Язык допускает смешанное программирование ( с использованием концепции программирования Си и объектно-ориентированной концепции, и это можно охарактеризовать как недостаток.
Объектно-ориентированное программирование (ООП) ( основная методология
программирования 90-х годов. Она является результатом тридцатилетнего опыта
и практики, которые берут начало в языке Simula 67 и продолжаются в языках
Smalltalk, LISP, Clu и в более поздних ( Actor, Eiffel, Objective C, Java и
С++. ООП ( это стиль программирования, который фиксирует поведение
реального мира так, что детали разработки скрыты, а это позволяет тому, кто
решает задачу, мыслить в терминах, присущих этой задаче, а не
программирования. ООП ( это программирование, сфокусированное на данных, причем данные и поведение неразрывно связаны. Они вместе составляют класс, а объекты являются экземплярами класса.
С++ относительно молодой и развивающийся язык, только в 1998 году был утвержден стандарт ANSI, и еще не все компиляторы полностью соответствуют этому стандарту. Тем не менее язык очень популярен и распространен не меньше, чем Си.
Выбор был остановлен на языке С++ по следующим причинам. Поскольку
будет использоваться среда Visual C++, то нет смысла отказываться от
преимуществ языка С++, тем более, что программа достаточно сложная.
Например, механизмы исключений могут быть весьма полезны. Еще одним
преимуществом является возможность использовать умные указатели на COM
интерфейсы, что часто бывает очень удобно. Использование библиотеки ATL
тоже подразумевает необходимость языка С++, так как она написана именно на
нем.
3.1.2. Краткая характеристика среды Visual C++
В связи с тем, что сегодня уровень сложности программного обеспечения
очень высок, разработка приложений Windows с использованием только какого-
либо языка программирования (например, языка C) значительно затрудняется.
Программист должен затратить массу времени на решение стандартных задач по
созданию многооконного интерфейса. Реализация технологии COM потребует от
программиста еще более сложной работы.
Рекомендуем скачать другие рефераты по теме: ответы 5 класс, реферат теория.
Предыдущая страница реферата | 6 7 8 9 10 11 12 13 14 15 16 | Следующая страница реферата