Генерация паролей и криптогафические преобразования

advertisement
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
—————————————————
ВОРОНЕЖСКАЯ ГОСУДАРСТВЕННАЯ ТЕХНОЛОГИЧЕСКАЯ
АКАДЕМИЯ
—————————————————
КАФЕДРА ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ МОДЕЛИРОВАНИЯ
И УПРАВЛЕНИЯ
ГЕНЕРАЦИЯ ПАРОЛЕЙ И КРИПТОГРАФИЧЕСКИЕ
ПРЕОБРАЗОВАНИЯ
Методические указания к практическим занятиям, лабораторным
и расчетно-графическим работам по курсу
«Информационная безопасность и защита информации»
Для студентов, обучающихся по специальности
230201 – «Информационные системы и технологии»,
дневной формы обучения
—————————————————
ВОРОНЕЖ
2009
УДК 681.3
Генерация паролей и криптографические преобразования [Текст] : метод. указания к практическим занятиям, лабораторным и расчетно-графическим работам по курсу «Информационная безопасность и защита информации» / Воронеж. гос. технол. акад.; сост. А. С. Дубровин. Воронеж, 2009. 20 с.
Методические указания разработаны в соответствии с требованиями ГОС ВПО подготовки по специальности 230201 – «Информационные системы и технологии» и предназначены для изучения материала и
контроля знаний по курсу «Информационная безопасность и защита информации» цикла СД. Приведено программное обеспечение в среде Borland Delphi 7.
Библиогр.: 4 назв.
Составитель доцент А.С. ДУБРОВИН
Научный редактор профессор Г.В. АБРАМОВ
Рецензент профессор В.И. СУМИН
Печатается по решению
редакционно-издательского совета
Воронежской государственной технологической академии
© Дубровин А.С., 2009
© ГОУВПО «Воронеж. гос.
технол. акад.», 2009
Оригинал-макет данного издания является собственностью Воронежской
государственной технологической академии, его репродуцирование (воспроизведение) любым способом без согласия академии запрещается.
2
1. МЕТОДИЧЕСКИЕ УКАЗАНИЯ
Данные методические указания предназначены для изучения основных математических моделей парольной защиты при
организации защиты информации. Эти модели реализованы в
среде программирования Borland Delphi 7.
ОПИСАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
ГЕНЕРАЦИИ ПАРОЛЕЙ
Функциональные возможности. Данное программное
обеспечение (генератор паролей) реализует следующие функции.
1. Задание параметров базового алфавита посредством
установки или снятия флажков для следующих групп символов:
прописные латинские буквы, строчные латинские буквы, прописные русские буквы без «Ё», строчные русские буквы без «ё»,
буква «Ё», буква «ё», цифры, специальные символы стандартной
клавиатуры компьютера. Установленный флажок указывает, что
данная группа символов подлежит включению в базовый алфавит. В соответствии с заданными параметрами выводится объем
(количество символов) базового алфавита в соответствующую
строку редактирования. Если, например, не установлен ни один
флажок, то объем равен нулю. Напротив, если установлены все
восемь флажков, то объем равен 160 (по 26 прописных и строчных латинских букв, по 33 прописных и строчных русских букв,
включая «Ё» и «ё», 10 цифр и 32 специальных символа).
2. Генерация базового алфавита в соответствии с заданными его параметрами (см. п. 1). Сгенерированный базовый алфавит выводится в соответствующую таблицу с тремя столбцами.
Первая строка таблицы является ее заголовком. Любая другая
строка служит для вывода информации о взаимнооднозначно соответствующем ей символе базового алфавита. В первом столбце
отображается номер очередного символа по порядку от одного до
величины объема базового алфавита, во втором – код символа в
кодировке ANSI, в третьем – сам символ. Предполагается, что
3
пароль генерируется в виде случайной последовательности символов базового алфавита фиксированной длины.
3. Исследование стойкости паролей по трем критериям в
зависимости от длины (количества символов) пароля. Первый
критерий – полное число вариантов пароля для данного базового
алфавита и данной длины пароля. Второй критерий – среднее
число вариантов пароля для данного базового алфавита и данной
длины пароля, которое необходимо перебрать для вскрытия пароля. Третий критерий – среднее время, которое необходимо затратить на вскрытие пароля для данного базового алфавита и
данной длины пароля при известной скорости перебора паролей.
Скорость перебора паролей в смысле количества вариантов пароля, перебираемых в единицу времени, вводится в числе исходных
данных в соответствующую строку редактирования окна выполняемой программы. Результаты проведенного исследования
стойкости паролей выводятся в соответствующую таблицу с четырьмя столбцами. Первая строка таблицы является ее заголовком. Любая другая строка служит для вывода информации о взаимнооднозначно соответствующей ей длине пароля. В первом
столбце отображается длина пароля, начиная с единичной и кончая известной максимальной для данного исследования. В
остальных трех столбцах отображается величина стойкости пароля, измеренная по вышеуказанным трем критериям соответственно. Предполагается, что максимальная длина пароля вводится в числе исходных данных в соответствующую строку редактирования окна выполняемой программы.
4. Определение и вывод в соответствующую строку редактирования минимальной длины пароля, достаточной для обеспечения требуемой стойкости по выбранному критерию из вышеуказанных трех (см. п. 3). Предполагается, что величина требуемой стойкости вводится в числе исходных данных в соответствующую строку редактирования окна выполняемой программы
после указания выбранного критерия.
5. Генерация с выводом в соответствующую строку редактирования пароля минимальной длины, обеспечивающего требу-
4
емую стойкость по выбранному критерию из вышеуказанных
трех (см. п. 3). Предполагается, что длина генерируемого пароля
выводится заранее (см. п. 4).
Исходные данные
1. Параметры базового алфавита, задаваемые посредством
флажков для групп символов.
2. Критерий стойкости паролей, выбираемый из трех возможных, описанных выше.
3. nmax – максимальная длина пароля при исследовании.
4. V – скорость перебора паролей.
5. K – величина требуемой стойкости пароля.
Расчетные формулы. Полное число Р вариантов пароля
для данного базового алфавита объема А и данной длины n пароля (значение первого критерия) определяется по формуле:
P  A n . Среднее число S вариантов пароля для данного базового
алфавита объема А и данной длины n пароля, которое необходимо перебрать для вскрытия пароля, (значение второго критерия)
определяется по формуле: S  P  1 2  A n  1 2 . Среднее время T, которое необходимо затратить на вскрытие пароля для данного базового алфавита объема А и данной длины n пароля при
известной скорости V перебора паролей, (значение третьего критерия) определяется по формуле: T  S V  A n  1 2V  . Минимально необходимое количество n символов пароля, обеспечивающего требуемую стойкость K по первому критерию, определяется по формуле: n  ln K ln A  1 . Минимально необходимое
количество n символов пароля, обеспечивающего требуемую
стойкость K по второму критерию, определяется по формуле:
n  ln 2 K  1 ln A  1 . Минимально необходимое количество n
символов пароля, обеспечивающего требуемую стойкость K по
третьему
критерию,
определяется
по
формуле:
n  ln 2VK  1 ln A  1 . Квадратные скобки везде обозначают
целую часть числа.




