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

 

Содержание 

Введение………………………………………………………………………………...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                                                                                                         

Библиографический список………………………………….....................................33 
 
 
 
 
 
 
 
 
 
 

      Введение. 

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

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

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

  1. Главная (описывает назначение сайта, обеспечивает навигацию, даёт возможность выбрать отдельные методы криптографической защиты для подробного просмотра);
  2. Страница шифрования/дешифрования заданным методом;
  3. Страница ссылок на источники в Интернет;
  4. Об авторе.

      Каждый  метод криптографической защиты описывается в отдельном PHP – файле, включаемом в проект оператором include. Главная страница сайта, а также демонстрация метода имеют тип файла html. Необходимые иллюстрации включаются в проект в виде GIF. и JPG. файлов.

      Интерфейс страницы демонстрации шифрования/дешифрования заданным методом разрабатывается  с учётом требования максимальной наглядности. Должны быть предусмотрены возможности ввода шифруемого сообщения и контроля результатов шифрования, а также – обратный процесс. 

  1. Криптографическая защита информации и этапы её развития.
 

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

     История применения криптографических методов  насчитывает десятки веков. Упоминания о криптографии (от греч. kryptos - скрытый, тайный) встречаются еще у Геродота и Плутарха, а также в русских рукописях XII—XIII веков. Но криптография появилась гораздо раньше — она ровесница истории человеческого языка.

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

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

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

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

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

     С широким распространением письменности криптография стала формироваться  как самостоятельная наука. Данные о первых способах тайнописи весьма обрывочны. Предполагается, что она  была известна в Древнем Египте и  Вавилоне. До нашего времени дошли сведения о том, что искусство секретного письма использовалось в Древней Греции. Первые действительно достоверные данные с описанием метода шифрования относятся к периоду смены старой и новой эры и описывают шифр Цезаря — способ, которым Юлий Цезарь прятал свои записи от излишне любопытных глаз. С высоты достижений современной криптографии шифр Цезаря предельно примитивен: в нем каждая буква сообщения заменялась на третью следующую за ней в алфавитном порядке букву. Однако для того времени, когда умение читать и писать было редким исключением, его криптостойкости вполне хватало.

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

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

     С появлением компьютеров и использованием для связи компьютерных сетей  шифрование данных стало более изощренным и актуальным. Благодаря созданию новых мощных компьютеров, технологий сетевых и нейронных вычислений стало возможно «взломать» криптографические системы, до недавнего времени считавшиеся практически нераскрываемыми. Вместе с тем расширилось использование компьютерных сетей, в частности, глобальной сети Internet, по которым передаются большие объемы информации государственного, военного, коммерческого и частного характера, доступ к которой для посторонних лиц недопустим. Все это привело к тому, что очень быстро практическая криптография в деловой сфере сделала огромный скачок в развитии, причем сразу по нескольким направлениям:

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

        
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

  1. Методы  криптографического преобразования данных
 

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

     Любой криптографический метод характеризуется такими показателями, как стойкость и трудоемкость:

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

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

Таблица 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онная подпись>>.
Криптографическая защита информации. 2