Разработка прикладной программы по шифрованию файлов
Автор работы: Пользователь скрыл имя, 26 Ноября 2012 в 11:47, дипломная работа
Описание работы
Целью дипломного проекта является разработка подсистемы криптографической защиты экономической информации в рамках одного частного предприятия. В качестве объекта автоматизации выбран бухгалтерский отдел предприятия.
Для достижения цели необходимо решить следующие задачи:
Провести анализ деятельности предприятия;
Разработать криптографическую программу;
Рассчитать экономическую эффективность проекта;
Определить требования к безопасности и охране труда;
Файлы: 1 файл
Пояснительная записка.doc
— 1.10 Мб (Скачать файл)1. Определены требования к планировке рабочего места:
- Применение стула с твердой спинкой изогнутой формы;
- Стол под персональный компьютер имеет достаточную площадь для размещения всего необходимого;
- Конструкция стола обеспечивает необходимое расстояние и угол наблюдения.
2. Определены требования к
- Диагональ 19 дюймов, разрешение 1024 х 768 точек, размер зерна 0,24 мм, частота развертки 85 Гц, соответствие стандартам ТСО’99 и ISO 9001;
- Рабочие места установлены так, что сотрудники не попадают в опасную зону излучения задней панели монитора.
3. Произведен расчет
- Необходимый световой поток составляет 19800 лм;
- Осветительная установка состоит из четырех светильников по четыре лампы ЛБ80 в каждом светильнике;
- Светильники располагаются в два ряда параллельно стенам с окнами;
- Потребляемая мощность осветительной установки составляет 1280 Вт.
Выполнение всех этих требований позволяет значительно снизить негативные воздействия вредных факторов и обеспечивает безопасные условия труда.
ЗАКЛЮЧЕНИЕ
Криптографическая защита информации является надежным и недорогим средством. Любой объем информации от нескольких байт до гигабайта, будучи зашифрован с помощью более или менее стойкой криптосистемы, недоступен для прочтения без знания ключа. И уже совершенно не важно, хранится он на жестком диске, на дискете или компакт-диске, не важно под управлением какой операционной системы. Против самых новейших технологий и миллионных расходов здесь стоит математика, и этот барьер до сих пор невозможно преодолеть.
В общесистемной части дипломного проекта был произведен анализ деятельности предприятия, в результате которого была изучена деятельность автотранспортного предприятия, а также определена необходимость в защите информации.
В проектной части дипломного проекта была разработана криптографическая программа CRYPTO_XOR. В качестве основного средства для разработки программы использовалась среда визуального программирования Borland Delphi 7. Программа CRYPTO_XOR позволяет шифровать типы файлов c расширением .txt . «Сердцем» криптографической программы является криптоалгоритм. Разработанная криптографическая программа является завершенной комплексной моделью, способной производить двусторонние криптопреобразования над данными произвольного объема. Шифрование файлов осуществляется по оригинальному алгоритму с использованием симметричного ключа, который формируется на основании пароля, введенного пользователем. В результате хеширования пароля ключ достигает необходимой длины. Алгоритм шифрования является блочным шифром, то есть информация шифруется блоками определенной длины. Шифрование каждого последующего блока данных зависит от всех предыдущих. В процессе шифрования происходит также сжатие данных, что обеспечивает еще большую надежность шифрования, так как между зашифрованными блоками данных отсутствует корреляционная зависимость. Временная задержка в проверке пароля не позволяет злоумышленникам узнавать пароль методом полного перебора. Расшифровка зашифрованного файла возможна только при правильно введенном пароле, который использовался при шифровании этого файла.
В экономической части дипломного проекта была рассчитана экономическая эффективность проекта. Экономическая эффективность от внедрения криптографической защиты информации заключается в предотвращении возможных убытков от хищения или подмены информации. Затраты на создание программного продукта составляют 137064.66 тенге. Эти затраты являются незначительными и составляют 0,18 % годовой себестоимости автотранспортных услуг.
В то же время, хищение или подмена информации может привести к негативным последствиям:
- Экономические потери – раскрытие коммерческой информации может привести к серьезным прямым убыткам на рынке;
- Известие о краже большого объема информации обычно серьезно влияет на репутацию фирмы, приводя косвенно к потерям в объемах торговых операций;
- Фирмы-конкуренты могут воспользоваться кражей информации, если та осталась незамеченной, для того чтобы полностью разорить фирму, навязывая ей фиктивные либо заведомо убыточные сделки;
- Подмена информации, как на этапе передачи, так и на этапе хранения в фирме может привести к огромным убыткам.
Таким образом, можно сделать вывод об экономической целесообразности создания подсистемы криптографической защиты информации на предприятии.
СПИСОК ЛИТЕРАТУРЫ
- Автоматизированные информационные технологии в экономике. Учебник. Под. ред. проф. Г.А. Титоренко. – М.: Юнити, 2000
- Алферов А.: Основы криптографии. Учебное пособие. – СПб.: БХВ – Петербург, 2002
- Байбурин В.Б.: Введение в защиту информации. – СПб.: БХВ – Петербург, 2004
- Безопасность жизнедеятельности. Учебник для вузов. С.В. Белов, А.В. Ильницкая, А.Ф. Козьяков и др. Под общ. ред. С.В. Белова. 2-е изд., испр. и доп. – М.: Высш. шк., 1999
- Бухгалтерский учет. Богаченко В.М., Кириллова Н.А. – Ростов н/Д: Феникс, 2001
- Введение в защиту информации в автоматизированных системах. Учебное пособие для вузов. Малюк А.А., Пазизин С.В., Погожин Н.С. 2-е изд. – СПб.: БХВ – Петербург, 2004
- Вдовенко Л.А.: Системно-информационный подход к оценке экономической деятельности промышленных предприятий. – М.: Финансы и статистика, 1996
- Вирт Н.: Алгоритмы и структуры данных. Пер. с англ. – М.: Мир, 2005
- Кокорева О.И.: Реестр Windows XP. – СПб.: БХВ – Петербург, 2004
- Комягин В.Б.: 1С: Бухгалтерия 7.7 в вопросах и ответах. Самоучитель. Учебное пособие. – СПб.: БХВ – Петербург, 2004
- Кондраков Н.П.: Бухгалтерский учет. Учебное пособие. 4-е изд., перераб. и доп. – М.: ИНФРА-М, 2001
- Культин Н.Б.: C++ Builder 6. Программирование на Object Pascal. – СПб.: БХВ – Петербург, 2001
- Назарова С.В.: Локальные вычислительные сети. – М: Финансы и статистика, 1995
- Нанс Б.: Компьютерные сети. – М.: Бином, 1996
- Немнюгин С.А.: Turbo Pascal: Практикум. – СПб.: Питер, 2001
- Основы современной криптографии. Баричев С.Г., Гончаров В.В., Серов Р.Е. – СПб.: БХВ – Петербург, 2001
- Принципы разработки программного обеспечения. Зелковиц М., Шоу А., Гэннон Д. Пер. с англ. – М.: Мир, 1992
- Савицкая Г.В.: Анализ хозяйственной деятельности предприятия. Учебник. 2-е изд., испр. и доп. – М.: Инфра-М, 2003
- Справочная книга для проектирования электрического освещения. Под. ред. Кнорринга Г.Н. – М.: Энергия, 1996
- Фаронов Д.Е.: Профессиональная работа в C++ BUILDER 6. Библиотека программиста. – СПб.: БХВ – Петербург, 2002
- Фокс Д.: Программное обеспечение и его разработка. Пер. с англ. – М.: Мир, 1995
- Хорошева А.Б., Кремлева В.Г.: 1С: Бухгалтерия 7.7 редакция 4.4. Краткий практический курс для начинающего пользователя. Учебное пособие. – СПб.: БХВ – Петербург, 2003
- Экономика, разработка и использование программного обеспечения ЭВМ. Благодатских В.А., Енгибарян М.А., Ковалевская Е.В. и др. – М.: Финансы и статистика, 1995
ПРИЛОЖЕНИЕ А
Блок-схема алгоритма программы
Рисунок A.1 Общая блок-схема алгоритма программы
Продолжение приложения А
Рисунок A.2 Продолжение общей блок-схемы алгоритма программы
ПРИЛОЖЕНИЕ В
Экранные формы программы CRYPTO_XOR
Рисунок В.1- Главная форма
Рисунок В.2 - Форма «Открытие файла»
Рисунок В.3 - Форма «Шифрование»
Рисунок В.4 Вид шифрованного файла
Рисунок В.5 Форма «Дешифровать»
Рисунок В.6 Вид расшифрованного файла
Как создавалась программа
Требуется создать приложение, предназначенное для шифрования и дешифрования тестовых сообщений для сохранения целостности и защиты информации от постороннего доступа и взлома.
С помощью среды программирования DELPHI создаем форму нашей программы.
Для этого открываем программу (рис. В.7):
Рисунок В.7 - запуск DELPHI
На форму помещаем компонент label со страницы Standard (рис. В.8)
Рисунок В.8 - размещение компонентов на форму
В нижней левой части в свойстве Caption вписываем, Введите ключ (рис.В.9)
Рисунок В.9 - заполнение свойств
Аналогичным образом выставляем и заполняем свойства и для label2 и label3 (рис.В.10)
Рисунок В.10 - забивание формы
Со страницы Standard помещаем компонент Edit и в свойстве Text очищаем поле (рис. В.11)
Рисунок В.11 - работа с компонентом Edit
Аналогичным образом выставляем Edit2 и Edit3 (рис. В.12)
Рисунок В.12 - забивание формы
Со страницы Standard помещаем компонент CheckBox и в свойстве Caption пишем шифровать (рис. В.13)
Рисунок В.13 - следующий компонент программы
Также создаем кнопку дешифровать (рис. В.14)
Рисунок В.14 - создание кнопки дешифровать
Со страницы Standard помещаем компонент Button и в свойстве Caption пишем ОК (рис. В.15)
Рисунок В.15 - создание кнопки ОК
Далее идет написание криптоалгоритма.
ПРИЛОЖЕНИЕ Д
Листинг основного криптоалгоритма
unit XOR_unit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ComCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
SpeedButton1: TSpeedButton;
Button2: TButton;
OpenDialog1: TOpenDialog;
ProgressBar1: TProgressBar;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var key,text,longkey,result:
i:integer;
toto:char;
f,temp:textfile;
begin
if Edit1.Text='' then exit;
AssignFile(f,Edit2.Text);
if not FileExists(Edit2.Text) then
begin
ShowMessage('Ôàéë íå ñóùåñòâóåò!');
Exit;
end;
AssignFile(temp,GetCurrentDir+
Rewrite(temp);
Reset(F);
key:=Edit1.Text;
while not (eof(f)) do
begin
Readln(f,text);
for i := 0 to (length(text) div length(key)) do
longkey := longkey + key;
for i := 1 to length(text) do
begin
// XOR àëãîðèòì
toto := chr((ord(text[i]) xor ord(longkey[i])));
result := result + toto;
end;
Writeln(temp,result);
result:='';
ProgressBar1.Position:=
sleep(25);
end;
CloseFile(f);
DeleteFile(Edit2.Text);
CopyFile(PChar(GetCurrentDir+'
CloseFile(temp);
//DeleteFile(GetCurrentDir+'\
ProgressBar1.Position:=0;
end;
procedure TForm1.Button2Click(Sender: TObject);
var key,text,longkey,result:
i:integer;
toto:char;
f,temp:textfile;
begin
if Edit1.Text='' then exit;
AssignFile(f,Edit2.Text);
if not FileExists(Edit2.Text) then
begin
ShowMessage('Ôàéë íå ñóùåñòâóåò!');
Exit;
end;
AssignFile(temp,GetCurrentDir+
Rewrite(temp);
Reset(F);
key:=Edit1.Text;
while not (eof(f)) do
begin
Readln(f,text);
for i := 0 to (length(text) div length(key)) do
longkey := longkey + key;
for i := 1 to length(text) do
begin
// XOR àëãîðèòì
toto := chr((ord(text[i]) xor ord(longkey[i])));
result := result + toto;
end;
Writeln(temp,result);
result:='';
ProgressBar1.Position:=
sleep(25);
end;
CloseFile(f);
DeleteFile(Edit2.Text);
CopyFile(PChar(GetCurrentDir+'
CloseFile(temp);
DeleteFile(GetCurrentDir+'\
ProgressBar1.Position:=0;
end;
procedure TForm1.SpeedButton1Click(
begin
if OpenDialog1.Execute then Edit2.Text:=OpenDialog1.
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not( Key in ['0'..'9', Chr( VK_BACK )] ) then Key := #0;
end;
end.