Способы обеспечения устойчивости алгоритмов шифрования

Автор: Пользователь скрыл имя, 18 Февраля 2012 в 23:04, практическая работа

Краткое описание

Назначение и структура алгоритмов шифрования. Расшифрование информации. Алгоритм симметричного шифрования. Алгоритм асимметричного шифрования. Криптографическая стойкость (или криптостойкость). Стойкость алгоритма шифрования. Шифр Вернама. Оценка криптостойкости систем шифрования. Алгоритм Диффи — Хеллмана (ассиметричный). Количественная оценка криптостойкости алгоритмов шифрования.

Файлы: 1 файл

Способы обеспечения устойчивости алгоритмов шифрования.ppt

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

Способы обеспечения  устойчивости алгоритмов шифрования 

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

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

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

     Криптография - наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.

 
 
 
 

Назначение  и структура алгоритмов шифрования  

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

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

         

 
 
 
 

Зашифрование  информации 

Можно представить  зашифрование в виде следующей  формулы:

           С = Ek1(M), где:

           M (message) - открытая информация,

           С (cipher text) - полученный в результате зашифрования шифртекст,

           E (encryption) - функция зашифрования, выполняющая криптографические преобразования над M,

           k1 (key) - параметр функции E, называемый ключом зашифрования.  

 
 
 
 

Расшифрование  информации 

         M' = Dk2(C), где:

         M'- сообщение, полученное в результате расшифрования,

         D (decryption) - функция расшифрования; так же, как и функция зашифрования, выполняет криптографические преобразования над шифртекстом,

          k2 - ключ расшифрования.

          Для получения в результате расшифрования корректного открытого

    текста (то  есть того самого, который был  ранее зашифрован: M' = M),

    необходимо  одновременное выполнение следующих  условий:

  • Функция расшифрования должна соответствовать функции зашифрования.
  • Ключ расшифрования должен соответствовать ключу зашифрования.

          При отсутствии верного ключа k2 получить исходное сообщение M' = M

    с помощью  правильной функции D невозможно. Под словом "невозможно"

    в данном  случае обычно понимается невозможность  вычисления за 

    реальное  время при существующих вычислительных  ресурсах.

 
 
 
 

Алгоритмы  шифрования можно разделить на  две категории: 

  • Алгоритмы симметричного  шифрования 
 
 
 
  • Алгоритмы асимметричного  шифрования 
 
 
 
 

Алгоритм  симметричного шифрования 

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

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

 
 
 
 

Алгоритм  симметричного шифрования 

          Симметричное шифрование бывает двух видов:

  • Блочное шифрование - информация разбивается на блоки фиксированной длины (например, 64 или 128 бит), после чего эти блоки поочередно шифруются.
  • Поточное шифрование - необходимо, прежде всего, в тех случаях, когда информацию невозможно разбить на блоки - скажем, некий поток данных, каждый символ которых должен быть зашифрован и отправлен куда-либо, не дожидаясь остальных данных, достаточных для формирования блока. Поэтому алгоритмы поточного шифрования шифруют данные побитно или посимвольно.
 
 
 
 

Алгоритм  асимметричного шифрования 

          В асимметричном шифровании ключ зашифрования k1 легко вычисляется из ключа k2 таким образом, что обратное вычисление невозможно. Например, соотношение ключей может быть таким:

      k1 = ak2 mod p,

      где a и p - параметры алгоритма шифрования, имеющие достаточно большую размерность.

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

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

 
 
 
 

Ниже приведен  обзор некоторых алгоритмов симметричного  шифрования: 

  • DES (Data Encryption  Standard). Разработан фирмой IBM  и широко используется с 1977  года. В настоящее время несколько  устарел, поскольку применяемая  в нем длина ключа недостаточна  для обеспечения устойчивости  к вскрытию методом полного  перебора всех возможных значений  ключа. Вскрытие этого алгоритма  стало возможным благодаря быстрому  развитию вычислительной техники,  сделавшему с 1977 года огромный  скачок; 
  • Triple DES. Это усовершенствованный вариант DES, применяющий для шифрования алгоритм DES три раза с разными ключами. Он значительно устойчивее к взлому, чем DES;
  • Rijndael. Алгоритм разработан в Бельгии. Работает с ключами длиной 128, 192 и 256 бит. На данный момент к нему нет претензий у специалистов по криптографии;
  • Skipjack. Алгоритм создан и используется Агентством национальной безопасности США. Длина ключа 80 бит. Шифрование и дешифрование информации производится циклически (32 цикла);
  • IDEA. Алгоритм запатентован в США и ряде европейских стран. Алгоритм использует циклическую обработку информации (8 циклов) путем применения к ней ряда математических операций;
  • RC4. Алгоритм специально разработан для быстрого шифрования больших объемов информации. Он использует ключ переменной длины (в зависимости от необходимой степени защиты информации) и работает значительно быстрее других алгоритмов. RC4 относится к так называемым потоковым шифрам.
 
 
 
 

Криптографическая  стойкость (или криптостойкость)  

      Способность криптографического алгоритма противостоять возможным атакам на него или оценка алгоритма, способного взломать шифр.

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

 
 
 
 

Стойкость  алгоритма шифрования 

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

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

Шифр Вернама 

                   Некоторыми аналитиками утверждается, что Шифр Вернама является одновременно абсолютно криптографически стойким и к тому же единственным шифром, который удовлетворяет этому условию.

                   Для произведения шифротекста открытый текст объединяется операцией «исключающее ИЛИ» с ключом (называемым одноразовым блокнотом или шифроблокнотом). При этом ключ должен обладать тремя критически важными свойствами:

  • быть истинно случайным;
  • совпадать по размеру с заданным открытым текстом;
  • применяться только один раз.
 
 
 
 

Оценка криптостойкости  систем шифрования  

  • Начальная  оценка. Поскольку атака методом грубой силы (полным перебором всех ключей) возможна для всех типов криптографических алгоритмов, кроме абсолютно стойких «по Шеннону», для вновь созданного алгоритма она может являться единственной существующей. Способы её оценки основываются на вычислительной сложности, которая затем может быть выражена во времени, деньгах, и требуемой производительности вычислительных ресурсов.
  • Текущая оценка. Дальнейшее исследование алгоритма с целью поиска слабостей (уязвимостей) (криптоанализ) добавляет оценки стойкости по отношению к известным криптографическим атакам (Линейный криптоанализ, дифференциальный криптоанализ и более специфические) и могут понизить известную стойкость.

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

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

Алгоритм  Диффи — Хеллмана (ассиметричный)  

  • Криптографическая  стойкость алгоритма Диффи — Хеллмана (то есть сложность вычисления  K=gab mod p по известным p, g, A=ga mod p и B=gb mod p), основана на предполагаемой сложности проблемы дискретного логарифмирования. Однако хотя умение решать проблему дискретного логарифмирования позволит взломать алгоритм Диффи — Хеллмана, обратное утверждение до сих является открытым вопросом (другими словами, эквивалентность этих проблем не доказана).
 
 
 
 

Количественная  оценка криптостойкости алгоритмов  шифрования 

Информация о работе Способы обеспечения устойчивости алгоритмов шифрования