Переменная
|
Тип
|
Описание
|
s
|
string[66]
|
Константа,
содержащая буквы русского алфавита
'АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЬьЫыЪъЭэЮюЯя'
|
.6 Выбор состава технических и программных средств
Для реализации поставленной задачи выбрана среда разработки
Delphi, так как позволяет с помощью готовых объектов быстро создать интерфейс
пользователя для работы в Windows.
Системные требования для Delphi 7:
Процессор Intel Pentium 233 МГц и выше.Операционная система
Microsoft Windows XP, Windows 2000, Windows 98. Оперативная память 64 Мбайт
(рекомендуется 128 Мбайт). Пространство на жестком диске 124-520 Мбайт. Монитор
SVGA или выше.
Системные требования для программы, полученной в результате
решения поставленной задачи:
Полученный в результате программный продукт должен работать
на любом компьютере под управлением операционной системы Windows 98 и выше.
Глава 2. Основной части
Разработка рабочего проекта
.1 Разработка программы
Рисунок 3 - Главное окно программы
На главной форме программы располагаются: главное меню, поле
ввода для ввода имени открываемого файла, кнопка «Открыть» для выбора
открываемого файла через диалог открытия файлов, кнопки «Зашифровать» и
«Расшифровать» для вызова процедуры шифрования (дешифрования) открытого файла,
два поля TMemo для вывода исходного (открываемого) файла и файла назначения
(файла полученного в результате работы процедуры шифрования). В главном меню
продублированы все основные действия, вызываемые кнопками на форме, и добавлен
пункт вызова окна «О программе». Так же на форме располагаются: стандартный
диалог открытия файлов и компонент XP Manifest.
Рисунок 4 - Вторая форма проекта «О программе»
Вторая форма программы «About Box» скопирована со стандартных
форм среды разработки. В ней расположена панель TPanel, на которой имеются
элементы типа TLabel с текстом и TImage с рисунком логотипа программы. На форме
так же имеется кнопка «OK», в событие «ButtonClick» которой добавлен обработчик
закрытия окна «О программе». Данное окно показывается модально, то есть его
необходимо закрыть для продолжения работы в главной форме программы.
Исполняемый файл программы называется Cesar.exe и для своей
работы не требует никаких дополнительных файлов. Файлы проекта расположениы в
приложении Б.
.2 Текст программы
Модуль main.pas:
unit main;, Messages, SysUtils, Variants,
Classes, Graphics, Controls, Forms,, StdCtrls, ComCtrls, Menus, About;=
class(TForm)_open_file: TButton;: TOpenDialog;: TEdit;_Encript: TButton;_src:
TMemo;_Decrypt: TButton;_dest: TMemo;: TStatusBar;: TLabel;: TLabel;:
TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;:
TMenuItem;: TMenuItem;: TMenuItem;Bt_open_fileClick(Sender:
TObject);Bt_EncriptClick(Sender: TObject);Bt_DecryptClick(Sender:
TObject);N2Click(Sender: TObject);N5Click(Sender: TObject);N6Click(Sender:
TObject);N3Click(Sender: TObject);N8Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TForm1;
{$R *.dfm}
// Процедура шифрования и
расшифровки файловen_de_crypt(e_d
: char);_src, f_dest : textfile;: char;: byte;: boolean;_file_name : string;s :
string[66] = 'АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЬьЫыЪъЭэЮюЯя';not
fileexists(form1.Edit1.Text) then
ShowMessage('Файл не выбран или не существует')
else(f_src, form1.Edit1.Text);e_d = 'e' then
new_file_name := 'Encrypted_' + ExtractFileName(form1.Edit1.Text);e_d = 'd'
then new_file_name := 'Decrypted_' + ExtractFileName(form1.Edit1.Text);(f_dest,
new_file_name);(f_src);(f_dest);not EOF(f_src) do(f_src, ch);:= false;:=
pos(ch, s);i > 0 thene_d = 'e' then(i+6) <= 66 then write(f_dest,
s[i+6])write(f_dest, s[i-60]);e_d = 'd' then(i-6) >= 1 then write(f_dest,
s[i-6])write(f_dest, s[i+60]);write(f_dest,
ch);;(f_src);(f_dest);.StatusBar1.Panels.Items[0].Text := 'Файл сохранен под именем: ' +
new_file_name;.Memo_dest.Lines.LoadFromFile(new_file_name);
end;;
// Вызов диалога открытия файлов по кнопке
procedure TForm1.Bt_open_fileClick(Sender:
TObject);opendialog1.Execute and fileexists(opendialog1.FileName)
then.Text:=opendialog1.FileName;.Memo_src.Lines.LoadFromFile(form1.Edit1.Text);
end;;
// Вызов процедуры шифрования нажатием кнопки
"Зашифровать"
procedure TForm1.Bt_EncriptClick(Sender:
TObject);_de_crypt('e');
end;
// Вызов процедуры дешифрования нажатием кнопки
"Расшифровать"
procedure TForm1.Bt_DecryptClick(Sender:
TObject);_de_crypt('d');
end;
// Вызов диалога открытия файла из главного меню
procedure TForm1.N2Click(Sender:
TObject);.Bt_open_file.Click;
end;
// Вызов процедуры шифрования из главного меню
procedure TForm1.N5Click(Sender:
TObject);_de_crypt('e');
end;
// Вызов процедуры дешифрования из главного меню
procedure TForm1.N6Click(Sender:
TObject);_de_crypt('d');;
// Выход из программыTForm1.N3Click(Sender:
TObject);.Close;;
// Вызов окна "О программе"TForm1.N8Click(Sender:
TObject);.ShowModal;;.
Модуль about.pasAbout;Windows, SysUtils, Classes,
Graphics, Forms, Controls, StdCtrls,, ExtCtrls;= class(TForm): TPanel;:
TImage;: TLabel;: TLabel;: TLabel;: TLabel;: TButton;OKButtonClick(Sender:
TObject);
{ Private declarations }
{ Public declarations };: TAboutBox;
{$R *.dfm}TAboutBox.OKButtonClick(Sender: TObject);.Close;;.
2.3 Тестирование программы
Программа тестировалась в ОС Windows XP и Windows 7(Seven).
При тестировании программы были использованы текстовые файлы с различными
наборами символов.
.4 Внедрение
Для запуска программы нужно запустить файл Cesar.exe. Откроется окно
пользовательского интерфейса (рис. 5). Все действия можно выполнить как из
главного меню, так и кнопками на главной форме. При открытии файла на форму в
поле memo выводится текст, содержащийся в файле (Рис. 6). При шифровании
или дешифровании в строке статуса выводится имя сохраненного файла назначения,
преобразованный текст файла выводится во второе поле memo (Рис. 7).
Рисунок 5 - Главное окно программы
Рисунок 6 - Открытие файла с исходным текстом
Рисунок 7 - Шифрование текста
Заключение
В Российской Федерации коммерческая деятельность, связанная с
использованием криптографических средств, подлежит обязательному лицензированию.
С 22 января 2008 года действует Постановление Правительства РФ от 29 декабря
2007 N 957 «Об утверждении положений о лицензировании отдельных видов
деятельности, связанных с шифровальными (криптографическими) средствами»,
которым приняты Положения о лицензировании деятельности по:
* распространению шифровальных (криптографических) средств;
* техническому обслуживанию шифровальных (криптографических)
средств;
* предоставлению услуг в области шифрования информации;
Следует отметить, что приложения к данному Постановлению
содержат жёсткие требования к лицу-соискателю лицензии, включая его
образование, квалификацию, стаж, требования к помещению, охране, информационной
и эксплуатационной безопасности при разработке и реализации средств. К примеру,
требуется «наличие в штате у соискателя следующего квалифицированного персонала:
руководитель и (или) лицо, уполномоченное руководить работами по лицензируемой
деятельности, имеющие высшее профессиональное образование и (или)
профессиональную подготовку в области информационной безопасности, а также стаж
работы в этой области не менее 5 лет; инженерно-технические работники, имеющие
высшее профессиональное образование или прошедшие переподготовку в области
информационной безопасности с получением специализации, необходимой для работы
с шифровальными (криптографическими) средствами».
В настоящее время действует также Приказ ФСБ России от 9
февраля 2005 г. N 66 «Об утверждении положения о разработке, производстве,
реализации и эксплуатации шифровальных (криптографических) средств защиты
информации (положение пкз-2005)», который определяет порядок разработки и
эксплуатации криптографических средств.
В частности, согласно приказу, средства криптографии
реализуются «юридическим лицом или индивидуальным предпринимателем, имеющим
право на осуществление данного вида деятельности, связанного с шифровальными
(криптографическими) средствами вместе с правилами пользования ими,
согласованными с ФСБ России».
Ранее был издан Указ Президента РФ от 3 апреля 1995 N 334 «О
мерах по соблюдению законности в области разработки, производства, реализации и
эксплуатации шифровальных средств, а также предоставления услуг в области
шифрования информации», постановивший «Запретить использование государственными
организациями и предприятиями в информационно-телекоммуникационных системах
шифровальных средств, включая криптографические средства обеспечения
подлинности информации (электронная подпись), и защищенных технических средств
хранения, обработки и передачи информации, не имеющих сертификата Федерального
агентства правительственной связи и информации при Президенте Российской
Федерации, а также размещение государственных заказов на предприятиях, в
организациях, использующих указанные технические и шифровальные средства, не
имеющие сертификата Федерального агентства правительственной связи и информации
при Президенте Российской Федерации».
Относительно юридических лиц и предпринимателей, желающих
разрабатывать либо реализовывать криптосистемы, существуют п. 5―11 ст. 17 Федерального Закона от 08.08.2001 N 128-ФЗ «О
лицензировании отдельных видов деятельности».
Глоссарий
№ п/п
|
Понятие
|
Определение
|
1
|
Открытый
(исходный) текст
|
Данные (не
обязательно текстовые), передаваемые без использования криптографии.
|
2
|
Шифротекст,
шифрованный (закрытый) текст
|
Данные,
полученные после применения криптосистемы (обычно - с некоторым указанным
ключом).
|
3
|
Ключ
|
Параметр шифра,
определяющий выбор конкретного преобразования данного текста. В современных
шифрах криптографическая стойкость шифра целиком определяется секретностью
ключа (Принцип Керкгоффса).
|
4
|
Шифр,
криптосистема
|
Семейство
обратимых преобразований открытого текста в шифрованный.
|
5
|
Асимметричный
шифр
|
Шифр,
являющийся асимметричной криптографической системой.
|
6
|
Шифрование
|
Процесс
нормального применения криптографического преобразования открытого текста на
основе алгоритма и ключа, в результате которого возникает шифрованный текст.
|
7
|
Расшифровывание
|
Процесс
нормального применения криптографического преобразования шифрованного текста
в открытый.
|
8
|
Криптоанализ
|
Наука,
изучающая математические методы нарушения конфиденциальности и целостности
информации.
|
9
|
Криптоаналитик
|
Человек,
создающий и применяющий методы криптоанализа.
|
10
|
Дешифрование
(дешифровка)
|
Процесс
извлечения открытого текста без знания криптографического ключа на основе
известного шифрованного. Термин дешифрование обычно применяют по отношению к
процессу криптоанализа шифротекста (криптоанализ сам по себе, вообще говоря,
может заключаться и в анализе шифросистемы, а не только зашифрованного ею
открытого сообщения).
|
11
|
Криптографическая
стойкость
|
Способность криптографического
алгоритма противостоять криптоанализу.
|
Список использованных источников
1 Архангельский,
А.Я. Delphi 2006. Справочное пособие [Текст] / А.Я. Архангельский -М.:
-Бином-Пресс, 2006. -ISBN 5-9518-0138-9. -1152 c.
Галисеев,
Г.В. Компоненты в Delphi 7. Профессиональная работа [Текст] / Г.В. Галисеев
-М.: Диалетика, 2004. -ISBN 5-8459-0555-9. -624 c.
Григорьев,
А.Б. О чем не пишут в книгах по Delphi. [Текст] / А.Б Григорьев - СПб.:
БХВ-Петербург, 2008. -ISBN 978-5-9775-0190-3. -576 с.
Кэнту,
М. Delphi 6 для профессионалов [Текст] / Марко Кэнту -СПб.: -Питер, 2002. -ISBN
5-318-00403-2. -1088 с.
Марков,
Е. Никифоров, В. Delphi 2005 [Текст] / Евгений Марков, Владимир Никифоров
-СПб.: -БХВ-Петербург, 2005. -896 с. -ISBN 5-94157-701-Х.
Молочков,
В.П. От Delphi 7 к Delphi 2006 для начинающих [Текст] / В.П. Молочков -М.:
Диалог-Мифи, 2006. -304 с -ISBN 5-86404-213-7..
Сухарев,
М.В. Основы Delphi [Текст] / М.В. Сухарев -М.: -Наука и техника, 2004. . -600
с.-ISBN 5-94387-129-2
Фленов,
М. Библия Delphi [Текст] / М. Фленов -СПб.: -Питер, 2007. -800 с. - ISBN
978-5-9775-01163
Фленов,
М. Delphi 2005. Секркты программирования [Текст] / М. Фленов -СПб.: -Питер,
2005. -272 с -ISBN 5-469-01164-Х..
Шупрута,
В.В. Delphi 2005 [Текст] / В.В. Шупрута -М.: -НТ Пресс, 2005, -352 с. -ISBN
5-477-00118-6.