Защита информационной системы криптографическими алгоритмами

Разработка информационной системы, позволяющей повысить эффективность управления деятельностью автосервиса за счет использования современных компьютерных технологий. Построение базы данных в Microsoft SQL Server. Описание пользовательского интерфейса.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 27.01.2009
Размер файла 417,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Программа R CRYPTO имеет два вида интерфейса: Классический вид и Интерфейс R CRYPTO. При первом запуске программы появляется окно с предложением выбора вида интерфейса. При первом использовании программы рекомендуется выбирать Классический вид, так как он наиболее приближен к стандартному интерфейсу программ под WINDOWS. В процессе работы программы вид интерфейса можно сменить в любой момент. Шифрование файлов осуществляется по оригинальному алгоритму с использованием симметричного ключа, который формируется на основании пароля, введенного пользователем. Минимальная длина пароля - 10 символов. В результате хеширования пароля ключ достигает необходимой длины. Алгоритм шифрования является блочным шифром, то есть информация шифруется блоками определенной длины (255 байт). Шифрование каждого последующего блока данных зависит от всех предыдущих. В процессе шифрования происходит также сжатие данных, что обеспечивает еще большую надежность шифрования, так как между зашифрованными блоками данных отсутствует корреляционная зависимость. Временная задержка в проверке пароля не позволяет злоумышленникам узнавать пароль методом полного перебора. Кроме того, к зашифрованному файлу добавляется электронная цифровая подпись, которая позволяет проверять целостность информации. Размер исходного файла дожжен быть не меньше 100 байт. Зашифрованный файл имеет расширение r_cr. Расшифровка зашифрованного файла возможна только при правильно введенном пароле, который использовался при шифровании этого файла. Экранные формы программы R CRYPTO представлены в приложении Г, фрагмент листинга программы представлен в приложении Д.

2.5 Блок-схема алгоритма

На первом этапе создания программы программист должен определить последовательность действий, которые необходимо выполнить, чтобы решить поставленную задачу, то есть разработать алгоритм. Алгоритм - это точное предписание, определяющее процесс перехода от исходных данных к результату.

Нужно понимать, что предписание считается алгоритмом, если оно обладает тремя следующими свойствами:

- Однозначностью,

- Массовостью,

- Результативностью.

Под однозначностью алгоритма понимается единственность толкования правил и порядка выполнения действий. Таким образом, алгоритм не должен оставлять место произволу при его выполнении. Массовость алгоритма означает возможность применения алгоритма для решения класса задач, предполагает его правильную работу при меняющихся в заданных пределах значениях исходных данных. Результативность алгоритма предполагает, что выполнение алгоритма должно приводить к получению определенного результата.

Алгоритм программы R CRYPTO состоит из следующих основных процедур: шифрование, расшифровка, проверка электронной цифровой подписи.

Алгоритм решения задачи может быть представлен в виде словесного описания или графически - в виде блок-схемы. Для разработки структуры программы удобно пользоваться записью алгоритма в виде блок-схемы (в англоязычной литературе используется термин flowchart). Для изображения основных алгоритмических структур и блоков на блок-схемах используют специальные графические символы. Они приведены на рисунке 2.2.

Рисунок 2.2 Обозначения, используемые в блок-схемах алгоритмов

Представление алгоритма в виде блок-схемы позволяет программисту уяснить последовательность действий, которые должны быть выполнены для решения задачи, убедиться в правильности понимания поставленной задачи. При программировании в среде C++ BUILDER 6 алгоритм решения задачи представляет собой совокупность алгоритмов процедур обработки событий. Блок-схема алгоритма программы приведена в приложении В.

2.6 Математическая модель программы R CRYPTO

Математическая модель программы R CRYPTO представляет собой набор математических и алгоритмических преобразований, производимых над данными, для достижения поставленной цели. Основной функцией является функция шифрования. Схему работы алгоритма шифрования можно описать функциями Z = EnCrypt (X, Key) и X = DeCrypt (Z, Key). Для преобразований алгоритм шифрования использует определенный набор биективных (обратимых) математических функций. В качестве биективной функции используется функция сложения. Ключ Key является параметром блочного криптоалгоритма и представляет собой некоторый блок двоичной информации фиксированного размера. Key получается на основе пароля, введенного пользователем. Криптоалгоритм является идеально стойким, если прочесть зашифрованный блок данных можно только перебрав все возможные ключи, до тех пор, пока сообщение не окажется осмысленным. Так как по теории вероятности искомый ключ будет найден с вероятностью 1 / 2 после перебора половины всех ключей, то на взлом идеально стойкого криптоалгоритма с ключом длины N потребуется в среднем 2N-1 проверок. Таким образом, в общем случае стойкость блочного шифра зависит только от длины ключа и возрастает экспоненциально с ее ростом. Кроме этого условия к идеально стойким криптоалгоритмам применяется еще одно очень важное требование, которому они должны обязательно соответствовать. При известных исходном и зашифрованном значениях блока ключ, которым произведено это преобразование, можно узнать также только полным перебором. Ситуации, в которых постороннему наблюдателю известна часть исходного текста, встречаются повсеместно. Это могут быть стандартные надписи в электронных бланках, фиксированные заголовки форматов файлов, довольно часто встречающиеся в тексте длинные слова или последовательности байт. В свете этой проблемы описанное выше требование не является ничем чрезмерным и также строго выполняется стойкими криптоалгоритмами, как и первое.

Таким образом, на функцию стойкого блочного шифра Z = EnCrypt (X, Key) накладываются следующие условия:

1. Функция EnCrypt должна быть обратимой.

2. Не должно существовать иных методов прочтения сообщения X по известному блоку Z, кроме как полным перебором ключей Key.

3. Не должно существовать иных методов определения, каким ключом Key было произведено преобразование известного сообщения X в сообщение Z, кроме как полным перебором ключей.

Выполнение всех этих условий осуществляется следующим образом:

1. Во-первых, осуществляется хеширование пароля. Хеширование выполняет несколько функций. Для того чтобы не заставлять пользователя запоминать ключ - длинную последовательность цифр, был разработан метод преобразования строки символов любой длины (так называемого пароля) в блок байт заранее заданного размера (ключ). Для этой операции используется так называемая хеш-функция. Хеш-функцией называется такое математическое или алгоритмическое преобразование заданного блока данных, которое обладает следующими свойствами:

