Шифрование данных

Автор: Пользователь скрыл имя, 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

Работа содержит 1 файл

Основными понятиями объектно.docx

— 92.26 Кб (Скачать)

Оглавление

ВВЕДЕНИЕ 2

1. ОСНОВНЫЕ ПОНЯТИЯ ЗАЩИТЫ ИНФОРМАЦИИ 4

1.1. Принципы ООП 5

2. АНАЛИЗ ТЕХНИЧЕСКОГО ЗАДАНИЯ И ПОСТАНОВКА ЗАДАЧИ ПРОЕКТИРОВАНИЯ. 12

2.1. Постановка задачи. 12

2.2. Разработка экранных форм и алгоритма программы 13

2.3. Описание программы. 14

Заключение. 16

Список использованной литературы. 17

Приложение 1. 18

 

    ВВЕДЕНИЕ

    Шифрование — способ преобразования открытой информации в закрытую и обратно. Применяется для хранения важной информации в ненадёжных источниках или передачи её по незащищённым каналам связи. Согласно ГОСТ 28147-89, шифрование подразделяется на процесс зашифровывания и расшифровывания.

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

    Криптографическая стойкость (или криптостойкость) — способность криптографического алгоритма противостоять возможным атакам на него или оценка алгоритма, способного взломать шифр. Атакующие криптографический алгоритм используют методы криптоанализа. Стойким считается алгоритм, который для успешной атаки требует от противника недостижимых вычислительных ресурсов, недостижимого объёма перехваченных открытых и зашифрованных сообщений или же такого времени раскрытия, что по его истечению защищенная информация будет уже не актуальна, и т. д. Стойкость нельзя подтвердить, её можно только опровергнуть взломом.

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

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

    Криптография - обеспечивает сокрытие смысла сообщения  с помощью шифрования и открытия его расшифрованием, которые выполняются  по специальным алгоритмам с помощью  ключей.

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

    Криптоанализ - занимается вскрытием шифра без  знания ключа (проверка устойчивости шифра).

    Кодирование - (не относится к криптографии) -- система условных обозначений, применяемых  при передаче информации. Применяется  для увеличения качества передачи информации, сжатия информации и для уменьшения стоимости хранения и передачи.

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

    В криптографии используются следующие  основные алгоритмы шифрования:

  • алгоритм   замены   (подстановки)   -   символы   шифруемого   текста  заменяются символами того же или другого алфавита в соответствии с заранее обусловленной схемой замены;
  • алгоритм   перестановки   -   символы   шифруемого   текста   переставляются   по определенному правилу в пределах некоторого блока этого текста;
  • гаммирование   -   символы   шифруемого   текста   складываются   с   символами некоторой случайной последовательности;
  • аналитическое    преобразование   -   преобразование   шифруемого    текста   по некоторому аналитическому правилу (формуле).

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

  1. ОСНОВНЫЕ  ПОНЯТИЯ ЗАЩИТЫ ИНФОРМАЦИИ

    Основными понятиями объектно-ориентированного программирования (ООП) являются объект и класс. Понятие «объект» может  быть определено следующим образом.

    Объект - это нечто, обладающее состоянием, поведением и идентичностью.

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

    Идентичность - это такое свойство объекта, которое  отличает его от всех других объектов.

    Состояние объекта характеризуется перечнем (обычно статическим) всех свойств данного  объекта и текущими (обычно динамическими) значениями каждого из этих свойств.

    Поведение - это то, как объект действует  и реагирует; поведение выражается в терминах изменения состояния  объекта и передачи сообщений. Структура  и поведение схожих объектов определяет для них общий класс. Например класс графических интерфейсных элементов - кнопок, переключателей, окон ввода данных, и т.п. Другой пример - если бы мы занялись моделированием экосистемы, то могли бы выделить классы растений, насекомых, рыб, млекопитающих и  т.д. Может быть дано следующее определение  понятия «класс». Класс - это некое  множество объектов, имеющих общую  структуру и общее поведение.

    Термины «экземпляр класса» и «объект» взаимозаменяемы. Классы вступают между собой в  некоторое отношение, называемое иерархией  наследования. Наследование - это такое  отношение между классами, когда  один класс повторяет структуру  и поведение другого класса (одиночное  наследование) или других классов (множественное  наследование).

    Объектно-ориентированное  программирование - это методология  программирования, основанная на представлении  программы в виде совокупности объектов, каждый из которых является объектом определенного класса, а классы образуют иерархию наследования.

    В данном определении можно выделить три части:

    1. ООП использует в качестве  базовых элементов объекты, а  не алгоритмы,

    2. каждый объект является экземпляром  какого-либо определенного класса

    3. классы организованы иерархически.

    Программа будет объектно-ориентированной  только при соблюдении всех трех указанных  условий.

    Для разработки объектно-ориентированных  программ используются объектно-ориентированные  языки программирования. Объектно-ориентированный  язык программирования может быть определен  как язык, имеющий средства хорошей  поддержки объектно-ориентированного стиля программирования, т.е. при  разработке программ на этом языке  удобно пользоваться таким стилем программирования. Если написание программ в стиле  ООП требует специальных усилий или оно невозможно совсем, то этот язык не является объектно-ориентированным.

    Язык  программирования является объектно-ориентированным  тогда и только тогда, когда выполняются  следующие условия:

    - поддерживаются объекты, т.е. абстракции  данных, имеющие интерфейс в виде  именованных операций и собственные  данные, с ограничением доступа  к ним;

    - объекты относятся к соответствующим  типам (классам);

    - типы (классы) могут наследовать  атрибуты супертипов (суперклассов).

    Согласно  этому определению такие языки  как С++, Borland Delphi и Object Pascal являются объектно-ориентированными.

    1. Принципы  ООП

    Имеются три принципа, составляющие суть объектно-ориентированного программирования: инкапсуляция, наследование и полиморфизм.

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

    Объект  рассматривается как нечто, обладающее состоянием и поведением. Состояние - это данные. Поведение - это код. Причем состояние, то есть данные могут  меняться только в процессе поведения  и не могут быть изменены непосредственно  из внешнего мира. Таким образом, сведение кода и данных вместе и дает возможность  создать нечто, являющееся объектом.

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

    В объектно-ориентированных языках программирования имеется особая структура, которая  называется классом. В 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);

Информация о работе Шифрование данных