5
Выходные данные
1. A – объем базового алфавита.
2. Базовый алфавит, выводимый в форме описанной выше
таблицы.
3. P  P A, n  – полное число вариантов пароля для данного базового алфавита объема А и данной длины n пароля (значение первого критерия).
4. S  S  A, n  – среднее число вариантов пароля для данного базового алфавита объема А и данной длины n пароля, которое
необходимо перебрать для вскрытия пароля, (значение второго
критерия).
5. T  T  A, n,V  – среднее время, которое необходимо затратить на вскрытие пароля для данного базового алфавита объема А и данной длины n пароля при известной скорости V перебора паролей, (значение третьего критерия).
6. n  nK  – минимально необходимое количество символов пароля, обеспечивающего требуемую стойкость K по выбранному критерию.
7. Пароль минимальной длины, обеспечивающий требуемую стойкость по выбранному критерию.
ИСХОДНЫЙ КОД И WINDOWS-ОКНА ПРОГРАММНОГО
ОБЕСПЕЧЕНИЯ
Математические модели парольной защиты при организации защиты информации реализованы в среде программирования
Borland Delphi 7. Windows-окно выполняемой программы непосредственно после запуска представлено на рис. 1. Windows-окно
выполняемой программы по окончании вычислений представлено на рис. 2. По аналогии с программой парольной защиты, код
которой приводится здесь для изучения, студентам предлагается
самостоятельно разработать программу криптографического преобразователя, Windows-окно формы которого представлено на
рис. 3.
Код программы парольной защиты приведен ниже.
6
Рис. 1. Windows-окно выполняемой программы парольной защиты при
организации защиты информации непосредственно после запуска
Рис. 2. Windows-окно выполняемой программы парольной защиты при
организации защиты информации по окончании вычислений
7
Рис. 3. Windows-окно формы программы криптографического
преобразователя
program Project1; {Программа генератора паролей}
uses Forms, Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize; Application.CreateForm(TForm1, Form1);
Application.Run;
end.
unit Unit1;
{Программный модуль генератора паролей}
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls, Grids, ExtCtrls, Menus;
type TForm1 = class(TForm)
GroupBox1: TGroupBox;{Панель параметров базового алфавита}
CheckBox1: TCheckBox;{Включать строчные латинские буквы}
CheckBox2: TCheckBox;{Включать прописные латинские буквы}
Label2: TLabel;{Включение латинских букв}
8
Label3: TLabel;{Включение русских букв}
CheckBox3: TCheckBox;{Включать прописные русские буквы}
CheckBox4: TCheckBox;{Включать строчные русские буквы}
CheckBox5: TCheckBox;{Включать Ё}
CheckBox6: TCheckBox;{Включать ё}
Label4: TLabel;{Включение других символов}
CheckBox7: TCheckBox;{Включать цифры}
CheckBox8: TCheckBox;{Включать специальные символы}
Label5: TLabel;{Количество символов базового алфавита}
Edit1: TEdit;{Количество символов базового алфавита}
Button1: TButton;{Генерация базового алфавита}
StringGrid1: TStringGrid;{Базовый алфавит}
GroupBox2: TGroupBox;{Исследование стойкости паролей}
Label1: TLabel;{Введите максимальную длину пароля}
Edit2: TEdit;{Ввод максимальной длины пароля}
Label6: TLabel;{Введите скорость перебора паролей}
Edit3: TEdit;{Ввод скорости перебора паролей}
Button2: TButton;{Пуск}
StringGrid2: TStringGrid;{Рез-ты исслед-ия стойкости паролей}
GroupBox3: TGroupBox;{Генерация пароля}
RadioGroup1: TRadioGroup;{Задайте треб. стойк. пароля в виде}
Label7: TLabel;{Введите требуемую стойкость пароля}
Edit4: TEdit;{Ввод требуемой стойкости пароля}
Button3: TButton;{Генерировать пароль}
Label8: TLabel;{Количество символов пароля}
Edit5: TEdit;{Ввод количества символов пароля}
Label9: TLabel;{Результат генерации пароля}
Edit6: TEdit;{Результат генерации пароля}
procedure CheckBox2Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
procedure CheckBox4Click(Sender: TObject);
procedure CheckBox5Click(Sender: TObject);
procedure CheckBox6Click(Sender: TObject);
procedure CheckBox7Click(Sender: TObject);
9
procedure CheckBox8Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private {Private declarations} public {Public declarations}
end;
const Amax=160; {число символов, пригодных для баз. алф.}
var Form1: TForm1;
A:byte; {количество символов базового алфавита}
ArrA:array[1..Amax] of Char; {массив символов баз. алфавита}
Dmax:byte; {максимальная длина пароля}
D:byte; {длина пароля}
V:extended; {скорость перебора паролей}
T:extended; {время перебора паролей}
ArrT:array[1..256] of extended;{массив времени переб. паролей}
Dp:extended; {полное число вариантов паролей}
ArrDp:array[1..256] of extended; {массив полн. числа вариантов}
Ds:extended; {среднее число перебора паролей}
ArrDs:array[1..256] of extended;{массив среднего числа перебора}
GP:string; {генерируемый пароль}
implementation
{$R *.dfm}
procedure TForm1.CheckBox2Click(Sender: TObject);
{коррекция числа симв. баз. алф. по призн. вкл. проп. лат. букв}
begin
A:=StrToInt(Edit1.Text);
if CheckBox2.Checked then A:=A+26 else A:=A-26;
Edit1.Text:=IntToStr(A)
end;
procedure TForm1.CheckBox1Click(Sender: TObject);
{коррекция числа симв. баз. алф. по призн. вкл. стр. лат. букв}
begin
A:=StrToInt(Edit1.Text);
if CheckBox1.Checked then A:=A+26 else A:=A-26;
Edit1.Text:=IntToStr(A)
end;
10
procedure TForm1.CheckBox3Click(Sender: TObject);
{коррекция числа симв. баз. алф. по призн. вкл. проп. рус. букв}
begin
A:=StrToInt(Edit1.Text);
if CheckBox3.Checked then A:=A+32 else A:=A-32;
Edit1.Text:=IntToStr(A)
end;
procedure TForm1.CheckBox4Click(Sender: TObject);
{коррекция числа симв. баз. алф. по призн. вкл. стр. рус. букв}
begin
A:=StrToInt(Edit1.Text);
if CheckBox4.Checked then A:=A+32 else A:=A-32;
Edit1.Text:=IntToStr(A)
end;
procedure TForm1.CheckBox5Click(Sender: TObject);
{коррекция числа симв. баз. алф. по призн. вкл. буквы "Ё"}
begin
A:=StrToInt(Edit1.Text);
if CheckBox5.Checked then A:=A+1 else A:=A-1;
Edit1.Text:=IntToStr(A)
end;
procedure TForm1.CheckBox6Click(Sender: TObject);
{коррекция числа симв. баз. алф. по призн. вкл. буквы "ё"}
begin
A:=StrToInt(Edit1.Text);
if CheckBox6.Checked then A:=A+1 else A:=A-1;
Edit1.Text:=IntToStr(A)
end;
procedure TForm1.CheckBox7Click(Sender: TObject);
{коррекция числа симв. баз. алф. по призн. вкл. цифр}
begin
A:=StrToInt(Edit1.Text);
if CheckBox7.Checked then A:=A+10 else A:=A-10;
Edit1.Text:=IntToStr(A)
end;
procedure TForm1.CheckBox8Click(Sender: TObject);
{коррекция числа симв. баз. алф. по призн. вкл. спец. симв.}
begin
A:=StrToInt(Edit1.Text);
if CheckBox8.Checked then A:=A+32 else A:=A-32;
Edit1.Text:=IntToStr(A)
11
end;
procedure TForm1.Button1Click(Sender: TObject);
{генерация базового алфавита}
var Ns,Nc:byte;{текущие кол-во симв. баз. алф. и № кода симв.}
begin
Ns:=0; {базовый алфавит пуст}
{возможное добавление символов с кодом 33-47}
if CheckBox8.Checked then {включать спец. симв. с кодом 33-47}
for Nc:=33 to 47 do begin Ns:=Ns+1; ArrA[Ns]:=Chr(Nc) end;
{возможное добавление символов с кодом 48-57}
if CheckBox7.Checked then {включать цифры с кодом 48-57}
for Nc:=48 to 57 do begin Ns:=Ns+1; ArrA[Ns]:=Chr(Nc) end;
{возможное добавление символов с кодом 58-64}
if CheckBox8.Checked then {включать спец. симв. с кодом 58-64}
for Nc:=58 to 64 do begin Ns:=Ns+1; ArrA[Ns]:=Chr(Nc) end;
{возможное добавление символов с кодом 65-90}
if CheckBox2.Checked then {включать проп. латинские буквы}
for Nc:=65 to 90 do begin Ns:=Ns+1; ArrA[Ns]:=Chr(Nc) end;
{возможное добавление символов с кодом 91-96}
if CheckBox8.Checked then {включать спец. симв. с кодом 91-96}
for Nc:=91 to 96 do begin Ns:=Ns+1; ArrA[Ns]:=Chr(Nc) end;
{возможное добавление символов с кодом 97-122}
if CheckBox1.Checked then {включать стр. латинские буквы}
for Nc:=97 to 122 do begin Ns:=Ns+1; ArrA[Ns]:=Chr(Nc) end;
{возможное добавление символов с кодом 123-126}
if CheckBox8.Checked then {включ. спец. симв. с кодом 123-126}
for Nc:=123 to 126 do begin Ns:=Ns+1; ArrA[Ns]:=Chr(Nc) end;
{возможное добавление символа с кодом 168 (Ё)}
if CheckBox5.Checked then {включать "Ё"}
begin {добавление символа с кодом 168 (Ё)}
Ns:=Ns+1; ArrA[Ns]:=Chr(168);
end; {добавление символа с кодом 168 (Ё)}
{возможное добавление символа с кодом 184 (ё)}
if CheckBox6.Checked then {включать "ё"}
begin {добавление символа с кодом 184 (ё)}
Ns:=Ns+1; ArrA[Ns]:=Chr(184);
12
end; {добавление символа с кодом 184 (ё)}
{возможное добавление символов с кодом 192-223}
if CheckBox3.Checked then {включать прописные русские буквы}
for Nc:=192 to 223 do begin Ns:=Ns+1; ArrA[Ns]:=Chr(Nc) end;
{возможное добавление символов с кодом 224-255}
if CheckBox4.Checked then {включать строчные русские буквы}
for Nc:=224 to 255 do begin Ns:=Ns+1; ArrA[Ns]:=Chr(Nc) end;
{вывод базового алфавита}
StringGrid1.RowCount:=A+1;
for Ns:=1 to A do
begin
StringGrid1.Cells[0,Ns]:=IntToStr(Ns); {вывод номера символа}
StringGrid1.Cells[1,Ns]:=IntToStr(Ord(ArrA[Ns])); {вывод кода}
StringGrid1.Cells[2,Ns]:=ArrA[Ns]; {вывод символа}
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
{"Пуск"-исследование стойкости паролей}
var D:byte; {длина пароля}
begin
{ввод исходных данных}
Dmax:=StrToInt(Edit2.Text); {ввод максимальной длины пароля}
V:=StrToFloat(Edit3.Text); {ввод скорости перебора паролей}
{вывод результатов}
StringGrid2.RowCount:=Dmax+1; Dp:=1;
for D:=1 to Dmax do
begin
StringGrid2.Cells[0,D]:=IntToStr(D);{вывод длины пароля}
Dp:=Dp*A; ArrDp[D]:=Dp;{расчет полного числа вар. перебора}
StringGrid2.Cells[1,D]:=FloatToStr(ArrDp[D]);{вывод полн. числа}
Ds:=(Dp+1)/2; ArrDs[D]:=Ds;{расчет сред. числа вар. перебора}
StringGrid2.Cells[2,D]:=FloatToStr(ArrDs[D]);{вывод сред. числа}
T:=Ds/V; ArrT[D]:=T; {расчет среднего времени перебора}
StringGrid2.Cells[3,D]:=FloatToStr(ArrT[D]); {вывод сред. врем.}
end;
end;
13
procedure TForm1.Button3Click(Sender: TObject);
{генерировать пароль}
var i:byte; {номер символа генерируемого пароля}
begin
case RadioGroup1.ItemIndex of {учет критерия стойкости пароля}
0: {треб. стойкость пароля задается в виде полн. числа вар.}
Dp:=StrToFloat(Edit4.Text); {ввод полного числа вариантов}
1: {треб. стойкость пароля задается в виде сред. числа вар.}
begin
Ds:=StrToFloat(Edit4.Text); {ввод среднего числа вариантов}
Dp:=Ds*2-1; {расчет полного числа вариантов}
end;
2: {треб. стойкость пароля задается в виде сред. времени переб.}
begin
T:=StrToFloat(Edit4.Text); {ввод среднего времени перебора}
Ds:=T*V; {расчет среднего числа вариантов}
Dp:=Ds*2-1; {расчет полного числа вариантов}
end;
end;
D:=trunc(ln(Dp)/ln(A))+1; {расчет числа симв. генерир. пароля}
Edit5.Text:=IntToStr(D); {вывод числа симв. генерир. пароля}
GP:=''; randomize; {начальное задание генерируемого пароля}
for i:=1 to D do GP:=GP+ArrA[random(A)+1];{добавл. случ. симв.}
Edit6.Text:=GP {вывод генерируемого пароля}
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
StringGrid1.ColCount:=3; StringGrid1.Cells[0,0]:='Номер';
StringGrid1.Cells[1,0]:='Код'; StringGrid1.Cells[2,0]:='Символ';
StringGrid2.ColCount:=4; StringGrid2.Cells[0,0]:='Длина';
StringGrid2.Cells[1,0]:='Полное число';
StringGrid2.Cells[2,0]:='Среднее число';
StringGrid2.Cells[3,0]:='Среднее время';
end;
end.
14
2. ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО
ВЫПОЛНЕНИЯ РАСЧЕТНО-ГРАФИЧЕСКИХ РАБОТ
Задание на расчетно-графическую работу (РГР) выдается
каждому студенту индивидуально как совокупность общего задания (единого для всех вариантов) и индивидуального задания
(различающегося по вариантам). Каждый студент выполняет работу по единственному закрепленному за ним преподавателем
варианту. Назначение индивидуального задания – уточнение общего задания.
ОБЩЕЕ ЗАДАНИЕ НА РАСЧЕТНО-ГРАФИЧЕСКУЮ
РАБОТУ
1. Разработать программное обеспечение (генератор паролей), реализующее следующие функции.
1.1. Индикация базового алфавита для исследования и генерации паролей. Параметры базового алфавита определяются в
индивидуальном задании, где знак «+» означает включение символов в базовый алфавит. Предполагается, что пароль является
случайной последовательностью символов базового алфавита.
1.2. Исследование стойкости паролей по трем критериям в
зависимости от длины. Критерии стойкости пароля следующие.
1.2.1. Полное число вариантов пароля для данного базового
алфавита и данной длины пароля.
1.2.2. Среднее число вариантов пароля для данного базового алфавита и данной длины пароля, которое необходимо перебрать для вскрытия пароля.
1.2.3. Среднее время, которое необходимо затратить на
вскрытие пароля для данного базового алфавита и данной длины
пароля при известной скорости перебора паролей.
1.3. Определение минимальной длины пароля, достаточной
для обеспечения требуемой стойкости по выбранному критерию
из указанных трех (1.2.1-1.2.3).
1.4. Генерация пароля, обеспечивающего требуемую стойкость по выбранному критерию из указанных трех (1.2.1-1.2.3).
15
1.5. Вывод сгенерированного пароля в открытом виде.
1.6. Выбор метода закрытия пароля из двух произвольных
методов из числа следующих: метод постоянного циклического
сдвига алфавита, моноалфавитный метод замены, полиалфавитный метод замены, метод Вижинера, метод простой перестановки, метод чередующихся перестановок, метод битовой инверсии,
метод XOR.
1.7. Ввод задаваемой пользователем ключевой информации
для закрытия пароля.
1.8. Генерация случайным образом ключевой информации
для закрытия пароля.
1.9. Анализ стойкости закрытия пароля в виде количества
вариантов ключей для данного метода закрытия пароля.
1.10. Вывод сгенерированного пароля в закрытом первым
методом виде.
1.11. Вывод сгенерированного пароля в закрытом вторым
методом виде.
2. При помощи разработанного программного обеспечения
сгенерировать пароль, обеспечивающий требуемую стойкость по
первому критерию (1.2.1), сгенерировать пароль, обеспечивающий требуемую стойкость по второму критерию (1.2.2), сгенерировать пароль, обеспечивающий требуемую стойкость по третьему критерию (1.2.3). При этом считать, что скорость перебора
паролей равна 1000, а требуемая стойкость пароля равна 10 i , где
i – номер индивидуального задания.
3. Разработать пояснительную записку по РГР, которая
должна содержать:
3.1. Задание на РГР.
3.2. Краткое описание применяемых математических моделей и методов.
3.3. Исходные коды программы (по результатам п. 1).
3.4. Результаты расчетов (по результатам п. 2).
16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Специальные
символы
Цифры
+
ё
+
+
+
+
Ё
Прописные
русские без Ё
+
+
+
+
+
+
+
+
+
+
Строчные
русские без ё
Строчные латинские
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Прописные
латинские
Номер
варианта
ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ НА
РАСЧЕТНО-ГРАФИЧЕСКУЮ РАБОТУ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
17
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
Дубровин, А. С. Информационная безопасность и защита
информации в экономических информационных системах [Текст]
: учеб. пособие / А. С. Дубровин, М. Г. Матвеев, Е. А. Рогозин, В.
И. Сумин. – Воронеж : Воронеж. гос. технол. акад., 2005. – 292 с.
Дубровин, А. С. Методы и средства автоматизированного
управления подсистемой контроля целостности в системах защиты информации [Текст] : монография / А. С. Дубровин, О. Ю.
Макаров, Е. А. Рогозин, В. И. Сумин, В. В. Обухов, Ю. А. Мещеряков. – Воронеж : Воронеж. гос. техн. ун-т, 2003. – 165 с.
Багаев, М. А. Методы и средства автоматизированной
оценки и анализа качества функционирования программных систем защиты информации [Текст] : монография / М. А. Багаев, А.
С. Дубровин, И. И. Застрожнов, О. Ю. Макаров, Е. А. Рогозин, В.
И. Сумин. – Воронеж : Воронеж. гос. техн. ун-т, 2004. – 181 с.
Голиусов, А. А. Методические основы проектирования
программных систем защиты информации [Текст] : учеб. пособие
/ А. А. Голиусов, А. С. Дубровин, В. В. Лавлинский, Е. А. Рогозин. – Воронеж : ВИРЭ, 2002. – 96 с.
18
Download