- Хеш-функция имеет бесконечную область определения,

- Хеш-функция имеет конечную область значений,

- Она необратима,

- Изменение входного потока информации на один бит меняет около половины всех бит выходного потока, то есть результата хеш-функции.

Эти свойства позволяют подавать на вход хеш-функции пароли, то есть текстовые строки произвольной длины на любом национальном языке.

В программе R CRYPTO хеширование пароля осуществляется следующим образом:

Сначала пароль, введенный пользователем, преобразуется в массив байт 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. Во-вторых, осуществляется архивация (сжатие данных). Архивация - это процесс представления информации в ином виде (перекодирования) с потенциальным уменьшением объема, требуемого для ее хранения. Подавляющее большинство современных форматов записи данных содержат их в виде, удобном для быстрого манипулирования, для удобного прочтения пользователями. При этом данные занимают объем больший, чем это действительно требуется для их хранения. Алгоритмы, которые устраняют избыточность записи данных, называются алгоритмами сжатия данных, или алгоритмами архивации. Вероятность взлома криптосистемы при наличии корреляции между блоками входной информации значительно выше, чем при отсутствии таковой. А алгоритмы сжатия данных по определению и имеют своей основной задачей устранение избыточности, то есть корреляции между данными во входном тексте.

Все алгоритмы сжатия данных качественно делятся на:

- Алгоритмы сжатия без потерь, при использовании которых данные на приемной восстанавливаются без малейших изменений,

- Алгоритмы сжатия с потерями, которые удаляют из потока данных информацию, незначительно влияющую на суть данных, либо вообще не воспринимаемую человеком (такие алгоритмы сейчас разработаны только для аудио- и видео-изображений).

В криптосистемах, естественно, используется только первая группа алгоритмов. В разрабатываемой криптографической программе используется оригинальный алгоритм сжатия, сущность которого заключается в следующем:

Из исходного файла считывается блок информации объемом 255 байт. Этот блок информации представляется в матрицы (таблица 2.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).

Целостность информации - это гарантия того, что информация сейчас существует в ее исходном виде, то есть при ее хранении или передаче не было произведено несанкционированных изменений. Нарушение этой категории называется фальсификацией сообщения. Для решения этой проблемы в программе R CRYPTO используется электронная цифровая подпись. На основе исходного файла вычисляется хеш-функция - это число, которое более или менее уникально характеризует исходный файл. В принципе, можно найти другой текст, который дает то же самое значение хеш-функции, но изменить в исходном файле десять-двадцать байт так, чтобы текст остался полностью осмысленным, да еще и изменился в выгодную нам сторону (например, уменьшил сумму к оплате в два раза) - чрезвычайно сложно. Электронная подпись состоит из 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. Расчет экономической эффективности проекта

Исходные данные для расчета получены на кафедре АСУ. Для расчета экономической эффективности использованы данные из прайс-листа от «Ферроком». Исходные данные для расчета затрат на разработку и обслуживание программного обеспечения приведены в таблице 3.1. Исходные данные для расчета затрат времени на разработку программного обеспечения приведены в таблице 3.2.

Таблица 3.1 Исходные данные для расчета затрат на разработку и внедрение системы

Показатели

Единица измерения

Условное обозначение

Значение

1

2

3

4

Отчисления во внебюджетные фонды

%

Отч%

26

Уральский коэффициент

%

Кур

15

Доплаты из внебюджетных средств

%

Кдоп

10

Расходы на транспортировку и установку оборудования

%

Zтр

2

Затраты на материалы (магнитные носители, расходные материалы)

%

Zмат%

2

Материалы (канцелярские принадлежности, бумага)

Руб.

М

100

Норма амортизации ЭВМ

%

аэвм

20

Норма амортизации лицензионного программного обеспечения

%

апо

40

Затраты на текущий ремонт

%

Zрем%

5

Прочие расходы

%

Пр%

1

Стоимость электроэнергии

Руб. / кВтч

Ц1кВтч

0,74

Количество рабочих дней в году

день

Драб

247

Количество предпраздничных дней в году

день

Дпредпр

14

Количество рабочих дней в месяц

день

Кдн

26

Коэффициент готовности оборудования

-

Кг

0,95

Стоимость компьютера DEPO Neos 125 C1.7 / 128M266 / 40G5K / LAN / no KB / Mm

Руб.

Ск

8062

Продолжение таблицы 3.1

Показатели

Единица измерения

Условное обозначение

Значение

Стоимость монитора LG 17” Flatron F700B, 0.24, 1024x768@85 Гц, ТСО'99

Руб.

См

4978

Стоимость операционной системы Microsoft Windows XP Professional

Руб.

Cw

5000

Стоимость программы Borland C++ Builder 6

Руб.

Cd

1800

Количество функций, реализуемых при помощи лицензионного программного обеспечения

-

n

5

Паспортная мощность ЭВМ

кВтч

Мэвм

0,25

Оклад программиста

Руб.

Окл

2500

Продолжительность рабочего дня

ч

t

8

Время на обслуживание программного обеспечения

%

Тобсл%

3

Себестоимость автотранспортных услуг

Тыс. руб.

SS

4868

Прибыль

Тыс. руб.

PR

7306

Таблица 3.2 Исходные данные для расчета затрат времени на разработку программного обеспечения

Стадия разработки

Время разработки (ч)

Всего

Машинного

1

2

3

Время на разработку технического задания (tтз)

8

-

Время на разработку системного проекта (tсп), в том числе:

56

-

- Время на разработку алгоритма

40

-

- Время выбора технической реализации алгоритма

8

-

- Время выбора прикладного программного обеспечения

8

-

Время на разработку рабочего проекта (tрп), в том числе:

240

240

- Время на разработку рабочей программы

160

160

- Время на отладку программы

80

80

Всего времени на разработку (Т)

304

240

Рассчитаем затраты на разработку программного обеспечения.

Время на разработку программного обеспечения рассчитывается по формуле 3.1:

Т1 = tтз + tсп + tрп (3.1)

Где tтз - время на разработку технического задания (ч),

tсп - время на разработку системного проекта (ч),

tрп - время на разработку рабочего проекта (ч).

