Автор: Пользователь скрыл имя, 26 Декабря 2011 в 13:54, курсовая работа
При создании и использовании ПЭВМ возникает целый ряд взаимосвязанных теоретических и практических проблем. В коммерческих и военных областях одной из основных является проблема защиты информации. Так можно выделить следующие объективные причины, определяющие важность проблемы защиты информации:
высокие темпы роста парка ПЭВМ, находящихся в эксплуатации;
широкое применение ПЭВМ в самых различных сферах человеческой деятельности;
высокая степень концентрации информации в ПЭВМ;
совершенствование способов доступа пользователей к ресурсам ПЭВМ;
усложнение вычислительного процесса в ПЭВМ.
Введение . . . . . . . . . . . 3
1. Постановка задачи . . . . . . . . . 4
1. 1. Организационно-экономическая сущность задачи . . . . 4
1. 2. Входные данные . . . . . . . . . 6
1. 3. Постоянная информация . . . . . . . . 6
1. 4. Выходная данные . . . . . . . . . 6
2. Вычислительная система . . . . . . . . 7
2. 1. Операционная система . . . . . . . . 7
2. 2. Технические средства реализации задачи . . . . . . 8
2. 3. Программные средства . . . . . . . . 8
3. Алгоритм задачи . . . . . . . . . 10
4. Описание программы . . . . . . . . . 14
5. Описание применения программы . . . . . . 16
6. Заключение . . . . . . . . . . 17
nil)));
end;
{Изменить основную палитру}
function TMyApp.GetPalette: PPalette;
const
P: Array [apColor..apMonochrome] of string[Length(CAppColor)] =
(CAppColor, CAppBlackWhite, CAppMonochrome);
begin
P[apColor, 50] := #$11; {1F}
P[apColor, 51] := #$11; {2F}
P[apColor, 1] := #$21; {71}
GetPalette := @P[AppPalette];
end;
{Изменить палитру окна выбора файлов}
function TMyFDialog.GetPalette: PPalette;
const
{Синяя палитра}
CMyCluster
= #64#65#66#67#68#69#70#71#72#
#83#84#85#86#87#88#89#90#91#
P: string [32] = CMyCluster;
begin
GetPalette := @P;
end;
{Инициализировать окно выбора файлов}
constructor TMyFileDialog.Init(AWildCard: tWildStr;
const ATitle, InputName: string;
AOptions: Word; HistoryId: Byte);
var
ScrollBar: PScrollBar;
R : TRect;
begin
{ Создание окна диалога }
R.Assign(15, 1, 64, 20);
TDialog.Init(R, ATitle);
Options:= Options or ofCentered;
WildCard:=
AWildCard;
{ Строка ввода имени файла }
R.Assign(3, 3, 31, 4);
FileName:= New(PFileInputLine, Init(R, 79));
FileName^.Data^:= WildCard;
Insert(FileName);
R.Assign(2, 2, 6, 3);
Insert(New(PLabel, Init(R, InputName, FileName)));
R.Assign(31, 3, 34, 4);
Insert(New(PHistory,
Init(R, FileName, HistoryId)));
{ Линейка скроллинга и список файлов }
R.Assign(3, 14, 34, 15);
ScrollBar:= New(PScrollBar, Init(R));
Insert(ScrollBar);
R.Assign(3, 6, 34, 14);
FileList:= New(PFileList, Init(R, ScrollBar));
Insert(FileList);
R.Assign(2, 5, 8, 6);
Insert(New(PLabel,
Init(R, 'Файлы', FileList)));
{ Задание кнопок }
R.Assign(35, 3, 46, 5);
if AOptions and fdOpenButton <> 0 then
begin
Insert(New(PButton, Init(
R, 'Открыть', cmFileOpen, bfDefault)));
Inc(R.A.Y,3); Inc(R.B.Y,3);
end;
if AOptions and fdOkButton <> 0 then
begin
Insert(New(PButton, Init(
R, 'Ага', cmFileOpen, bfNormal)));
Inc(R.A.Y,3); Inc(R.B.Y,3);
end;
if AOptions and fdReplaceButton <> 0 then
begin
Insert(New(PButton, Init(
R, 'Замена',cmFileReplace, bfNormal)));
Inc(R.A.Y,3); Inc(R.B.Y,3);
end;
if AOptions and fdClearButton <> 0 then
begin
Insert(New(PButton, Init(
R, 'Удал.',cmFileClear, bfNormal)));
Inc(R.A.Y,3); Inc(R.B.Y,3);
end;
Insert(New(PButton, Init(
R, 'Нека', cmCancel, bfNormal)));
{ Информационная панель с параметрами файла }
R.Assign(1, 16, 48, 18);
Insert(New(PFileInfoPane,
Init(R)));
SelectNext(False);
{ Загрузка каталога }
if AOptions and fdNoLoadDir = 0 then
begin
FileList^.ReadDirectory(
Directory:= NewStr(GetCurDir);
end;
end;
Var
MyApp:
TMyApp; {Переменная основного объекта}
Begin
WriteLn('Система защиты данных от НСД. Версия 1.0 beta.'+
+' 1996 МГВРК Еганов М. Ю., Юзефович А. Г.');
GetIntVec($09,Int09_Save);
MyApp.Init;
MyApp.Run;
MyApp.Done;
SetIntVec($09, Int09_Save);
End.
Приложение 2
Листинг
библиотек
{*****************************
{*****************************
{**
{** КП "ЗАЩИТА ДАННЫХ ОТ НСД" **}
{** Выполнил учащийся гр.46491 ЕГАНОВ МАКСИМ **}
{**
{**
{**
Программа инсталляции
{*****************************
{*****************************
Program
Install;
Uses
App, Dialogs, Drivers, Menus, MsgBox, Objects,
Views,
Memory, StdDlg, CRT, DOS, SetConf;
Const {константы кодов команд}
cmAboutBox = 700;
cmCode = 1001;
cmDeCode = 1002;
cmSetPass = 1005;
cmLockDisk = 1006;
cmOptions = 1007;
cmKeyDisk = 1008;
cmPasswords
= 1009;
RMenuBar: TStreamRec = ( {Запись для работы с потоком, TV}
ObjType: 2000;
VmtLink: Ofs(TypeOf(TMenuBar)^);
Load: @TMenuBar.Load;
Store: @TMenuBar.Store);
Var
Save23hInt : Pointer; {Переменные сохранения векторов прерываний}
Save1bhInt : Pointer;
MyApp : TApplication;
MyRes : TResourceFile;
MyStream
: PBufStream;
{Формирование подменю "Файлы"}
function MyStdFileMenuItems(Next: pMenuItem): pMenuItem;
begin
MyStdFileMenuItems:=
NewItem('Выбрать...', 'F3', kbF3, cmOpen, hcOpen,
NewItem('Сменить каталог...', '',
kbNoKey, cmChangeDir, hcChangeDir,
NewLine(
NewItem('Выход в ДОС', '', kbNoKey, cmDosShell, hcDosShell,
NewItem('Завершение', 'Alt+X', kbAltX, cmQuit, hcExit,
Next)))));
end;
{Формирование основного меню}
procedure CreateMenuBar;
var
MenuBar: PMenuBar;
R : TRect;
begin
R.Assign(0, 0, 80, 1);
MenuBar:= New(pMenuBar, Init(R, NewMenu(
NewSubMenu('~Ф~айлы', hcNoContext, NewMenu(
MyStdFileMenuItems(nil)),
NewSubMenu('~З~ащита', hcNoContext, NewMenu(
NewItem('~У~становить пароль', 'F5', kbF5, cmSetPass, 1005,
NewItem('~Б~локировать винчестер', '', kbNoKey, cmLockDisk, 1006, nil))),
NewSubMenu('~К~лючевая дискета', hcNoContext, NewMenu(
NewItem('~Д~обавить проверку по ключу', '', kbNoKey, cmKeyDisk, 1008, nil)),
NewSubMenu('~К~риптография', hcNoContext, NewMenu(
NewItem('Зашифровать файл данных','', kbNoKey, cmCode, 1001,
NewItem('Расшифровать файл данных','', kbNoKey, cmDeCode, 1002, nil))),
NewSubMenu('~Н~астройки', hcNoContext, NewMenu(
NewItem('Криптография...','F9'
NewItem('Пароли...','F8', kbF8, cmPasswords, 1008, nil))),
NewItem('~О~ программе', '', kbAltJ, cmAboutBox, 700, nil)))))))));
MyRes.Put(MenuBar, Config);
Dispose(MenuBar, Done);
end;
{Процедура управления формой курсора}
procedure
SetCursorSize(c_start,c_end:
var
regs: registers;
begin
with regs do
begin
ah:=$01;
ch:=c_start;
cl:=c_end;
end;
intr($10,regs);
end;
{Процедура замены вектора преываний}
{$F+}
procedure My23hInt;Interrupt;
begin
end;
{$F-}
{Процедура копирования файлов}
procedure CopyFyle(FromCopy: string);
const
TempLength = 1125.28;
var
ToCopy : string;
Информация о работе Защита данных от несанкционированного доступа