Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Защита данных от несанкционированного доступа

ающее процесс  образования
 зашифрованных данных  из  открытых  данных  в  результате  преобразований,
 заданных алгоритмом криптографического преобразования.
      Уравнение расшифрования — соотношение, описывающее процесс образования
 открытых данных  из  зашифрованных  данных  в  результате  преобразований,
 заданных алгоритмом криптографического преобразования.
      Под шифром понимается совокупность обратимых преобразований  множества
 открытых данных на множество  зашифрованных  данных,  заданных  алгоритмом
 криптографического преобразования.
      Криптостойкостью называется  характеристика  шифра,  определяющая  его
 стойкость к дешифрованию. Обычно эта характеристика определяется  периодом
 времени, необходимым для дешифрования [6].
      Принцип зашифрования заключается в генерации  гаммы  шифра  с  помощью
 датчика псевдослучайных чисел  (ПСЧ)  и  наложением  полученной  гаммы  на
 открытые данные с
                             КП 46.41010.301 ПЗ
 помощью логической операции “исключающее ИЛИ” (т. е. обратимым образом).
      Процесс расшифрования данных  сводится  к  повторной  генерации  гаммы
 шифра при известном ключе и наложению такой гаммы на зашифрованные данные.
 Полученный зашифрованный текст является достаточно трудным для раскрытия в
 том  случае,  когда  гамма  шифра  не   содержит   повторяющихся   битовых
 последовательностей. По сути дела гамма шифра должна изменяться  случайным
 образом  для  каждого  шифруемого  слова.  Фактически  если  период  гаммы
 превышает длину всего зашифрованного текста  и  неизвестна  никакая  часть
 исходного текста, то шифр можно раскрыть только прямым
 перебором (подбором ключа). В  этом  случае  криптостойкость  определяется
 размером ключа.
      Чтобы   получить   линейные   последовательности   элементов    гаммы,
 используются датчики ПСЧ. К настоящему  времени  на  основе  теории  групп
 разработано несколько типов таких датчиков.
      В своей программе я использовал так называемый конгруэнтный  генератор
 ПСЧ — наиболее доступный и эффективный. Для этого класса  генераторов  ПСЧ
 можно сделать математически строгое заключение о  том,  какими  свойствами
 обладают выходные сигналы этих генераторов с точки зрения периодичности  и
 случайности.
      Данный    линейный    конгруэнтный     датчик     ПСЧ     вырабатывает
 последовательности псевдослучайных чисел T(i), описываемые соотношением
      [pic]                  (1)
 T(0) — исходная величина, выбранная в качестве порождающего числа.
      Этот  датчик  ПСЧ  генерирует  псевдослучайные  числа  с  определенным
 периодом повторения, зависящим от выбранных значений A  и  C.  Значение  М
 обычно устанавливается равным 2b, где b — длина слова ЭВМ в битах.  Датчик
 имеет максимальный период М до того, как  генерируемая  последовательность
 чисел  начнет  повторяться.  Линейный  конгруэнтный   датчик   ПСЧ   имеет
 максимальную длину М тогда и только тогда, когда  A  mod  4  =  1  и  С  —
 нечетное. В своей программе я положил А =  5,  С  =  27,  Т(0)  —  пароль,
 вводимый пользователем.
      С полученной последовательностью Т(i) поступают следующим образом:
            F(i) = T(i) xor D(i)                                    (2)
      Где  в  (2)  D(i)  —  последовательность  открытых  данных,   F(i)   —
 последовательность
                             КП 46.41010.301 ПЗ
 зашифрованных данных [4].
      Также  при  разработке  алгоритма  шифрования  использовался  алгоритм
 американского  федерального  стандарта  на  шифрование   данных   —   Data
 Encryption Standard (DES).
      При зашифровании  входные  данные  шифруются  по  формуле  (2),  далее
 обрабатываются блоками по 64 слова (word).  Эта  обработка  заключается  в
 следующем: :4 слова переставляются в соответствии с таблицей, изображенной
 на рис. 2:
|40     |8      |48     |16     |56     | 24    |64     |32     |
|39     |7      |47     |15     |55     |23     |63     |31     |
|38     |6      |46     |14     |54     |22     |62     |30     |
|37     |5      |45     |13     |53     |21     |61     |29     |
|36     |4      |44     |12     |52     |20     |60     |28     |
|35     |3      |43     |11     |51     |19     |59     |27     |
|34     |2      |42     |10     |50     |18     |58     |26     |
|33     |1      |41     |9      |49     |17     |57     |25     |


      Рис. 2. Перестановка после зашифрования.

      Как видно из  данной  таблицы,  слово  40  входной  последовательности
 становится 1-ым, слово 8 — 2-ым и т. д.
      Процесс расшифрования данных является инверсным относительно  процесса
 зашифрования.  Т.  е.  данные  сначала  переставляются  в  соответствии  с
 таблицей, изображенной на рис. 3, а затем преобразуются  по  формуле  (2).
 Как легко видеть, данная перестановка является  обратной  по  отношению  к
 начальной.