Расчет затрат времени на создание программного обеспечения производится на основе исходных данных, приведенных в таблице.

Т1 = 8 + 56 + 240 = 304 (ч)

Таким образом, время на разработку программного обеспечения составляет 304 часов, в том числе 240 часов с использованием ЭВМ.

Себестоимость машинного часа (руб / ч) рассчитывается по формуле 3.2:

С1маш.часа = Zэвм / (Fд · Кг) (3.2)

Где Zэвм - суммарные затраты, связанные с эксплуатацией ЭВМ (руб.),

Fд - годовой действительный фонд рабочего времени (ч),

Кг - коэффициент готовности ЭВМ

Суммарные затраты, связанные с эксплуатацией ЭВМ, за год рассчитываются по формуле 3.3:

Zэвм = Аэвм + Апо + Zмат + Zрем + Zэн + Пр (3.3)

Где Аэвм - амортизационные отчисления на ЭВМ (руб.),

Апо - амортизационные отчисления лицензионного программного обеспечения (руб.),

Zмат - затраты на материалы (руб.),

Zрем - затраты на текущий ремонт (руб.),

Zэн - затраты на электроэнергию (руб.),

Пр - прочие расходы (руб.).

Амортизационные отчисления вычислительной техники рассчитывают по формуле 3.4:

Аэвм = Цэвмб · аэвм (3.4)

Где Цэвмб - балансовая стоимость ЭВМ (руб.),

аэвм - норма амортизации ЭВМ.

Амортизационные отчисления лицензионного программного обеспечения рассчитываются по формуле 3.5:

Апо = (Cw + Cd) · апо (3.5)

Где Cw - стоимость операционной системы,

Cd - стоимость программ,

апо - норма амортизации лицензионного программного обеспечения.

Апо = (5000 + 1800) · 0,4 = 2720 (руб.)

Балансовую стоимость ЭВМ вычисляют по формуле 3.6:

Цэвмб = Цэвм · (1 + Zтр) (3.6)

Где Цэвм - цена ЭВМ (руб.),

Zтр - затраты на транспортировку (%).

Цену ЭВМ рассчитывают по формуле 3.7:

Цэвм = Ск + См (3.7)

Где Ск - стоимость компьютера (руб.),

См - стоимость монитора (руб.),

Цэвм = 8062 + 4978 = 13040 (руб.)

Цэвмб = 11447 · (1 + 0,02) = 13300,8 (руб.)

Затраты на материалы рассчитываются по формуле 3.8:

Zмат = Zмат% · Цэвмб (3.8)

Где Цэвмб - балансовая стоимость ЭВМ (руб.),

Zмат% - затраты на материалы (%).

Zмат = 0,02 · 13300,8 = 266,02 (руб.)

Расходы на текущий ремонт оборудования рассчитываются по

формуле 3.9:

Zрем = Zрем% · Цэвмб (3.9)

Где Цэвмб - балансовая стоимость ЭВМ (руб.),

Zмат% - затраты на текущий ремонт (%).

Zрем = 0,05 · 13300,8 = 665,04 (руб.)

Расчет расходов на электроэнергию производится по формуле 3.10:

Zэн = Fд · Мэвм · Ц1кВтч · Кг (3.10)

Где Fд - годовой действительный фонд рабочего времени ЭВМ (ч),

Мэвм - паспортная мощность ЭВМ (кВтч),

Ц1кВтч - стоимость одного киловатт-часа электроэнергии (руб.),

Кг - коэффициент готовности ЭВМ.

Годовой действительный фонд рабочего времени ЭВМ рассчитывается по формуле 3.11:

Fд = Драб · t - Дпредпр · 1 (3.11)

Где Драб - количество рабочих дней в году,

t - продолжительность рабочего дня,

t = 8 часов.

Дпредпр - количество предпраздничных дней в году,

Fд = 247 · 8 - 14 · 1 = 1962 (ч)

Zэн = 1962 · 0,25 · 0,74 · 0,95 = 344,82 (руб.)

Прочие расходы рассчитываются по формуле 3.12:

Пр = Пр% · Цэвмб (3.12)

Где Цэвмб - балансовая стоимость ЭВМ (руб.),

Пр% - Прочие расходы (%).

Пр = 0,01 · 13300,8 = 133,01 (руб.)

Аэвм = 13300,8 · 0,2 = 2660,16 (руб.)

Zэвм = 2660,16 + 2720 + 266,02 + 665,04 + 344,82 + 133,01 = 6789,05 (руб.)

С1маш.часа = 6789,05 / (1962 · 0,95) = 3,64 (руб.)

Стоимость разработки программного продукта рассчитывается по формуле 3.13:

Спп = М + ФЗП + Отч + Сэвм + Н (3.13)

Где М - затраты на материалы (руб.),

ФЗП - фонд заработной платы программиста (руб.),

Отч - отчисления на социальные нужды (руб.),

Сэвм - затраты, связанные с эксплуатацией ЭВМ (руб.),

Н - накладные расходы, связанные с созданием программного обеспечения (руб.).

Фонд заработной платы программиста рассчитывается по формуле 3.14:

ФЗП = Окл · t · (1 + Кдоп) · (1 + Кур) (3.14)

Где Окл - оклад программиста (руб.),

tм - число месяцев на создание программного продукта,

Кдоп - коэффициент дополнительной заработной платы (доплаты из внебюджетных средств),

Кур - уральский коэффициент.

Число месяцев на создание программного продукта рассчитывается по формуле 3.15:

tм = Т1 / (Кдн · t) (3.15)

Где Т1 - время на разработку программного обеспечения (ч),

Кдн - Количество рабочих дней в месяц,

t - продолжительность рабочего дня.

t = 8 часов.

tм = 304 / (26 · 8) = 1,46

ФЗП = 2500 · 1,46 · (1 + 0,1) · (1 + 0,15) = 4617,25 (руб.)

Отчисления на социальные нужды рассчитываются по формуле 3.16:

Отч = ФЗП · Отч% (3.16)

Где ФЗП - фонд заработной платы программиста (руб.),

Отч% - отчисления во внебюджетные фонды (%).

Отч = 0,26 · 4617,25 = 1200,49 (руб.)

Затраты, связанные с эксплуатацией ПЭВМ, рассчитываются по формуле 3.17:

