Автор работы: Пользователь скрыл имя, 26 Ноября 2012 в 11:47, дипломная работа
Целью дипломного проекта является разработка подсистемы криптографической защиты экономической информации в рамках одного частного предприятия. В качестве объекта автоматизации выбран бухгалтерский отдел предприятия.
Для достижения цели необходимо решить следующие задачи:
Провести анализ деятельности предприятия;
Разработать криптографическую программу;
Рассчитать экономическую эффективность проекта;
Определить требования к безопасности и охране труда;
Таким образом, на функцию стойкого блочного шифра Z = EnCrypt (X, Key) накладываются следующие условия:
Выполнение всех этих условий осуществляется следующим образом:
1.Во-первых, осуществляется хеширование пароля. Хеширование выполняет несколько функций. Для того чтобы не заставлять пользователя запоминать ключ – длинную последовательность цифр, был разработан метод преобразования строки символов любой длины (так называемого пароля) в блок байт заранее заданного размера (ключ). Для этой операции используется так называемая хеш-функция. Хеш-функцией называется такое математическое или алгоритмическое преобразование заданного блока данных, которое обладает следующими свойствами:
Эти свойства позволяют подавать на вход хеш-функции пароли, то есть текстовые строки произвольной длины.
В программе CRYPTO_XOR хеширование пароля осуществляется следующим образом:
Сначала пароль, введенный пользователем, преобразуется в массив байт P [1 .. X].
Где P [1 .. X] – коды символов введенного пользователем пароля (кодировка ANSI – Windows-1251). Фрагмент таблицы символов ANSI представлен в таблице 2.1.
X – длина пароля (в символах).
Таблица 2.1
Фрагмент таблицы символов ANSI (Windows-1251)
Код символа |
Символ |
Код символа |
Символ |
Код символа |
Символ |
32 |
58 |
: |
123 |
[ | |
33 |
! |
59 |
; |
124 |
| |
34 |
" |
60 |
< |
125 |
] |
35 |
# |
61 |
= |
126 |
~ |
36 |
$ |
62 |
> |
127 |
|
37 |
% |
63 |
? |
192 |
А |
38 |
& |
64 |
@ |
… |
… |
39 |
‘ |
65 |
A |
223 |
Я |
40 |
( |
… |
… |
224 |
а |
41 |
) |
90 |
Z |
… |
… |
42 |
* |
91 |
[ |
255 |
я |
43 |
+ |
92 |
\ |
||
44 |
, |
93 |
] |
||
45 |
- |
94 |
^ |
||
46 |
. |
95 |
_ |
||
47 |
/ |
96 |
‘ |
||
48 |
0 |
97 |
a |
||
… |
… |
… |
… |
||
57 |
9 |
122 |
z |
Затем на основании пароля получается ключ:
K [1 .. 255] – ключ.
K [i] = (P [1] + P [2] + … + P [n]) + P [i], где i = 1 .. X (2.1)
Если X < 255, тогда производятся следующие преобразования:
K [X + 1 .. 255] = 114 (2.2)
114 – код символа «r»
Z = K [1] (2.3)
Если K [i] = Z,
то K [i] = K [i – 1] + Z, (2.4)
иначе Z = K [i], где i = 2 .. 255 (2.5)
2. Во-вторых, осуществляется архивация (сжатие данных). Архивация – это процесс представления информации в ином виде (перекодирования) с потенциальным уменьшением объема, требуемого для ее хранения. Подавляющее большинство современных форматов записи данных содержат их в виде, удобном для быстрого манипулирования, для удобного прочтения пользователями. При этом данные занимают объем больший, чем это действительно требуется для их хранения. Алгоритмы, которые устраняют избыточность записи данных, называются алгоритмами сжатия данных, или алгоритмами архивации. Вероятность взлома криптосистемы при наличии корреляции между блоками входной информации значительно выше, чем при отсутствии таковой. А алгоритмы сжатия данных по определению и имеют своей основной задачей устранение избыточности, то есть корреляции между данными во входном тексте.
Все алгоритмы сжатия данных качественно делятся на:
В криптосистемах, естественно, используется только первая группа алгоритмов. В разрабатываемой криптографической программе используется оригинальный алгоритм сжатия, сущность которого заключается в следующем:
Из исходного файла
Таблица 2.2
Матрица блока исходной
Байт №1 |
Байт №2 |
… |
Байт №255 |
M1,1 |
M2,1 |
… |
M255,1 |
M1,2 |
M2,2 |
… |
M255,2 |
M1,3 |
M2,3 |
… |
M255,3 |
M1,4 |
M2,4 |
… |
M255,4 |
M1,5 |
M2,5 |
… |
M255,5 |
M1,6 |
M2,6 |
… |
M255,6 |
M1,7 |
M2,7 |
… |
M255,7 |
M1,8 |
M2,8 |
… |
M255,8 |
Где Mi,j – бит информации.
Затем осуществляется попытка сжатия строк M1,j … M255,j.
Эти строки представляется в виде количества подряд идущих нулей (0) или единиц (1). Если полученная таким образом информация занимает объем больше 32 байт, тогда эта строка представляется в исходном виде. Если общий объем блока перекодированной информации превышает 255 байт, тогда весь исходный блок представляется в исходном виде без изменений. После осуществления всех этих преобразований происходит непосредственно шифрование информации.
3. Для преобразования информации
алгоритм шифрования
Функция EnCrypt выглядит следующим образом:
Z [i] = S [i] + K [j] + Z [i – 1], (2.6)
Где Z – зашифрованный байт,
S – исходный байт,
K – ключ (j = 1 .. 255).
Целостность информации – это гарантия того, что информация сейчас существует в ее исходном виде, то есть при ее хранении или передаче не было произведено несанкционированных изменений. Нарушение этой категории называется фальсификацией сообщения. Для решения этой проблемы в программе CRYPTO_XOR O используется электронная цифровая подпись. На основе исходного файла вычисляется хеш-функция – это число, которое более или менее уникально характеризует исходный файл. В принципе, можно найти другой текст, который дает то же самое значение хеш-функции, но изменить в исходном файле десять-двадцать байт так, чтобы текст остался полностью осмысленным, да еще и изменился в выгодную нам сторону (например, уменьшил сумму к оплате в два раза) – чрезвычайно сложно. Электронная подпись состоит из 10 байт. Структура используемой электронной цифровой подписи представлена в таблице 2.3.
Таблица 2.3
Структура электронной
S12 |
S22 | ||||||
S13 |
S23 |
S33 | |||||
S15 |
S25 |
S35 |
S45 |
S55 |
S12 – сумма первой половины всех байт исходного файла (1-ый байт электронной цифровой подписи),
S22 – сумма второй половины всех байт исходного файла (2-ой байт электронной цифровой подписи),
S13 – сумма первой 1 / 3 всех байт исходного файла (3-ий байт электронной цифровой подписи),
S23 – сумма второй 1 / 3 всех байт исходного файла (4-ый байт электронной цифровой подписи),
S33 – сумма третьей 1 / 3 всех байт исходного файла (5-ый байт электронной цифровой подписи),
S15 – сумма первой 1 / 5 всех байт исходного файла (6-ой байт электронной цифровой подписи),
S25 – сумма второй 1 / 5 всех байт исходного файла (7-ой байт электронной цифровой подписи),
S35 – сумма третьей 1 / 5 всех байт исходного файла (8-ой байт электронной цифровой подписи),
S45 – сумма четвертой 1 / 5 всех байт исходного файла (9-ый байт электронной цифровой подписи),
S55 – сумма пятой 1 / 5 всех байт исходного файла (10-ый байт электронной цифровой подписи).
S12 + S22 = S13 + S23 + S33 = S15 + S25 + S35 + S45 + S55
При расчете хеш-суммы учитывается также имя исходного файла. После окончания шифрования электронная цифровая подпись добавляется в начало зашифрованного файла.
3. РАСЧЕТ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ПРОЕКТА
Исходные данные для расчета получены на кафедре КРМУ. Для расчета экономической эффективности использованы данные из прайс-листа на компютеры и комплектующие компании FORA. Исходные данные для расчета затрат на разработку и обслуживание программного обеспечения приведены в таблице 3.1. Исходные данные для расчета затрат времени на разработку программного обеспечения приведены в таблице 3.2.
Таблица 3.1
Исходные данные для расчета затрат на разработку и внедрение системы
Показатели |
Единица измерения |
Условное обозначение |
Значение |
1 |
2 |
3 |
4 |
Отчисления во внебюджетные фонды |
% |
Отч% |
26 |
Казахстанский коэффициент |
% |
Кказ |
15 |
Доплаты из внебюджетных средств |
% |
Кдоп |
10 |
Расходы на транспортировку и установку оборудования |
% |
Zтр |
2 |
Затраты на материалы (магнитные носители, расходные материалы) |
% |
Zмат% |
2 |
Материалы (канцелярские принадлежности, бумага) |
Тг. |
М |
1000 |
Норма амортизации ЭВМ |
% |
аэвм |
20 |
Норма амортизации лицензионного программного обеспечения |
% |
апо |
4 |
Затраты на текущий ремонт |
% |
Zрем% |
5 |
Прочие расходы |
% |
Пр% |
1 |
Стоимость электроэнергии |
Тг. / кВтч |
Ц1кВтч |
6,8 |
Количество рабочих дней в году |
день |
Драб |
247 |
Количество предпраздничных дней в году |
день |
Дпредпр |
14 |
Количество рабочих дней в месяц |
день |
Кдн |
26 |
Коэффициент готовности оборудования |
– |
Кг |
0,95 |
Стоимость компьютера ALSER Neos 125 CORE 2 DUO / 1024Mb /667 / 240Gb/ LAN / NVIDIA GeForce 8500GT |
тг. |
Ск |
80620 |
Продолжение таблицы 3.1
Показатели |
Единица измерения |
Условное обозначение |
Значение |
Стоимость монитора Samsung SyncMaser 943b |
тг. |
См |
49780 |
Стоимость операционной системы Microsoft Windows VISTA |
тг. |
Cw |
30000 |
Стоимость программы Borland Delphi 7 |
тг. |
Cd |
219000 |
Количество функций, реализуемых при помощи лицензионного программного обеспечения |
– |
n |
5 |
Паспортная мощность ЭВМ |
кВтч |
Мэвм |
0,25 |
Оклад программиста |
тг. |
Окл |
25000 |
Продолжительность рабочего дня |
ч |
t |
8 |
Время на обслуживание программного обеспечения |
% |
Тобсл% |
3 |
Себестоимость автотранспортных услуг |
Тыс. тг. |
SS |
48680 |
Прибыль |
Тыс. тг. |
PR |
73060 |
Таблица 3.2
Исходные данные для расчета затрат времени на разработку программного обеспечения
Стадия разработки |
Время разработки (ч) | |
Всего |
Машинного | |
1 |
2 |
3 |
Время на разработку технического задания (tтз) |
8 |
– |
Время на разработку системного проекта (tсп), в том числе: |
56 |
– |
– Время на разработку алгоритма |
40 |
– |
– Время выбора технической реализации алгоритма |
8 |
– |
– Время выбора прикладного программного обеспечения |
8 |
– |
Время на разработку рабочего проекта (tрп), в том числе: |
240 |
240 |
– Время на разработку рабочей программы |
160 |
160 |
– Время на отладку программы |
80 |
80 |
Всего времени на разработку (Т) |
304 |
240 |
Информация о работе Разработка прикладной программы по шифрованию файлов