|58     |50     |42     |34     |26     |18     |10     |2      |
|60     |52     |44     |36     |28     |20     |12     |4      |
|62     |54     |46     |38     |30     |22     |14     |6      |
|64     |56     |48     |40     |32     |24     |16     |8      |
|57     |49     |41     |33     |25     |17     |9      |1      |
|59     |51     |43     |35     |27     |19     |11     |3      |
|61     |53     |45     |37     |29     |21     |13     |5      |
|63     |55     |47     |39     |31     |23     |15     |7      |


      Рис. 3. Перестановка перед расшифрованием
                             КП 46.41010.301 ПЗ
                            4. Описание программы

      При   написании   программы   использовались   следующие   стандартные
 библиотеки Borland Pascal 7.0 и Turbo Vision 2.0:
      . Модуль Objects.  Модуль  Objects   содержит   основные   определения
        объектов Turbo Vision, включая базовый объект иерархии Turbo  Vision
        TObject, а также все невидимые  элементы   Turbo   Vision:   потоки,
        коллекции  и ресурсы.
      .  Модуль  App.  Модуль  App   (предоставлен  в    исходных     кодах)
        обеспечивает элементы оболочки  Turbo   Vision.   4   очень   мощных
        объектных типа определены в App,   включая  объекты  TApplication  и
        TProgram, которые служат в   качестве   программ   Turbo   Vision  и
        объект панели экрана, который  управляет  большинством  элементов  в
        оконных программах.
      . Модуль Views. Модуль Views содержит основные компоненты      видимых
        элементов и полезные компоненты более сложных групп, таких как рамки
        окон  и  полосы  скроллинга.  Более   сложные    видимые    элементы
        находятся  в модулях Dialogs и TextView.
      . Модуль Dialogs.  Модуль  Dialogs  определяет  большинство  элементов
        наиболее  часто  используемых  при    создании   диалоговых    окон.
        Этот  модуль  включает   сами  диалоговые  окна  (которые   являются
        специализированными окнами) и различные элементы  управления,  такие
        как кнопки, метки, зависимые и независимые кнопки,  строки  ввода  и
        списки истории.
      . Модуль Menus. Модуль Menus  обеспечивает все объекты и процедуры для
        системы меню  Turbo  Vision,  включая  выпадающие  меню  и  активные
        элементы строки статуса.
      . Модуль  Drivers.  Модуль  Drivers  содержит  все  специализированные
        драйверы  Turbo  Vision,  включая  драйверы  мышки   и   клавиатуры,
        поддержку экрана и систему обработки ошибок с монитором событий  для
        программ, управляемых событиями.
      . Модуль Memory. Модуль  Memory  содержит  процедуры  монитора  памяти
        Turbo Vision, которые обеспечивают функции управления кучей.
      .  Модуль  CRT.  Модуль   CRT   содержит   константы,   переменные   и
        подпрограммы, предназначенные для работы с консолью.  В  отличие  от
        стандартного ввода-вывода,
                             КП 46.41010.301 ПЗ
        когда он осуществляется  через  операционную  систему,  подпрограммы
        этого модуля работают с BIOS и непосредственно с видеопамятью.
      .  Модуль  DOS.  Модуль   DOS   позволяет   использовать   возможности
        операционной системы MS-DOS, не предусмотренные  в  стандарте  языка
        Паскаль, и содержит типы, константы,  переменные  и  для  реализации
        этих дополнительных возможностей.
      Кроме вышеперечисленных  стандартных  модулей  был  разработан  модуль
 SetConf, в котором находится функция привязки программы к BIOS компьютера,
 т. е. защита от копирования.
      При  запуске  программы  в  первую  очередь  проверяется   целостность
 системы; т. е. наличие всех файлов системы, соответствуют ли  их  имена  и
 размеры таблице. Далее  происходит  инициализация:  проверяются  параметры
 BIOS. Если какой либо файл системы  был  изменен  или  параметры  BIOS  не
 соответствуют установленным в программе, система работать  не  будет.  Для
 входа в систему необходимо ввести пароль. Эти  проверки  осуществляются  в
 конструкторе Init объекта  TMyApp.  Этот  же  объект  инициализирует  меню
 (TMyApp.InitMenu), строку состояния (TMyApp.InitStatusLine), рабочее  поле
 (TMyApp.InitDeskTop),   устанавливает   специальную    цветовую    палитру
 (TMyApp.GetPalette). Обработка событий (нажатие клавиш клавиатуры,  работа
 с “мышью”) осуществляется в методе HandleEvent объекта TMyApp. При  выборе
 какого-либо пункта меню управление передается соответствующему объекту или
 вызывается нужная подпрограмма.
      В программе используются следующие процедуры, функции и объекты:
     1. Shifr (процедура). Зашифрование файлов любого типа. Сначала получаем
        пароль от пользователя,  затем  создаем  файл  зашифрованных  данных
        (*.M&A). Исходный файл считывается блоками по 64 word, кодируется  с
        помощью  генератора  ПСЧ,  затем  переставляется  в  соответствии  с
        та
12345След.
скачать работу

Защита данных от несанкционированного доступа

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