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

Автор: Пользователь скрыл имя, 30 Августа 2011 в 19:48, контрольная работа

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

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

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

КРИПТОГРАФИЧЕСКИЕ МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ.doc

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

2. КРИПТОГРАФИЧЕСКАЯ ЗАЩИТА

    Криптография - это область знаний, относящихся к средствам и методам преобразования сообщений в непонятную для посторонних форму, а также средствам и методам проверки подлинности сообщений. Данная область является классическим примером соревнования "брони и снаряда" - средств защиты и нападения. Некоторые авторы под криптографией понимают только то, что относится к защите - в противоположность криптоанализу, который направлен на преодоление криптографической защиты. В этом случае для обозначения совокупности криптографии и криптоанализа используется термин "криптология".

    Рассмотрим  небольшой пример. Пусть шифруемые сообщения состоят из символов алфавита А, включающего буквы русского языка (без буквы Ё) и знака пробела. И имеется таблица, задающая соответствие между символами этого алфавита и числами от 0 до 32 (см. табл.1).

    Таблица 1. Шифрование методом простой замены   ,

А Б В г д Е Ж 3 и И К Л м Н 0 П Р
09 23 01 04 07 02 14 13 21 31 17 25 29 06 22 И 26
С Т У Ф X Ц Ч Ш Щ Ъ Ы Ь Э Ю Я    
00 19 30 08 18 16 28 03 27 32 15 10 20 24 12 05  

    Шифрование  методом простой замены в данном случае заключается в подмене  символов шифруемого сообщения соответствующими числами из второй строки: "А" на "09", "Б" на "23" и т. д. Таким образом, текст:

«ПРОСТАЯ ЗАМЕНА ОДИН ИЗ САМЫХ ДРЕВНИХ ШИФРОВ»

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

«11 26 22 00 19 09 12 05 13 09 29 02 06 09 05 22 07 21 06 05 21 13 05 00 09

29 15 18 05 07 26 02 01 06 21 18 05 03 21 08 26 22 01».

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

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

      Таблица 2.Оценки вероятностей появления букв русского языка и пробела

А Б В Г Д Е,Е Ж 3 И И К
0.069 0.013 0.038 0.014 0.024 0.071 0.007 0.016 0.064 0.010 0.029
Л м Н О П Р С т У Ф X
0.039 0.027 0.057 0.094 0.026 0.042 0.046 0.054 0.023 0.003 0.008
Ц Ч Ш Щ Ъ Ы Ь Э Ю я  
0.005 0.012 0.006 0.004 0.001 0.015 0.013 0.002 0.005 0.017 0.146

    Примечание. Оценки получены на основе анализа научно-технических и художественных текстов общим объемом более 1 млн. символов.

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

    Чтобы дать определение шифра нам понадобится  ввести в рассмотрение ряд понятий.

      Пусть X - множество возможных открытых текстов; S -множество шифрованных текстов (криптограмм); К - множество ключей.

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

    

    Для того чтобы зашифровать сообщение  X € X, нужно выбрать ключ К є К и применить к X отображение FK. Получившийся результат Fx(X)=S является результатом шифрования текста X на ключе К. Для расшифрования используется отображение обратное FK, существование которого для множества Fк(X) = (Fк(Х), X є X} вытекает из требования инъективности отображений FK для всех К є К (инъективным называется отображение множества А во множество В, при котором различные элементы из А имеют различные образы в В).

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

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

    В рассмотренном выше примере X представляет собой множество слов конечной длины в алфавите A, S - множество слов конечной длины в алфавите из цифр от 0 до 32, К - множество перестановок 33 элементов (всего таких перестановок 33!=8.7х1036).

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

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

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

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

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

     Более полувека назад К. Шеннон дал следующее  определение совершенного шифра: это шифр, при использовании которого перехват криптограммы не дает противнику никакой информации о передаваемом сообщении, даже если противник обладает неограниченными вычислительными ресурсами [1].

     Все алгоритмы шифрования можно разделить на три группы.

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

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

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

    Удобнее всего измерять трудоемкость алгоритма  дешифрования в элементарных операциях, но более наглядным параметром является время, необходимое для вскрытия шифра (при этом необходимо указывать технические средства, которые доступны криптоаналитику). Не следует только забывать, что вполне возможно существование неизвестного на данный момент алгоритма, который может значительно снизить вычисленную нами стойкость шифра. К большому сожалению разработчиков шифрсистем, строго доказать с помощью математических методов невозможность существования простых алгоритмов дешифрования удается чрезвычайно редко. Очень хорошим результатом в криптографии является доказательство того, что сложность решения задачи дешифрования исследуемого шифра эквивалентна сложности решения какой-нибудь известной математической задачи. Такой вывод хотя и не дает 100% гарантии, но позволяет надеяться, что существенно понизить оценку стойкости шифра в этом случае будет очень не просто.

    По  характеру использования ключа  известные криптосистемы можно  разделить на два типа: симметричные (одноключевые, с секретным ключом) и несимметричные (с открытым ключом).

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

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

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

    Одним из наилучших примеров криптоалгоритма, разработанного в соответствии с  принципами рассеивания и перемешивания, может служить принятый в 1977 году Национальным бюро стандартов США стандарт шифрования данных DES. Несмотря на интенсивные и тщательные исследования алгоритма специалистами, пока не найдено уязвимых мест алгоритма, на основе которых можно было бы предложить метод криптоанализа, существенно лучший, чем полный перебор ключей. Общее мнение таково: DES - исключительно хороший шифр. В июле 1991 года введен в действие подобный отечественный криптоалгоритм ГОСТ 28147-89.

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