Сэвм = С1маш.часа · Т2 (3.17)

Где С1маш.часа - себестоимость машинного часа (руб / ч),

Т2 - время, затраченное на машинную реализацию программного обеспечения (ч).

Сэвм = 3,64 · 240 = 873,6 (руб.)

Накладные расходы, связанные с созданием программного обеспечения, рассчитываются по формуле 3.18:

Н = ФЗП · 0,12 (3.18)

Н = 4617,25 · 0,12 = 554,07 (руб.)

Спп = 100 + 4617,25 + 1200,49 + 873,6 + 554,07 = 7345,41 (руб.)

Рассчитаем затраты на покупку лицензионного программного обеспечения.

Для создания программного продукта необходимо следующее программное обеспечение:

- Операционная система Microsoft Windows XP Professional,

- Программа Borland C++ Builder 6.

Так как это программное обеспечение будет использовано для реализации не одной, а нескольких функций, то при учете единовременных капитальных вложений на разработку программного продукта будем учитывать долю затрат, связанных с реализацией одной функции.

Таким образом, затраты на покупку лицензионного программного обеспечения рассчитаем по формуле 3.19:

Зпо = (Cw + Cd) / n (3.19)

Где Cw - стоимость операционной системы (руб.),

Cd - стоимость программ (руб),

n - количество функций, реализуемых при помощи лицензионного программного обеспечения.

Зпо = (5000 + 1800) / 5 = 1360 (руб.)

Единовременные капитальные вложения на создание программного обеспечения рассчитываются по формуле 3.20:

Екап = Спп + Зпо (3.20)

Где Спп - стоимость разработки программного продукта (руб.),

Зпо - затраты на покупку лицензионного программного обеспечения (руб.).

Екап = 7345,41 + 1360 = 8705,41 (руб.)

Рассчитаем затраты, связанные с обслуживанием разработанного программного обеспечения.

Время на обслуживание программного обеспечения рассчитывается по формуле 3.21:

Тобсл = Кдн · t · 12 · Тобсл% (3.21)

Где Fд - годовой действительный фонд рабочего времени,

Тобсл% - время на обслуживание программного обеспечения (%).

Тобсл = 26 · 8 · 12 · 0,03 = 74,88 (ч)

Затраты на обслуживание программного обеспечения рассчитываются по формуле 3.22:

Зобсл = Тобсл · (С1маш.часа + С1чел.часа) (3.22)

Где Тобсл - время на обслуживание программного обеспечения (ч),

С1маш.часа - себестоимость машинного часа (руб.),

Счел.часа - себестоимость человеко-часа (руб.).

Себестоимость человеко-часа рассчитывается по формуле 3.23:

(3.23)

Где Окл - оклад программиста (руб.),

Отч% - отчисления во внебюджетные фонды (%),

Кдн - количество рабочих дней в месяц.

t - продолжительность рабочего дня (ч).

t = 8 часов.

Fд - годовой действительный фонд рабочего времени (ч).

Зобсл = 74,88 · (3,64 + 19,27) = 1715,5 (руб.)

Общие затраты на разработку и обслуживание программного продукта рассчитываются по формуле 3.24:

Зобщ = Екап + Зобсл (3.24)

Где Екап - единовременные капитальные вложения на разработку программного продукта (руб.),

Зобсл - затраты на обслуживание программного продукта (руб.).

Зобщ = 8705,41 + 1715,5 = 10420,91 (руб.)

Сравним общие затраты на разработку и обслуживание программного продукта с годовой себестоимостью автотранспортных услуг и с прибылью (формулы 3.25 и 3.26).

Дсс = (Зобщ / SS) · 100 (3.25)

Где Зобщ - общие затраты на разработку и обслуживание программного продукта,

SS - годовая себестоимость автотранспортных услуг.

Дсс = (10420,91 / 4868000) · 100 = 0,21 %

Дпр = (Зобщ / PR) · 100 (3.26)

Где Зобщ - общие затраты на разработку и обслуживание программного продукта,

PR - годовая прибыль.

Дпр = (10420,91 / 7306000) · 100 = 0,14 %

Таким образом, затраты на разработку программного обеспечения являются незначительными и составляют 0,21 % годовой себестоимости автотранспортных услуг, или 0,14 % прибыли. В то же время, хищение или подмена информации может привести к негативным последствиям:

- Экономические потери - раскрытие коммерческой информации может привести к серьезным прямым убыткам на рынке.

- Фирмы-конкуренты могут воспользоваться кражей информации, если та осталась незамеченной, для того чтобы полностью разорить фирму, навязывая ей фиктивные либо заведомо убыточные сделки.

- Подмена информации, как на этапе передачи, так и на этапе хранения в фирме может привести к огромным убыткам.

4 Безопасность и экологичность проекта

4.1 Классификация вредных факторов

При работе с компьютерной техникой пользователь испытывает значительную нагрузку, как физическую (сидячее положение, нагрузка на глаза), так и умственную, что приводит к снижению его трудоспособности к концу рабочего дня. В связи с этим актуальны вопросы защиты пользователей от разнообразных вредных воздействий, возникающих в процессе работы с ЭВМ. Видеотерминалы становятся все более распространенным средством взаимодействия человека с ЭВМ. Таким образом, встает важная задача: сконструировать рабочее место оператора так, чтобы взаимосвязи в системе "человек-машина" были оптимальными со всех точек зрения. Утомляемость операторов, работающих за дисплейным терминалом, представляет собой серьезную проблему. Рабочее место должно хорошо вентилироваться. В настоящее время с точки зрения шумовой нагрузки достигнут значительный прогресс. Уровень шума в зале (примерно 40 дБ) в соответствии с ГОСТ 12.1.003 - 83 является удовлетворительным, независимо от количества используемой аппаратуры. По последним исследованиям - работа за видеотерминалом не представляет опасности с точки зрения рентгеновского излучения. Компьютеризированный труд совершается в условиях ограниченной подвижности, связан с длительным статическим мышечным напряжением, а это является самой утомительной формой мышечной деятельности. Труд человека за компьютером может привести к возникновению неврозов, нервно-психических и сердечно-сосудистых заболеваний.

Вредные производственные факторы, которые могут привести к заболеваниям или снижению работоспособности, согласно ГОСТ 12.0.003 - 74:

