Криптографическая защита информации

Автор: Пользователь скрыл имя, 05 Ноября 2011 в 16:51, контрольная работа

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

В курсовой работе требуется разработать сайт на тему «Криптографические методы защиты информации» в системе Денвер, состоящий из следующих страниц:
Главная (описывает назначение сайта, обеспечивает навигацию, даёт возможность выбрать отдельные методы криптографической защиты для подробного просмотра);
Страница шифрования/дешифрования заданным методом;
Страница ссылок на источники в Интернет;
Об авторе.

Содержание

Введение………………………………………………………………………………...3
1 Криптографическая защита информации и этапы её развития ………………….4
2 Методы криптографического преобразования данных…………………………...9
2.1 Шифрование заменой…………………………………………………..9
2.2 Монофоническая замена………...........................................................10
2.3 Шифрование перестановкой………………………………………….11
2.4 Шифрование методом гаммирования ……………………………….12
2.5 Шифрование с помощью аналитического метода………………….13
2.6 Системы с открытым ключом………………………………..............16
2.7 Электронная цифровая подпись………………..................................18
3 Шифрование и дешифрование……………………………………….....................24
3.1 Описание алгоритмов шифрования и дешифрования………….......25
3.2 Текст программ шифрования и дешифрования.................................26
4 Описание проекта……………………………………….........................................28
Заключение …………………………………………..………………….....................32
Библиографический список…

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

формационная без.doc

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

Таблица 1 - Таблица простой замены

 

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

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

    1. Монофоническая  замена.
 

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

     Пример  таблицы монофонической замены:

А Б В  Г Д Е Ж З И Й К Л  М Н О П Р С Т У Ф  Х Ц Ч Ш Щ Ь Ы Ъ Э  Ю Я _

Ф Н ( Щ  И Г Е R A Д Ы ~ @ S Л Я Ж ^ C Ш  М Б Q П Т Х Ю Ъ Р } \ _ #

* Н У  Щ D + Е R = Д Ц Й Ч [ В Ь  ) O & { М Б Q П Т Х Ю Ъ  Р } \ _ <

Л Н ( Щ  И ] Е R % Д Ы ~ @ G / Я Э З " Ш М  Б Q П Т Х Ю Ъ Р } \ _ W

Ф Н У  Щ D К Е R A Д Ц Й Ч S + Ь Ж ^ C { М Б Q П Т Х Ю Ъ Р } \ _ V 
 

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

    1. Шифрование  перестановкой.
 

     При шифровании перестановкой символы  шифруемого текста переставляются по определенным правилам внутри шифруемого блока этого текста.

     Выбирается  размер блока шифрования в n столбцов и m строк и ключевая последовательность, которая формируется из натурального ряда чисел 1,2,...,n случайной перестановкой.

     Шифрование  проводится в следующем порядке:

    1. шифруемый текст записывается последовательными строками под числами ключевой последовательности, образуя блок шифрования размером n*m;
    2. зашифрованный текст выписывается колонками в порядке возрастания номеров колонок, задаваемых ключевой последовательностью;
    3. заполняется новый блок и т.д.

      Например, зашифруем текст: ГРУЗИТЕ_АПЕЛЬСИНЫ_БОЧКАХ блоком размером 8*3 и ключом 5-8-1-3-7-4-6-2.

      Таблица простой перестановки будет иметь  вид: 

Таблица 2 – Простая перестановка

 

      Зашифрованное сообщение: УЕБ_НХЗЛОЕСЛГАЫЕИАИЬЧРП_.

      Расшифровывание выполняется в следующем порядке:

  1. из зашифрованного текста выделяется блок символов размером n*m;
  2. этот блок разбивается на n групп по m символов;
    1. символы записываются в те столбцы таблицы перестановки, номера которых совпадают с номерами групп в блоке. Расшифрованный текст читается по строкам таблицы перестановки;
  1. выделяется новый блок символов и т.д.
 
    1. Шифрование  методом гаммирования.
 

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

      Наложение гаммы можно осуществить несколькими  способами, например по формуле:

tш = tо XOR tг ,

     где tш, tо, tг - ASCII коды соответственно зашифрованного символа, исходного символа и гаммы;  
               
