Создание автономной автоматизированной системы шифрования данных на съёмных носителях

Автор: Пользователь скрыл имя, 01 Декабря 2014 в 14:59, курсовая работа

Краткое описание

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

Файлы: 1 файл

Курсовая работа.doc

— 5.65 Мб (Скачать)

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

 

2.1.1 TrueCrypt

 

TrueCrypt – одна из лучших бесплатных программ для

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

 

Рисунок 2.1 – программа для шифрования файлов TrueCrypt

 

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

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

TrueCrypt  поддерживает такие алгоритмы шифрования как AES, Serpent и Twofish. Также возможно использования каскадного шифрования одних и тех же данных различными алгоритмами.

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

      1. AxCrypt

 

AxCrypt – более простая программа для шифрования файлов.

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

Рисунок 2.2 – программа для шифрования файлов AxCrypt

 

После установки программы AxCrypt в контекстном меню появляется пункт «AxCrypt», с помощью которого пользователь может зашифровать любую папку или отдельный файл. Для доступа к зашифрованным данным может использоваться пароль или ключевой файл. Шифрование происходит с использованием алгоритма AES-128.

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

 

 

 

 

 

      1. FineCrypt

 

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

Можно зашифровать некоторые файлы в единственный зашифрованный архив, или в различные зашифрованные файлы. С архивами FineCrypt пользователь может работать таким же образом, как он работает с архивами zip. Пользователь может прибавить файлы или переместить их от архива и дешифровать требуемые файлы.

С FineCrypt пользователь может создать зашифрованный и не зашифрованные самораспаковывающиеся исполняемые файлы.

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

 

    1. Разработка собственной программы шифрования на Delphi 7

 

      1. Выбор и обоснование среды программирования

 

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

  1. создавать интерфейс, используя стандартные компоненты;
  2. передавать управление процессам, в зависимости от состояния

системы;

  1. разрабатывать более надежные программы путем обработки

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

Современные средства разработки характеризуются параметрами:

  1. поддержка объектно-ориентированного стиля программирования;
  2. возможность использования CASE-технологий, как для

проектирования разрабатываемой системы, так и для разработки моделей реляционных баз данных;

  1. использование визуальных компонент для наглядного

проектирования интерфейса;

  1. поддержка БД.

Выше перечисленными свойствами обладают языки программирования:

  • Visual Fox Pro;
  • Delphi;
  • Visual C++.

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

Для реализации курсовой работы был выбран язык программирования Delphi, который является языком высокого уровня и позволяет быстро и эффективно создавать приложения

Delphi – это продукт Borland International для быстрого создания  приложений. Высокопроизводительный  инструмент визуального построения  приложений включает в себя настоящий компилятор кода и предоставляет средства визуального программирования, несколько похожие на те, что можно обнаружить в Microsoft Visual Basic или в других инструментах визуального проектирования.

Преимущества Delphi по сравнению с аналогичными программными продуктами:

  1. быстрота разработки приложения;
  2. высокая производительность разработанного приложения;
  3. низкие требования разработанного приложения к ресурсам

компьютера;

  1. наращиваемость за счет встраивания новых компонентов и

инструментов в среду Delphi;

  1. возможность разработки новых компонентов и инструментов

собственными средствами Delphi (существующие компоненты и инструменты доступны в исходных кодах);

  1. удачная проработка иерархии объектов.

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

 

 

 

 

 

 

      1. Выбор и обоснование алгоритма шифрования

 

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

  1. криптостойкость. Алгоритм должен быть тщательно

проанализирован мировым криптографическим сообществом в течение длительного времени (не менее пяти лет лет) и признан криптостойким к различным видам атак;

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

должен быть не короче 256 бит для алгоритмов симметричного шифрования и 2048 бит для алгоритмов с открытым ключом. Это сделано для того, чтобы шифр невозможно было вскрыть методом прямого перебора;

  1. скорость шифрования. Скорость шифрования данных по

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

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

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

 

      1. Необходимые визуальные компоненты для создания

 

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

  Label: TLabel;

    Edit: TEdit;

    SpeedButton: TSpeedButton;

    Open: TOpenDialog;

    BitBtn: TBitBtn;

Компонент Delphi Label предназначен для показа текста на форме программы, которые не будет меняются в течение работы программы. Текст надписи компонента Label можно изменить, но делается это только программно. Текст, отображаемый в компоненте, определяется значением свойства Caption. Он прописывается в процессе проектирования или задается программно во время выполнения программы [13].

Компонент Delphi Edit предназначен для ввода пользовательских данных и представляет собой однострочное поле.


Рисунок 2.3 – Компоненты Label и Edit

 

Компонент Delphi BitBtn это пиктографическая кнопка, представляющая собой один из вариантов стандартной кнопки Button. В отличие от неё кнопка Delphi BitBtn умеет отображать на своей поверхности не только надпись, но и изображение, которое задаётся свойством Glyph. В состав Delphi входит большое количество готовых изображений, которые можно размещать на кнопках Delphi BitBtn [13].

Компонент Delphi SpeedButton (быстрая кнопка) расположен на странице Additional Палитры компонентов. Он по функционалу и виду похож на кнопку с рисунком BitBtn. Но является не оконным элементом, вследствие чего не может получить фокус ввода. Используется для создания панелей с "быстрыми" командными кнопками [13].


Рисунок 2.4 – Компоненты BitBnt и SpeedButton

 

С помощью компонента Delphi OpenDialog  можно выбрать файл для его открытия. Запуская данный диалог, открывается окно, в котором происходит выбор открываемого файла.


Рисунок 2.5 – Компонент OpenDialog

 

2.2.4 Cоздание приложения шифрования/дешифрования

 

Создадим новый проект (File | New Project). Поместим на форму 2 компонента Edit: один для указания пути к файлам, другой для ввода пароля; 2 компонента Label для подписи компонентов Edit; 2 компонента BitBtn для выполнения основных действий приложения, т.е шифрование/дешифрование и закрытия программы; TOpenDialog для выбора открытия нужного файла;TXPManifest-стилизация под Windows XP. В итоге должно получиться так:

Рисунок 2.6 – Форма программы

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

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Buttons, StdCtrls, XPMan;

type

  TForm1 = class(TForm)

    Label1: TLabel;

    Edit1: TEdit;

    SpeedButton1: TSpeedButton;

    Open: TOpenDialog;

    Label2: TLabel;

    Edit2: TEdit;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    XPManifest1: TXPManifest;

    procedure SpeedButton1Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

 

Алгоритм шифрования выглядит следующим образом:

 procedure SimmetricEx(FN:string; pass:string);

var

  i:integer;          //позиция байта в файле

  j,k:byte;           //вспомогательные переменные

  MS:TMemoryStream;   //поток

begin

  MS:=TMemoryStream.Create;  //создание экземпляра класса TMemoryStream

  MS.LoadFromFile(FN);       //загрузка файла в поток

Информация о работе Создание автономной автоматизированной системы шифрования данных на съёмных носителях