Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.abitu.ru/en2002/closed/viewwork.html?thesises=201
Дата изменения: Fri May 5 15:24:28 2006
Дата индексирования: Tue Oct 2 03:34:57 2012
Кодировка: koi8-r

Поисковые слова: ngc 281


Актуальность работы

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

Методы решения задачи

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

Описание алгоритма шифрования

В качестве алгоритма шифрования был избран алгоритм BlowFish, созданный
B.Schneier в 1993 году. BlowFish - блочный шифр, который шифрует данные в 8
- байтовых блоках. Алгоритм включает в себе 2 части: часть расширения
ключей и часть кодирования данных. Расширение ключа преобразует ключи
переменной длины, в большинстве 56 байтовые (448 битов), в несколько
суммированных массивов подключей размером в 4168 байт. Blowfish имеет 16
итераций. Каждая итерация включает в себя зависящие от ключа перестановки,
и зависящей от ключей и данных замены. Все операции XOR и добавления на 32-
битных словах. Единственные дополнительные операции - четыре
индексированных поиска данных в целочисленных массивах.

Идентификация пользователей

Идентификация пользователей происходит на основе парольной защиты.
Необходимо заметить, что пароль для доступа к защищенному диску нигде не
хранится. В файле-образе диска хранится лишь хэш пароля. Вкратце объясню
суть хеширования: предположим, существует некоторая функция f,
преобразующая исходную строку(в данном случае пароль) в некую
последовательность байтов таким образом, чтобы обратный процесс был
невозможен или требовал огромного объема вычислений, заведомо недоступного
злоумышленнику. Математически это можно записать так:
f(password) -> x
Все дело в том, что если строка s1 равна строке s2, то и f(s1) заведомо
равно f(s2). Таким образом, если f(s1)=f(s2), то и s1=s2! А это дает
возможность отказаться от хранения паролей в открытом виде.

Использованные источники

1) Описание алгоритма BlowFish -
http://astu.secna.ru/russian/students/personal/54kkl&54gun/bfsverla.htm
2) MSDN (Microsoft Corp.)
3) Microsoft Windows 2000 API (изд. DiaSoft, автор - Р.Саймон)