1. физические:

- повышенная запыленность рабочей зоны;

- повышенная температура воздуха рабочей зоны;

- повышенная или пониженная влажность воздуха;

- повышенная или пониженная подвижность воздуха;

- недостаточная освещенность рабочей зоны;

- прямая и отраженная блесткость;

- повышенный уровень шума на рабочем месте;

- повышенный уровень статического электричества;

- повышенный уровень электромагнитных излучений;

- повышенный уровень ультрафиолетовых излучений;

- повышенный уровень мягкого рентгеновского излучения.

2. психофизиологические:

- перенапряжение анализаторов;

- монотонность;

- неподвижная поза.

При работе за видеотерминалом больше всего страдают глаза, кожа лица. В процессе работы приходится в течение нескольких часов пристально смотреть на яркий мигающий экран, что может привести к перенапряжению глаз и головной боли. Но главная опасность для зрения - неправильное освещение, неудачно выбранное место для компьютера и работа без перерыва. Устранив эти причины, можно свести к минимуму вред от технического несовершенства монитора.

4.2 Эргономика

Эргономика и эстетика производства являются составными частями культуры производства, то есть комплекса мер, направленных на создание благоприятной рабочей обстановки. Помещения, их размеры (площадь, объем) должны в первую очередь соответствовать количеству работающих и размещаемому в них комплекту технических средств. В них предусматриваются соответствующие параметры температуры, освещения, чистоты воздуха, обеспечивают изоляцию, от производственных шумов. Важную роль в создании благоприятных условий труда играет цвет. Установлено, что физиологическое воздействие цвета на организм зависит от длины его волны. Для обеспечения нормальных условий труда санитарные нормы СН 245 - 71 устанавливают на одного работающего, объем производственного помещения не менее 15 м. Эргономическая безопасность компьютера оценивается по двум перечням требований: к визуальным параметрам дисплеев (с учетом светового климата рабочего места) и к эмиссионным параметрам и излучениям дисплеев и ПК.

Требования к визуальным параметрам должны гарантировать комфортность работы пользователя. Они разделены на две группы:

1. В первую выделены четыре параметра: яркость, освещенность, угловой размер знака и угол наблюдения, нормирование которых в целях обеспечения эргономической безопасности компьютера взаимозависимо.

2. Параметры второй группы - неравномерность яркости, блики, мелькания, дрожание, геометрические и нелинейные искажения и т. д.

Большое значение имеют характеристики монитора:

- Частота развертки. Применяемая частота кадровой развертки должна быть не ниже чем 72 Гц для исключения мерцания изображения;

- Соответствие применяемого разрешения размерам экрана. Применяемое разрешение должно соответствовать размеру экрана.

Требования к эмиссионным параметрам дисплеев и ПК являются, несомненно, важными, так как для здоровья человека могут быть опасными поля и излучения компьютеров, прежде всего электростатические и переменные электромагнитные поля. Источниками переменного электрического и магнитного полей в ПК являются как дисплей, так и другие блоки. Неравномерность и сложная форма распределения переменных электромагнитных полей в ряде случаев может представлять большую опасность облучения для соседей по рабочему помещению, нежели для пользователя данного ПК.

Рабочее место пользователя представляет собой персональный компьютер типа IBM PC. В комплект входят:

- Системный блок,

- Монитор,

- Клавиатура,

- Мышь.

Таблица 4.1 Размеры рабочего места

Нормируемая величина

Значение

Необходимое

Фактическое

Высота рабочей поверхности (мм)

680 - 800

700

Высота сидения (мм)

430

430

Расстояние от сидения до нижнего края рабочей поверхности (мм)

150

150

Высота пространства для ног (мм)

> 600

700

Ширина пространства для ног (мм)

> 500

600

Глубина пространства для ног (мм)

> 650

700

Эргономика рабочего места:

- Компьютер выполнен в строгих формах;

- Расстояние от глаз пользователя до монитора составляет 50 - 60 см;

- Применяется стул с твердой спинкой изогнутой формы, обнимающей поясницу;

- Стол под персональный компьютер имеет достаточную площадь для размещения всего необходимого;

- Конструкция стола обеспечивает необходимое расстояние и угол наблюдения между экраном дисплея и глазами человека.

Эргономическая безопасность компьютера:

- Используется монитор диагональю 17 дюймов с разрешением 1024 х 768 точек;

- Размер зерна - 0,24 мм;

- Частота развертки - 85 Гц;

- Монитор соответствует стандартам ТСО'99;

- Экран монитора покрыт антибликовым покрытием;

- Рабочие места установлены так, что сотрудники не попадают в опасную зону излучения задней панели монитора.

Таким образом, можно сделать вывод о том, что планировка рабочего места удовлетворяет требованиям удобства выполнения работ и экономии энергии и времени пользователя, удобства обслуживания и использования устройств ЭВМ.

4.3 Обеспечение оптимальной освещенности

В настоящее время 90% информации человек получает с помощью органов зрения. Ее поступление во многом зависит от освещения. При неудовлетворительном освещении человек напрягает зрительный аппарат, что ведет к ухудшению зрения и состояния организма в целом. Нерациональное освещение на рабочем месте в цехе, лаборатории, помещении вычислительного центра, офисе, дома при чтении приводит к повышенной утомляемости, снижению работоспособности, перенапряжению органов зрения и снижению его остроты. Рациональное освещение должно быть спроектировано в соответствии с нормами, приведенными в СНиП 23 - 05 - 95, а также рекомендациями, изложенными в литературе.

Правильно спроектированное и рационально выполненное освещение помещений:

- Оказывает психофизическое воздействие на работающих;

- Способствует повышению эффективности и безопасности труда;

- Снижает утомление;

- Сохраняет высокую работоспособность.

Ощущение зрения происходит под воздействием видимого излучения (света), которое представляет собой электромагнитное излучение с длиной волны 0,38 .. 0,76 мкм. Чувствительность зрения максимальна к электромагнитному излучению с длиной волны 0,555 мкм (желто-зеленый цвет) и уменьшается к границам видимого спектра. Освещение характеризуется количественными и качественными показателями. Для качественной оценки условий зрительной работы используют такие показатели как фон, контраст объекта с фоном.

