Криптология. Реализация алгоритмов шифрования в Delphi

Автор: Пользователь скрыл имя, 23 Ноября 2011 в 21:33, курсовая работа

Описание работы

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

Содержание

1 Введение 3
1.1 Исторические основы криптологии 3
1.2 Криптология в современном мире 4
2 Криптология 5
2.1 Основные понятия криптологии 5
2.2 Требования к криптосистемам 8
2.3 Симметрические криптосистемы 9
2.3.1 Метод Цезаря 10
2.3.2 Системы шифрования Гронсфельда 12
3 Практическое применение криптологии 13
3.1 Цифровая подпись 13
3.1.1 Общие положения 13
4 Постановка задачи 14
5 Реализация задачи 14
5.1 Краткая характеристика среды Embarcadero® Delphi® XE 14
5.2 Алгоритм решения задачи 14
5.2.1 Модуль шифровки/дешифровки 15
5.3 Дополнения 16
5.4 Блок-Схема 17
6 Заключение 18
7 Список литературы: 19

Работа содержит 1 файл

курсовая.docx

— 93.61 Кб (Скачать)
 

Чтобы зашифровать  первую букву сообщения В, используя  первую цифру ключа 2, нужно отсчитать  вторую по порядку букву от В в  алфавите

            В Г Д
              1 2
 

получается первая буква шифртекста Д.

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

  1. Практическое  применение криптологии
    1. Цифровая  подпись
      1. Общие положения

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

  • Гарантирование истинности письма путем сличения подписи с имеющимся образцом;
  • Гарантирование авторства документа ( с юридической точки зрения)

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

  • подпись аутентична, то есть с ее помощью получателю документа можно доказать, что она принадлежит подписывающему;
  • подпись неподделываема; то есть служит доказательством, что только тот человек, чей автограф стоит на документе, мог подписать данный документ, и никто иной.
  • Подпись непереносима, то есть является частью документа и поэтому перенести ее на другой документ невозможно.
  • Документ с подписью является неизменяемым.
  • Подпись неоспорима.
  • Любое лицо, владеющее образцом подписи может удостоверится, что документ подписан владельцем подписи.
  • Развитие современных средств безбумажного документооборота, средств электронных платежей немыслимо без развития средств доказательства подлинности и целостности документа. Таким средством является электронно-цифровая подпись (ЭЦП), которая сохранила основные свойства  обычной подписи.

      Существует несколько методов  построения ЭЦП, а именно:

  • шифрование электронного документа (ЭД)  на основе симметричных  алгоритмов. Данная схема предусматривает наличие в системе третьего лица – арбитра, пользующегося доверием обеих сторон. Авторизацией документа в данной схеме является сам факт шифрования ЭД секретным ключом и передача его арбитру.
  • Использование ассиметричных алгоритмов шифрования. Фактом подписания документа является шифрование его на секретном ключе отправителя.
  • Развитием  предыдущей идеи стала наиболее распространенная схема ЭЦП – шифрование окончательного результата обработки ЭД хеш-функцией при помощи ассиметричного алгоритма.

    Кроме перечисленных, существуют и другие методы построения схем ЭЦП

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

  1. Постановка  задачи

    Разработать программу шифрующую и дешифрующую введенный пользователем текст с помощью двух шифров – Цезаря и Гронсфельда. Сравнить их криптоустойчивость.

  1. Реализация  задачи
    1. Краткая характеристика среды  Embarcadero® Delphi® XE
 

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

    1. Алгоритм  решения задачи

    В программе предоставлено два  способа шифрования – Шифр Цезаря и Шифр Гронсфельда. Программа может  как и шифровать, так и дешифровать.

Используется  метод симметрического кодирования, то есть кодирование и декодирование  осуществляется с помощью одного ключа. Для обеспечения криптоустойчивости необходим длинный ключ. Пользователь вводит код, как для Цезаря, так для Гронсфельда. Затем, по требованию пользователя ( в зависимости от CheckBox true или false) программа кодирует либо декодирует.

      Модули  программы

     Программа имеет несколько стандартных  основных форм/модулей: main форма, для выбора метода кодирования ; две формы кодирования : Цезарь и Гронсфельд;  две формы Помощи , в которых рассказывается о методах кодирования.

     Опишем  лишь модули отвечающие непосредственно  за шифрование.

      1. Модуль  шифровки/дешифровки

     Цезарь 

For i:=0 to 65 do

begin                        //Формирование нового массива

b[i]:= Buk[(i+1) mod 66];

end;

k := StrToInt(MaskEdit1.Text);

s := IshMemo.Lines.Text;

for i := 1 to length(s) do

for j := 0 to 65 do

if s[i] = b[j] then s2 := s2+b[(j+(k)) mod 66];

ObrMemo.Lines.Text := s2;

Для расшифровки меняем

if s[i] = b[j] then s2 := s2+b[(j+(k)) mod 66];

на

if s[i] = b[j] then s2 := s2+b[(j-(k)) mod 66]; 

Гронсфельд

str :=IshMemo.Lines.Text;

k:=MaskEdit1.Text;

for i := 1 to length(str) do

begin

T := (Ord(str[ i ])+ (Ord(K[(pred(i) mod length(K)) + 1]) - Ord('0')));

if T >= 256 then dec(T, 256);

str[ i ] := Chr(T);

ObrMemo.Lines.Text :=str;

Для расшифроки

str:=IshMemo.Lines.Text;

k:=MaskEdit1.Text;

for i := 1 to length(str) do

  begin

    T := (Ord(str[i])-(Ord(K[(pred(i) mod length(K)) + 1]) - Ord('0')) );

    if T < 0 then Inc(T, 256);

    str[ i ] := Chr(T);

    ObrMemo.Lines.Text :=str;

  end;

    1. Дополнения

Для улучшения  стиля оформления программы была подключена библиотека AlphaControls. Так же для развития в работе с средой программирования Delphi были изучены Ресурсы. В программе представлен пример использования ресурсов – фоновое проигрывание мелодии, без файла mp3. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    1. Блок-Схема
 

НАЧАЛО

Вводим  текст и ключ

Выводим зашифрованное/дешифрованное сообщ.

CheckBox=

false

CheckBox=

true 

КОНЕЦ

Дешифруем

Шифруем

Да

Да

Нет

Нет

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

  1.   Заключение

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

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

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

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

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

1. Петров А.А

  Компьютерная  безопасность. Криптографические   методы защиты. ДМК

   Москва, 2000 г. 

2.  "Методы  и средства защиты информации" (курс лекций)

  Авторские  права: Беляев А.В.

(http://www.citforum.ru/internet/infsecure/index.shtml) 

3. Криптография 

  (http://www.citforum.ru/internet/securities/crypto.shtml) 
 
 

Информация о работе Криптология. Реализация алгоритмов шифрования в Delphi