Автор: Пользователь скрыл имя, 02 Декабря 2011 в 18:34, курсовая работа
Шифрование — способ преобразования открытой информации в закрытую и обратно. Применяется для хранения важной информации в ненадёжных источниках или передачи её по незащищённым каналам связи. Согласно ГОСТ 28147-89, шифрование подразделяется на процесс зашифровывания и расшифровывания.
ВВЕДЕНИЕ 2
1. ОСНОВНЫЕ ПОНЯТИЯ ЗАЩИТЫ ИНФОРМАЦИИ 4
1.1. Принципы ООП 5
2. АНАЛИЗ ТЕХНИЧЕСКОГО ЗАДАНИЯ И ПОСТАНОВКА ЗАДАЧИ ПРОЕКТИРОВАНИЯ. 12
2.1. Постановка задачи. 12
2.2. Разработка экранных форм и алгоритма программы 13
2.3. Описание программы. 14
Заключение. 16
Список использованной литературы. 17
Приложение 1. 18
Оглавление
ВВЕДЕНИЕ 2
1. ОСНОВНЫЕ ПОНЯТИЯ ЗАЩИТЫ ИНФОРМАЦИИ 4
1.1. Принципы ООП 5
2. АНАЛИЗ ТЕХНИЧЕСКОГО ЗАДАНИЯ И ПОСТАНОВКА ЗАДАЧИ ПРОЕКТИРОВАНИЯ. 12
2.1. Постановка задачи. 12
2.2. Разработка экранных форм и алгоритма программы 13
2.3. Описание программы. 14
Заключение. 16
Список использованной литературы. 17
Приложение 1. 18
Шифрование — способ преобразования открытой информации в закрытую и обратно. Применяется для хранения важной информации в ненадёжных источниках или передачи её по незащищённым каналам связи. Согласно ГОСТ 28147-89, шифрование подразделяется на процесс зашифровывания и расшифровывания.
В
зависимости от алгоритма преобразования
данных, методы шифрования подразделяются
на гарантированной или временной
Криптографическая стойкость (или криптостойкость) — способность криптографического алгоритма противостоять возможным атакам на него или оценка алгоритма, способного взломать шифр. Атакующие криптографический алгоритм используют методы криптоанализа. Стойким считается алгоритм, который для успешной атаки требует от противника недостижимых вычислительных ресурсов, недостижимого объёма перехваченных открытых и зашифрованных сообщений или же такого времени раскрытия, что по его истечению защищенная информация будет уже не актуальна, и т. д. Стойкость нельзя подтвердить, её можно только опровергнуть взломом.
По мере развития и усложнения средств, методов и форм автоматизации процессов обработки информации повышается зависимость общества от степени безопасности используемых им информационных технологий, которая определяется степенью защищенности и устойчивости как компьютерных систем в целом, так и отдельных программ.
Для обеспечения защиты информации в настоящее время не существует какого-то одного технического приема или средства, однако общим в решении многих проблем безопасности является использование криптографии и криптоподобньгх преобразований информации.
Криптография - обеспечивает сокрытие смысла сообщения с помощью шифрования и открытия его расшифрованием, которые выполняются по специальным алгоритмам с помощью ключей.
Ключ - конкретное секретное состояние некоторых параметров алгоритма криптографического преобразования данных, обеспечивающее выбор только одного варианта из всех возможных для данного алгоритма
Криптоанализ - занимается вскрытием шифра без знания ключа (проверка устойчивости шифра).
Кодирование - (не относится к криптографии) -- система условных обозначений, применяемых при передаче информации. Применяется для увеличения качества передачи информации, сжатия информации и для уменьшения стоимости хранения и передачи.
Криптографические
преобразования имеют цель обеспечить
недоступность информации для лиц.
не имеющих ключа, и поддержание
с требуемой надежностью
В криптографии используются следующие основные алгоритмы шифрования:
Процессы шифрования и расшифрования осуществляются в рамках некоторой криптосистемы Для симметричной криптосистемы характерно применение одного и того же ключа как при шифровании, так и при расшифровании сообщений. В асимметричных криптосистемах для зашифрования данных используется один (общедоступный) ключ, а для расшифрования - другой (секретный) ключ.
Основными
понятиями объектно-
Объект - это нечто, обладающее состоянием, поведением и идентичностью.
В качестве примера может быть приведен интерфейсный объект, например кнопка. Кнопка однозначно выделяется из всего прочего интерфейса - т.е обладает идентичностью. Ее состояние - надпись на кнопке, цвет, размер, форма и т.п. Ее поведение - способность быть нажатой - отобразить этот процесс на экране и предать сообщение об этом событии тому объекту, который должен на него реагировать.
Идентичность - это такое свойство объекта, которое отличает его от всех других объектов.
Состояние
объекта характеризуется
Поведение - это то, как объект действует и реагирует; поведение выражается в терминах изменения состояния объекта и передачи сообщений. Структура и поведение схожих объектов определяет для них общий класс. Например класс графических интерфейсных элементов - кнопок, переключателей, окон ввода данных, и т.п. Другой пример - если бы мы занялись моделированием экосистемы, то могли бы выделить классы растений, насекомых, рыб, млекопитающих и т.д. Может быть дано следующее определение понятия «класс». Класс - это некое множество объектов, имеющих общую структуру и общее поведение.
Термины «экземпляр класса» и «объект» взаимозаменяемы. Классы вступают между собой в некоторое отношение, называемое иерархией наследования. Наследование - это такое отношение между классами, когда один класс повторяет структуру и поведение другого класса (одиночное наследование) или других классов (множественное наследование).
Объектно-ориентированное программирование - это методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является объектом определенного класса, а классы образуют иерархию наследования.
В данном определении можно выделить три части:
1. ООП использует в качестве базовых элементов объекты, а не алгоритмы,
2.
каждый объект является
3.
классы организованы
Программа
будет объектно-
Для
разработки объектно-ориентированных
программ используются объектно-ориентированные
языки программирования. Объектно-ориентированный
язык программирования может быть определен
как язык, имеющий средства хорошей
поддержки объектно-
Язык программирования является объектно-ориентированным тогда и только тогда, когда выполняются следующие условия:
-
поддерживаются объекты, т.е.
-
объекты относятся к
- типы (классы) могут наследовать атрибуты супертипов (суперклассов).
Согласно этому определению такие языки как С++, Borland Delphi и Object Pascal являются объектно-ориентированными.
Имеются три принципа, составляющие суть объектно-ориентированного программирования: инкапсуляция, наследование и полиморфизм.
По определению инкапсуляция - сведение кода и данных воедино в одном объекте данных, получившем название класса. Причем, прямой доступ к данным нежелателен: чтение и обновление их содержимого должно производиться посредством вызовов соответствующих процедур и функций.
Объект рассматривается как нечто, обладающее состоянием и поведением. Состояние - это данные. Поведение - это код. Причем состояние, то есть данные могут меняться только в процессе поведения и не могут быть изменены непосредственно из внешнего мира. Таким образом, сведение кода и данных вместе и дает возможность создать нечто, являющееся объектом.
В
не объектно-ориентированных
В
объектно-ориентированных
type
TMyObject = class (TObject)
MyField: integer;
Function MyMethod: integer;
End;
Переменные типа класс называют экземплярами класса или объектами. Из чего состоит объект? Поля объекта аналогичны полям записи. Это - данные, уникальные для каждого созданного в программе экземпляра класса. Описанный здесь класс TMyObject имеет одно поле - MyField. В отличие от полей, методы у двух объектов одного класса общие. Методы - это процедуры или функции, описанные класса и предназначенные для операций над его полями. В состав класса входит указатель на таблицу, где содержится вся информация, нужная для вызова методов. От обычных процедур и методы отличаются тем, что им при вызове передается указатель на тот объект, который их вызвал. Поэтому обрабатываться будут поля именно того объекта, который вызвал метод. Внутри метода указатель на вызвавший его объект доступен под зарезервированным именем Self. Для описания реализации методов класса используется следующая запись:
Function TMyObject.MyMethod;
begin
. . .
end;
Понятие свойства будет рассмотрено далее. Пока можно определить его как поле, доступное для чтения и записи не напрямую, а через соответствующие методы. Рассмотрим пример:
TSimpleObject = class
Fx, Fy : integer;
Procedure SetXY(x,y : integer);
Procedure GetXY(var x,y : integer);
End;
Procedure TSimpleObject.SetXY(x,y : integer); {- также неявно передается указатель Self )
Begin
Fx := x; {указатель Self перед Fx опущен, но подразумевается}
Self.Fy := y; {указатель Self перед Fy есть, но мог бы быть опущен}
End;
Procedure TSimpleObject.GetXY(var x,y : integer);