1. Фон - это поверхность, на которой происходит различение объекта. Фон характеризуется способностью поверхности отражать падающий на нее световой поток. Эта способность (коэффициент отражения ?) определяется как отношение отраженного от поверхности светового потока Фот к падающему на нее световому потоку Фпад; ? = Фот / Фпад. В зависимости от цвета и фактуры поверхности значения коэффициента отражения находятся в пределах 0,02 .. 0,95; при ? > 0,4 фон считается светлым; при ? = 0,2 .. 0,4 - средним; и при ? < 0,2 - темным.

2. Контраст объекта с фоном k - степень различения объекта и фона - характеризуется соотношением яркостей рассматриваемого объекта (точки, линии, знака, пятна, трещины, риски или других элементов) и фона; k = (Lор - Lо) / Lор считается большим, если k > 0,5 (объект резко выделяется на фоне), средним при k = 0,2 .. 0,5 (объект и фон заметно отличаются по яркости) и малым при k < 0,2 (объект слабо заметен на фоне).

В таблице 4.2 приведены нормы проектирования искусственного освещения.

Таблица 4.2 Нормы проектирования искусственного освещения

Характеристика зрительной работы

Наименьший размер объекта различения, мм

Разряд зрительной работы

Подразряд зрительной работы

Контраст объекта с фоном

Характеристика фона

Освещенность, лк

1

2

3

4

5

6

8

Наивысшей точности

Менее 0,15

I

а

Малый

Темный

1500

б

Малый

Средний

Средний

Темный

1250

Характеристика зрительной работы

Наименьший размер объекта различения, мм

Разряд зрительной работы

Подразряд зрительной работы

Контраст объекта с фоном

Характеристика фона

Освещенность, лк

в

Малый

Средний

Большой

Светлый

Средний

Темный

750

г

Средний

Большой

Большой

Светлый

Светлый

Средний

400

Очень высокой точности

0,15 - 0,3

II

а

Малый

Темный

1250

б

Малый

Средний

Средний

Темный

750

в

Малый

Средний

Большой

Светлый

Средний

Темный

500

г

Средний

Большой

Большой

Светлый

Светлый

Средний

300

Высокой точности

0,3 - 0,5

III

а

Малый

Темный

500

б

Малый

Средний

Средний

Темный

300

в

Малый

Средний

Большой

Светлый

Средний

Темный

300

г

Средний

Большой

Большой

Светлый

Светлый

Средний

200

С помощью таблицы 4.2 определяется разряд и подразряд зрительной работы, а также нормируемый уровень минимальной освещенности на рабочем месте:

Характеристика зрительной работы - очень высокой точности,

Наименьший размер объекта различения - 0,24 (мм),

Контраст объекта различения с фоном - Большой,

Характеристика фона - Светлый,

Разряд зрительной работы - II,

Подразряд зрительной работы - г,

Освещенность - 300 (лк).

Равномерное освещение горизонтальной рабочей поверхности достигается при определенных отношениях расстояния между центрами светильников L (м) к высоте их подвеса над рабочей поверхностью Нр (м). В расчетах Нр = H.

L = 1,75 H (4.1)

H = 4 (м)

L = 1,75 · 4 = 7 (м)

Число светильников с люминесцентными лампами (ЛЛ) рассчитывается по формуле 4.2:

(4.2)

S - площадь помещения (м2).

S = A · B = 8 · 8 = 64 (м2)

M - расстояние между параллельными рядами (м).

В соответствии с рекомендациями M ? 0,6 Нр

Оптимальное значение M = 2 .. 3 м.

M ? 0,6 Нр

M = 2,5 (м)

Для достижения равномерной горизонтальной освещенности светильники с ЛЛ рекомендуется располагать сплошными рядами, параллельными стенам с окнами или длинным сторонам помещения. Для расчета общего равномерного освещения рабочей поверхности используют метод светового потока, учитывающий световой поток, отраженный от потолка и стен. Световой поток Ф - это часть лучистого потока, воспринимаемая человеком как свет, характеризующая мощность светового излучения, измеряется в люменах (лм).

Расчетный световой поток (лм) группы светильников с люминесцентными лампами рассчитывается по формуле 4.3:

(4.3)

Ен - нормированная минимальная освещенность (лк).

Ен = 300 (лк)

Z - коэффициент минимальной освещенности.

Z = Еср / Емин (4.4)

Для люминесцентных ламп Z = 1,1.

К - коэффициент запаса.

Значения коэффициента запаса зависят от характеристики помещения: для помещений с большим выделением тепла К = 2; со средним К = 1,8; с малым К = 1,5.

К = 1,5

? - коэффициент использования светового потока ламп (? зависит от КПД и кривой распределения силы света светильника, коэффициента отражения от потолка ?п и стен ?с, высоты подвеса светильников над рабочей поверхностью Нр и показателя помещения i).

Показатель помещения рассчитывается по формуле 4.5:

(4.5)

Где А и В - соответственно длина и ширина помещения (м).

Таблица 4.3 Значения коэффициента использования светового потока

Показатель помещения

1

2

3

4

5

Коэффициент использования светового потока

0,28 .. 0,46

0,34 .. 0,57

0,37 .. 0,62

0,39 .. 0,65

0,40 .. 0,66

Показателю помещения 1 соответствует коэффициент использования светового потока ? = 0,4.

По полученному значению светового потока с помощью таблицы подбирают лампы, учитывая, что в светильнике с люминесцентными лампами может быть больше одной лампы. Возьмем по 4 лампы в каждом светильнике.

Тогда Фл.расч = 19800 / 4 = 4950 (лм)

Таблица 4.4 Характеристики люминесцентных ламп

Тип и мощность (Вт)

Длина (мм)

Световой поток (лм)

1

2

3

ЛДЦ 20

604

820

ЛБ 20

604

1180

ЛДЦ 30

909

1450

ЛБ 30

909

2100

ЛДЦ 40

1214

2100

ЛД 40

1214

2340

ЛДЦ 65

1515

3050

ЛДЦ 80

1515

4070

ЛБ 80

1515

5220

Световой поток выбранной лампы должен соответствовать соотношению 4.6:

Фл.расч = (0,9 .. 1,2) Фл.табл (4.6)

Где Фл.расч - расчетный световой поток (лм),

Фл.табл - световой поток, определенный по таблице (лм).