XOR - побитовая операция "исключающее или".

     Расшифровывание текста проводится по той же формуле:

     tо = tш XOR tг .

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

     Стойкость гаммирования однозначно определяется длиной периода гаммы. При использовании современных ПСЧ реальным становится использование бесконечной гаммы, что приводит к бесконечной теоретической стойкости зашифрованного текста. 

    1. Шифрование  с помощью аналитического метода.
 

     Наибольшее  распространение получили методы шифрования, основанные на использовании матричной алгебры. Шифрование k-го блока исходной информации, представленного в виде вектора Bk = ||bj||, осуществляется путем перемножения матрицы-ключа А = ||aij|| и вектора Bk. В результате перемножения получается блок шифртекста в виде вектора Ck = ||ci|| , где элементы вектора Ck определяются по формуле:

      

 
          
Расшифровывание информации осуществляется путем последовательного перемножения векторов Ck и матрицы A-1, обратной матрице A.  
Пример шифрования информации с использованием алгебры матриц.  
Пусть необходимо зашифровать и расшифровать слово  
Т0 = < ЗАБАВА> с помощью матрицы – ключа А:

      

      
            Для шифрования исходного слова необходимо выполнить следующие шаги:

     Шаг 1. Определяется числовой эквивалент исходного  слова как последовательность соответствующих порядковых номеров букв слов Тэ:  Tэ = <8, 1, 2, 1, 3, 1>

     Шаг 2. Умножение матрицы А на векторы  В1 = {8, 1, 2} и В2 = {1, 3, 1}:  
 

       

       

      Шаг 3. Зашифрованное слово записывается в виде последовательности чисел  Т1 = <28, 35, 67, 21, 26, 38>.

 

         Расшифровывание слова осуществляется следующим образом.  
              Шаг 1. Вычисляется определитель |А| = -115.

     Шаг 2. Определяется присоединенная матрица  А*, каждый элемент которой является алгебраическим дополнением элемента матрицы А

      

.

      
          
Шаг 3. Получается транспонированная матрица АT

      

.

      
          
Шаг 4. Вычисляется обратная матрица А-1 по формуле:  
А-1 = АТ/|А|.

     В результате вычислений обратная матрица  имеет вид:

      

.

 
          
Шаг 5. Определяются векторы B1 и B2:  B1 = A-1*C1; B2 = A-1*C2.

      

,  
.
 
         Шаг 6. Числовой эквивалент расшифрованного слова  Тэ = <8, 1, 2, 1, 3, 1> заменяется символами, в результате чего получается исходное слово Т0 = <ЗАБАВА>.
 

    2.6 Системы  с открытым ключом. 

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

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

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

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

     Кpиптогpафические  системы с откpытым ключом используют так называемые необpатимые или одностоpонние функции, котоpые обладают следующим свойством: пpи заданном значении x относительно пpосто вычислить значение f(x), однако если y=f(x), то нет пpостого пути для вычисления значения x.

     Множество классов необpатимых функций и  поpождает все pазнообpазие систем с  откpытым ключом. Однако не всякая необpатимая функция годится для использования  в pеальных ИС.

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

     Поэтому чтобы гаpантиpовать надежную защиту инфоpмации, к системам с откpытым ключом (СОК) пpедъявляются два важных и очевидных тpебования:

  1. Пpеобpазование исходного текста должно быть необpатимым и исключать его восстановление на основе откpытого ключа.
  2. Опpеделение закpытого ключа на основе откpытого также должно быть невозможным на совpеменном технологическом уpовне. Пpи этом желательна точная нижняя оценка сложности (количества опеpаций) pаскpытия шифpа.

     Алгоpитмы шифpования с откpытым ключом получили шиpокое pаспpостpанение в совpеменных  инфоpмационных системах. Так, алгоpитм RSA стал миpовым стандаpтом де-факто для откpытых систем и pекомендован МККТТ.

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

  1. Разложение больших чисел ан пpостые множители.
  2. Вычисление логаpифма в конечном поле.
  3. Вычисление коpней алгебpаических уpавнений.

     Здесь же следует отметить, что алгоpитмы кpиптосистемы с откpытым ключом (СОК) можно использовать в тpех назначениях.

  1. Как самостоятельные сpедства защиты пеpедаваемых и хpанимых данных.
  2. Как сpедства для pаспpеделения ключей. Алгоpитмы СОК более тpудоемки, чем тpадиционные кpиптосистемы. Поэтому часто на пpактике pационально с помощью СОК pаспpеделять ключи, объем котоpых как инфоpмации незначителен. А потом с помощью обычных алгоpитмов осуществлять обмен большими инфоpмационными потоками.
  3. Сpедства аутентификации пользователей. Об этом будет pассказано в главе <<Электpонная подпись>>.

Информация о работе Криптографическая защита информации