Возьмем лампы ЛБ80.

4950 = 1,05 · 5220

Фл.расч = 1,05 Фл.табл

Потребляемая мощность (Вт) осветительной установки рассчитывается по формуле 4.7:

P = pNn (4.7)

Где p - мощность лампы (Вт),

N - число светильников (шт.),

n - число ламп в светильнике (для люминесцентных ламп n = 2, 4).

P = 80 · 4 · 4 = 1280 (Вт)

Таким образом, для обеспечения оптимальной освещенности рабочего места пользователя ЭВМ необходим световой поток 19800 лм. Расчеты показали, что для получения такого светового потока необходимо использовать четыре светильника. Эти светильники располагаются в два ряда параллельно стенам с окнами. Каждый светильник состоит из четырех ламп типа ЛБ80. Потребляемая мощность осветительной установки составляет 1280 Вт.

В данном разделе дипломного проекта был проведен анализ опасных и вредных факторов, действующих на пользователя ЭВМ во время работы с компьютерной техникой. В результате были определены требования к безопасности рабочего места пользователя:

1. Определены требования к планировке рабочего места:

- Применение стула с твердой спинкой изогнутой формы,

- Стол под персональный компьютер имеет достаточную площадь для размещения всего необходимого,

- Конструкция стола обеспечивает необходимое расстояние и угол наблюдения,

2. Определены требования к монитору:

- Диагональ 17 дюймов, разрешение 1024 х 768 точек, размер зерна 0,24 мм, частота развертки 85 Гц, соответствие стандартам ТСО'99,

- Рабочие места установлены так, что сотрудники не попадают в опасную зону излучения задней панели монитора.

3. Произведен расчет оптимального освещения:

- Необходимый световой поток составляет 19800 лм,

- Осветительная установка состоит из четырех светильников по четыре лампы ЛБ80 в каждом светильнике,

- Светильники располагаются в два ряда параллельно стенам с окнами

- Потребляемая мощность осветительной установки составляет 1280 Вт.

Выполнение всех этих требований позволяет значительно снизить негативные воздействия вредных факторов и обеспечивает безопасные условия труда.

Заключение

Криптографическая защита информации является надежным и недорогим средством. Любой объем информации от нескольких байт до гигабайта, будучи зашифрован с помощью более или менее стойкой криптосистемы, недоступен для прочтения без знания ключа. И уже совершенно не важно, хранится он на жестком диске, на дискете или компакт-диске, не важно под управлением какой операционной системы. Против самых новейших технологий и миллионных расходов здесь стоит математика, и этот барьер до сих пор невозможно преодолеть.

В общесистемной части дипломного проекта был произведен анализ деятельности предприятия, в результате которого была изучена деятельность автотранспортного предприятия, а также определена необходимость в защите информации.

В проектной части дипломного проекта была разработана криптографическая программа R CRYPTO. В качестве основного средства для разработки программы использовалась среда визуального программирования C++ BUILDER 6. Программа R CRYPTO позволяет шифровать все типы файлов. «Сердцем» криптографической программы является криптоалгоритм. Разработанная криптографическая программа является завершенной комплексной моделью, способной производить двусторонние криптопреобразования над данными произвольного объема. Шифрование файлов осуществляется по оригинальному алгоритму с использованием симметричного ключа, который формируется на основании пароля, введенного пользователем. В результате хеширования пароля ключ достигает необходимой длины. Алгоритм шифрования является блочным шифром, то есть информация шифруется блоками определенной длины. Шифрование каждого последующего блока данных зависит от всех предыдущих. В процессе шифрования происходит также сжатие данных, что обеспечивает еще большую надежность шифрования, так как между зашифрованными блоками данных отсутствует корреляционная зависимость. Временная задержка в проверке пароля не позволяет злоумышленникам узнавать пароль методом полного перебора. Кроме того, к зашифрованному файлу добавляется электронная цифровая подпись, которая позволяет проверять целостность информации. Расшифровка зашифрованного файла возможна только при правильно введенном пароле, который использовался при шифровании этого файла.

В экономической части дипломного проекта была рассчитана экономическая эффективность проекта. Экономическая эффективность от внедрения криптографической защиты информации заключается в предотвращении возможных убытков от хищения или подмены информации. Затраты на создание программного продукта составляют 7170 рублей. Эти затраты являются незначительными и составляют 0,15 % годовой себестоимости автотранспортных услуг, или 0,1 % прибыли.

В то же время, хищение или подмена информации может привести к негативным последствиям:

- Экономические потери - раскрытие коммерческой информации может привести к серьезным прямым убыткам на рынке,

- Известие о краже большого объема информации обычно серьезно влияет на репутацию фирмы, приводя косвенно к потерям в объемах торговых операций,

- Фирмы-конкуренты могут воспользоваться кражей информации, если та осталась незамеченной, для того чтобы полностью разорить фирму, навязывая ей фиктивные либо заведомо убыточные сделки,

- Подмена информации, как на этапе передачи, так и на этапе хранения в фирме может привести к огромным убыткам.

Таким образом, можно сделать вывод об экономической целесообразности создания подсистемы криптографической защиты информации на предприятии ООО «Транспортник».

Список литературы

1. Автоматизированные информационные технологии в экономике. Учебник. Под. ред. проф. Г.А. Титоренко. - М.: Юнити, 2000

2. Алферов А.: Основы криптографии. Учебное пособие. - СПб.: БХВ - Петербург, 2002

3. Байбурин В.Б.: Введение в защиту информации. - СПб.: БХВ - Петербург, 2004

4. Безопасность жизнедеятельности. Учебник для вузов. С.В. Белов, А.В. Ильницкая, А.Ф. Козьяков и др. Под общ. ред. С.В. Белова. 2-е изд., испр. и доп. - М.: Высш. шк., 1999

5. Бухгалтерский учет. Богаченко В.М., Кириллова Н.А. - Ростов н/Д: Феникс, 2001

6. Введение в защиту информации в автоматизированных системах. Учебное пособие для вузов. Малюк А.А., Пазизин С.В., Погожин Н.С. 2-е изд. - СПб.: БХВ - Петербург, 2004

7. Вдовенко Л.А.: Системно-информационный подход к оценке экономической деятельности промышленных предприятий. - М.: Финансы и статистика, 1996

8. Вирт Н.: Алгоритмы и структуры данных. Пер. с англ. - М.: Мир, 1999

9. Кокорева О.И.: Реестр Windows XP. - СПб.: БХВ - Петербург, 2004

10. Комягин В.Б.: 1С: Бухгалтерия 7.7 в вопросах и ответах. Самоучитель. Учебное пособие. - СПб.: БХВ - Петербург, 2004

11. Кондраков Н.П.: Бухгалтерский учет. Учебное пособие. 4-е изд., перераб. и доп. - М.: ИНФРА-М, 2001

12. Культин Н.Б.: C++ Builder 6. Программирование на Object Pascal. - СПб.: БХВ - Петербург, 2001

13. Назарова С.В.: Локальные вычислительные сети. - М: Финансы и статистика, 1995

14. Нанс Б.: Компьютерные сети. - М.: Бином, 1996

15. Немнюгин С.А.: Turbo Pascal: Практикум. - СПб.: Питер, 2001

16. Основы современной криптографии. Баричев С.Г., Гончаров В.В., Серов Р.Е. - СПб.: БХВ - Петербург, 2001

17. Принципы разработки программного обеспечения. Зелковиц М., Шоу А., Гэннон Д. Пер. с англ. - М.: Мир, 1992

18. Савицкая Г.В.: Анализ хозяйственной деятельности предприятия. Учебник. 2-е изд., испр. и доп. - М.: Инфра-М, 2003

19. Справочная книга для проектирования электрического освещения. Под. ред. Кнорринга Г.Н. - М.: Энергия, 1996

20. Фаронов Д.Е.: Профессиональная работа в C++ BUILDER 6. Библиотека программиста. - СПб.: БХВ - Петербург, 2002

21. Фокс Д.: Программное обеспечение и его разработка. Пер. с англ. - М.: Мир, 1995

22. Хорошева А.Б., Кремлева В.Г.: 1С: Бухгалтерия 7.7 редакция 4.4. Краткий практический курс для начинающего пользователя. Учебное пособие. - СПб.: БХВ - Петербург, 2003

23. Экономика, разработка и использование программного обеспечения ЭВМ. Благодатских В.А., Енгибарян М.А., Ковалевская Е.В. и др. - М.: Финансы и статистика, 1995

Приложение А (Обязательное)

Блок-схема алгоритма программы

Рисунок В.1 Общая блок-схема алгоритма программы

Продолжение приложения А

Рисунок В.2 Продолжение общей блок-схемы алгоритма программы

Продолжение приложения А

Рисунок В.3 Блок-схема алгоритма шифрования

Продолжение приложения А

Рисунок В.4 Продолжение блок-схемы алгоритма шифрования

Продолжение приложения А

Рисунок В.5 Блок-схема алгоритма расшифровки

Продолжение приложения А

Рисунок В.6 Продолжение блок-схемы алгоритма расшифровки

Продолжение приложения А

Рисунок В.7 Блок-схема алгоритма проверки электронной цифровой подписи

Продолжение приложения А

Рисунок В.8 Продолжение блок-схемы алгоритма проверки электронной цифровой подписи

Приложение В (обязательное)

Экранные формы программы R CRYPTO

Рисунок Г.1 Форма «Выбор вида интерфейса»

Рисунок Г.2 Главная форма (классический вид)

Продолжение приложения

Рисунок Г.3 Форма «Сохранение зашифрованного файла» (классический вид)

Рисунок Г.4 Форма «Шифрование» (классический вид)

Продолжение приложения

Рисунок Г.5 Форма «Сохранение расшифрованного файла» (классический вид)

Рисунок Г.6 Форма «Расшифровка» (классический вид)

Рисунок Г.7 Форма «Проверка электронной цифровой подписи»

Продолжение приложения

Рисунок Г.8 Главная форма (интерфейс R CRYPTO)

Рисунок Г.9 Форма «Шифрование» (интерфейс R CRYPTO)

Продолжение приложения

Рисунок Г.10 Форма «Расшифровка» (интерфейс R CRYPTO)

Рисунок Г.11 Форма «Проверка электронной цифровой подписи» (интерфейс R CRYPTO)

Продолжение приложения

Рисунок Г.12 Содержание справочной системы

Приложение Д (обязательное)

Листинг основного криптоалгоритма

#include<stdio.h>

#include<conio.h>

#define EN0 0 /* MODE == encrypt */

#define DE1 1 /* MODE == decrypt */

typedef struct {

unsigned long ek[32];

unsigned long dk[32]; } des_ctx;

extern void deskey(unsigned char *, short);

extern void usekey(unsigned long *);

extern void cpkey(unsigned long *);

extern void des(unsigned char *, unsigned char *);

static void scrunch(unsigned char *, unsigned long *);

static void unscrun(unsigned long *, unsigned char *);

static void desfunc(unsigned long *, unsigned long *);

static void cookey(unsigned long *);

static unsigned long KnL[32] = { 0L };

static unsigned long KnR[32] = { 0L };

static unsigned long Kn3[32] = { 0L };

static unsigned char Df_Key[24] = {

0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef,

0xfe,0xdc,0xba,0x98,0x76,0x54, 0x32, 0x10,

0x89,0xab,0xcd,0xef,0x01,0x23,0x45,0x67 } ;

static unsigned short bytebit[8] = {

0200, 0100, 040, 020, 010, 04, 02, 01 };

static unsigned long bigbyte[24] = {

0x800000L, 0x400000L, 0x200000L, 0x100000L,

0x80000L, 0x40000L, 0x20000L, 0x10000L,

0x8000L, 0x4000L, 0x2000L, 0x1000L,

0x800L, 0x400L, 0x200L, 0x100L,

0x80L, 0x40L, 0x20L, 0x10L,

0x8L, 0x4L, 0x2L, 0x1L };

/* Use the key schedule specified in the Standard (ANSI X3.92-1981). */

static unsigned char pc1[56] = {

56, 48, 40, 32, 24, 16, 8, 0, 57, 49, 41, 33, 25, 17,

9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35,

62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21,

13, 5, 60, 52, 44, 36, 28, 20, 12, 4, 27, 19, 11, 3 };

static unsigned char totrot[16] = {

1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28 };


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.