Основные требования, предъявляемые к криптографическим методам защиты информации

Дата добавления: 2013-12-23 ; просмотров: 3043 ; Нарушение авторских прав

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

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

— временные и стоимостные затраты на защиту информации должны быть приемлемыми при заданном уровне ее секретности (затраты на защиту не должны быть чрезмерными);

— процедуры шифрования и дешифрования не должны зависеть от длины сообщения;

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

— любой ключ из множества возможных должен обеспечивать надежную защиту информации;

— незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения;

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

— зашифрованное сообщение должно поддаваться чтению только при наличии ключа.

Классификация криптографических систем

Существует несколько классификаций. Рассмотрим некоторые из них.

1. По области примененияшифров различают криптосистемы ограниченного и общего использования.

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

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

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

3. По стойкости шифра криптосистемы делятся на три группы:

— совершенные шифры. Шифры, заведомо неподдающиеся к вскрытию (при правильном использовании);

— шифры, допускающие неоднозначное вскрытие;

— шифры, допускающие однозначное вскрытие (основная масса шифров).

Шифры гаммирования (аддитивные)

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

Для процедуры наложения может использоваться одним из следующих способов:

1. Символы открытого текста и гаммы заменяются цифровыми эквивалентами, а затем складываются по модулю К, где К – количество символов алфавита, т.е.

где Тш — шифрограмма;

То — открытый текст;

Пример. К – 32 (алфавит без Ё).

2. Символы текста и гаммы представляются в двоичных кодах, а затем каждая пара двоичных разрядов складывается по модулю 2 (XOR, исключающее или, Å), т.е.

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

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

По длине периода различаются гаммы с конечным и бесконечным периодом.

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

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

Разрушающие программные средства и методы борьбы с ними

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

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

технические науки

  • Петрищев Игорь Олегович , кандидат наук, доцент, проректор
  • Шубович Валерий Геннадьевич , доктор наук, профессор, заведующий кафедрой
  • Ульяновский государственный педагогический университет имени И.Н. Ульянова
  • Капитанчук Василий Вячеславович , кандидат наук, доцент, доцент
  • Знаенко Наталья Сергеевна , кандидат наук, доцент, доцент
  • Ульяновский институт гражданской авиации им. Главного маршала авиации Б. П. Бугаева
  • АЛГОРИТМ ШИФРОВАНИЯ
  • ЭТАПЫ ПРОЕКТИРОВАНИЯ
  • КРИПТОГРАФИЧЕСКИЙ ПРИМИТИВ
  • КРИТЕРИИ КАЧЕСТВА

Похожие материалы

Анализ источников по криптографической защите информации показал, что известные методы построения алгоритмов шифрования часто оказываются недостаточно эффективными, так как не позволяют прогнозировать качество работы алгоритмов шифрования в целом. В этом случае более эффективным является применение в алгоритмах шифрования криптографических примитивов на базе управляемых перестановок, зависящих от исходных данных. Следовательно, обоснование выбора показателей качества алгоритмов шифрования на основе новых криптографических примитивов с высокими показателями эффективности функционирования имеет важное значение [1-5, 7, 9-13, 18-21].

Вопросы проектирования шифров

При проектировании шифров первостепенным является вопрос обеспечения их стойкости. Этот проблема одновременно является и наиболее сложной. Оценка стойкости является одним из наиболее длительных, трудоемких и разноплановых этапов. При этом важным является, творческий подход, поскольку в настоящее время нет законченной теории блочных шифров, которая бы позволила выработать полноценную методику оценивания стойкости. Однако уже предложены некоторые общие требования к качеству шифрующих преобразований. Если шифр удовлетворяет таким требованиям, то говорят о доказуемой стойкости (к известным методам криптоанализа) или о достижении гарантированных свойств шифрующих преобразований [13, 22-23].

Процесс синтеза блочных шифров включает следующие этапы (рис. 1).

  1. Изучение области использования, т.е. осуществляется выбор типа криптосистемы и формулирование требований к ее основным параметрам. Блочные шифры в настоящее время нашли более широкое применение. Они обеспечивают высокую стойкость в режиме независимого шифрования отдельных блоков, позволяя осуществлять произвольный доступ к зашифрованным массивам данных.
  2. Выбор длины секретного ключа. В настоящее время для универсального случая рекомендуется длина ключа не менее 128 бит, но в отдельных случаях может применяться длина ключа 64 и даже 56 бит, если информация не представляет значительной ценности.
  3. Выбор расписания использования ключа. Порядок использования криптографической системы включает системы установки и управления ключами. Система установки ключей определяет алгоритмы и процедуры генерации, распределения передачи и проверки ключей. Система управления ключами — определяет порядок использования, смены, хранения и архивирования, резервного копирования и восстановления, замены или изъятия из обращения скомпрометированных, а также уничтожения старых ключей.
  4. Выбор базовых криптографических примитивов и разработка криптосхемы, т.е. необходимы знания об основных подходах к построению шифров, типах блочных криптосистем, а также о конкретных шифрах и свойствах используемых операций, стоимости их аппаратной реализации и вносимом времени задержки.
  5. Оценивание потребляемых ресурсов для реализации алгоритма шифрования. Рассматриваются варианты программной и аппаратной реализации. Осуществляется реализация экспериментальных шифраторов и их программных моделей.
  6. Оценивание производительности шифра. Определяется значение скорости шифрования для различных вариантов программной и аппаратной реализации. Если оценки, полученные на шагах 5 и 6, не удовлетворяют значениям определенным на шаге 1, то повторяется этап 4 с учетом результатов, полученных на текущем этапе.

Рисунок 1. Этапы проектирования шифров.

  1. Рассмотрение стойкости к возможным типам криптоаналитических атак. Рассматриваются основные варианты криптоанализа, а также другие возможные варианты атак с использованием особенностей применения (инженерный анализ).
  2. Модифицирование алгоритма с учетом предварительного анализа. С учетом результатов, полученных на этапе 7, осуществляется оптимизация основных узлов криптосхемы с целью повышения трудоемкости наиболее эффективной атаки. После этого выполняется предварительная оценка стойкости модифицированного алгоритма. Если необходимо, повторить этот пункт несколько раз до получения приемлемого предварительного значения стойкости.
  3. Выполнение детального анализа модифицированного шифра.Если детальный анализ выявил существенные слабости в модифицированной схеме, то требуется вернуться к этапу 8 или даже к этапу 4.
  4. Выполнение статистических тестов и специальных экспериментов. На этом шаге осуществляется программирование алгоритма шифрования или его реализация в программируемых логических матрицах — программируемых логических интегральных схемах (ПЛИС) и проводятся стандартные статистические тесты и специальные эксперименты, планируемые с учетом результатов анализа для проверки полноты и адекватности теоретического анализа.

Для оценки эффективности алгоритмов шифрования требуются обоснованные показатели качества.

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

Важная проблема создания улучшенного стандарта симметричного шифрования – криптографического алгоритма XXI века была инициирована Национальным Институтом Стандартов и Технологий (NIST) США. Для этого в 1997 году NIST объявил конкурс алгоритмов, претендующих на то, чтобы стать стандартом, а также сформировал минимальные требования, которые должны быть выполнены при разработке и представлении на конкурс таких алгоритмов. Стандарт симметричного шифрования AES (Advanced Encryption Standard) — это общедоступный, распространяемый без ограничений по всему миру симметричный криптоалгоритм, который сможет осуществлять надежную защиту правительственной информации.

Было спланировано три этапа рассмотрения представленных алгоритмов. На первой конференции, посвященной стандарту AES, в 1998 г. вынесено решение о принятии к открытому обсуждению 15 пакетов описаний алгоритмов симметричного шифрования. На втором этапе был осуществлен публичный анализ соответствия каждого стандарта требованиям и оценка качества криптографических преобразований в целом. В августе 1999 г. проведена вторая конференция, целью которой было обобщение оценок, уменьшение количества алгоритмов-кандидатов до 5, которые затем рассматривались на третьей конференции в апреле 2000 года. Разработчик представлял свои оценки относительно вычислительной сложности программного и аппаратного обеспечения, а также вычислительную эффективность алгоритма, в том числе и для 8-битовых процессоров. Для оценки аппаратного обеспечения рекомендуется использовать в качестве показателя число логических элементов, для программного обеспечения – тип процессора, тактовую частоту его работы, объем памяти, операционную система, и т.п.

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

Минимальные требования к кандидатам AES

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

  1. Криптоалгоритм должен строиться на использовании криптографии симметричных (секретных) ключей. То есть ключи источника криптограмм и получателя должны или совпадать или рассчитываться один из другого не выше чем с полиномиальной сложностью.
  2. Криптоалгоритм должен строиться с использованием блочного симметричного шифра с длиной блока lб = 128 бит.
  3. Длины начальных ключей должны быть lk = 128, 192 и 256 бит.
  4. Криптоалгоритм должен работать для различных комбинаций длина сообщения/длина ключа, но обязательно для комбинаций длина блока / длина ключа 128/128, 128/192, 128/256 бит.
Смотрите так же:  Договор на периодический медосмотр

Критерии и показатели оценки качества

Отбор AES алгоритмов осуществлялся с учетом выполнения минимальных требований. Кроме того, учитывалась:

  1. Реальная защищенность от криптоаналитических атак. При этом основными методами криптоанализа являются: дифференциальный криптоанализ, расширения для дифференциального криптоанализа, поиск наилучшей дифференциальной характеристики, линейный криптоанализ, интерполяционное вторжение, вторжение с частичным угадыванием ключа, вторжение с использованием связанного ключа, вторжение на основе обработки сбоев, поиск лазеек.
  2. Статистическая безопасность криптографических алгоритмов.
  3. Надежность математической базы криптографических алгоритмов.
  4. Расчетная сложность криптографических алгоритмов для программной и аппаратной реализаций (может оцениваться скоростью преобразований).
  5. Требования к памяти при программной и аппаратной реализациях. При аппаратной реализации оценивается числом логических элементов, при программной – количеством необходимой оперативной и постоянной памяти, в том числе для различных платформ и сред.
  6. Гибкость алгоритма, то есть: возможность работы с иными длинами начальных ключей и информационных блоков безопасность реализации в широком диапазоне различных платформ и приложений, включая 8-битовые процессоры, возможность использования криптографического алгоритма в качества поточного шифра или генератора псевдослучайных чисел, алгоритма хеширования, для обеспечения подлинности сообщений (выработка кодов аутентификации) и т.п., одинаковой сложности как аппаратной, так и программной реализации, а также программно-аппаратной реализации.

Анализ основных публикаций относительно исследования свойств алгоритмов-кандидатов AES и полученные авторами результаты позволяют сравнить представленные алгоритмы согласно критериям и показателям оценки качества.

Реальная защищенность от криптоаналитических атак

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

Второй раунд конкурса кандидатов в стандарт АШ 21 века определил 5 кандидатов AES из 15. Это криптоалгоритмы RC6, MARS, Twofish, Rijndael и Serpent. По итогам конкурса победил алгоритм Rijndael.

Управляемые перестановки в алгоритмах шифрования

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

Разработка новых алгоритмов шифрования в США (конкурс AES), Европе (конкурс NESSIE) и Японии является проявлением признания технологической роли шифрования.

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

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

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

Традиционные табличные подстановки, а также арифметические и прочие операции не являются ориентированными на криптографическое применение. Для криптографического применения целесообразно разработать операции, оптимизированные в криптографическом отношении и обладающие специальными свойствами, которые необходимы для получения высокой стойкости алгоритмов шифрования. К прообразу таких операций можно отнести операцию циклического сдвига, зависящую от преобразуемых данных, которая была использована как базовый криптографический примитив в шифрах RC5, RC6 и MARS. Задание выбора текущей модификации такой операции в зависимости от преобразуемых данных определяет ее нелинейные свойства. Несмотря на то, что реализуется выбор всего из n (n — длина двоичного вектора, над которым выполняется операция циклического сдвига) различных модификаций, данный примитив оказался весьма эффективным. Его достоинства состоят в легкости программной реализации, нелинейности и увеличении эффективного размера входа до log2 n бит (это количество битов данных, задающих выбор текущей модификации, т. е. управляющих битов).

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

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

Возможность обеспечения скорости программного шифрования до 800—2000 Мбит/с существенно повышает конкурентоспособность таких процессоров при минимальных схемотехнических затратах. Например, реализация операционного блока управляемых перестановок (БУП) с 64-битовым входом для преобразуемых данных и 192-битовым управляющим входом требует не более 1200 транзисторов, а реализация БУП с 32-битовым входом для данных и 80-битовым управляющим входом требует не более 1000 транзисторов [5].

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

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

Таким образом, построение новых эффективных шифров перспективно в направлении использования многоуровневых композиционных шифров с увеличением стойкости на предварительных этапах преобразования информации [5,21].

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

  1. Введение в криптографию / Под ред. В.В. Ященко. М.: МЦНМО – ЧеРо, 1998.
  2. Смагин А.А., Капитанчук В.В., Шубович В.Г., Петрищев И.О. Обеспечение защиты информации в телекоммуникационных сетях. // Ульяновское высшее военно-техническое училище (военный институт). Ульяновск, 2002.
  3. Капитанчук В.В., Смагин А.А., Шубович В.Г., Петрищев И.О. О перспективах разработки скоростных блочных шифров. // Научно-технический сборник. Военная академия тыла и транспорта (филиал, г. Ульяновск). Ульяновск, 2004. С. 86-92.
  4. Смагин А.А., Капитанчук В.В., Шубович В.Г., Петрищев И.О. Способ преобразования дискретной информации // Научно-технический сборник. Военная академия тыла и транспорта (филиал, г. Ульяновск). Ульяновск, 2004. С. 93-100.
  5. Шубович В.Г., Капитанчук В.В., Знаенко Н.С., Титаренко Ю.И. Разработка моделей криптографической защиты информации // Монография. Ульяновск: УлГПУ, 2013. -127 с. ISBN 978-5-86045-640-2.
  6. Шубович В.Г., Аленова А.Н., Капитанчук В.В., Знаенко Н.С. Построение структурно-логических моделей криптографической защиты информации с использованием П-шифра в системе профессионального образования // Информационные технологии в образовании: Материалы Международной заочной научно-практической конференции. Главный редактор: Ильина Н.А., ответственный редактор: Титаренко Ю.И. Ульяновск: УлГПУ, 2013. -С. 229-236.
  7. Шубович В.Г., Аленова А.Н., Капитанчук В.В., Знаенко Н.С. Определение зависимости оптимального ранга от диапазона кодируемых чисел // Информационные технологии в образовании: Материалы Международной заочной научно-практической конференции. Главный редактор: Ильина Н.А., ответственный редактор: Титаренко Ю.И. Ульяновск: УлГПУ, 2013.-С. 223-228.
  8. Шубович В.Г., Аленова А.Н., Знаенко Н.С. Разработка алгоритмов криптографической защиты информации на основе матричного преобразования // Информационные технологии в образовании: Материалы Международной заочной научно-практической конференции. Главный редактор: Ильина Н.А., ответственный редактор: Титаренко Ю.И. Ульяновск: УлГПУ, 2014.-С. 146-151.
  9. Шубович В.Г., Полякова Т.С., Капитанчук В.В. Формирование профессиональных знаний на основе метода матричного кодирования // Информационные технологии в образовании. Материалы Международной заочной научно-практической конференции. главный редактор: Ильина Н.А., ответственный редактор: Титаренко Ю.И. Ульяновск, 2013. С. 241-247.
  10. Шубович В.Г. Анализ, классификация и моделирование алгоритмов сжатия диссертация на соискание ученой степени кандидата технических наук / Ульяновск, 2001.
  11. Шубович В.Г., Семенов А.А., Знаенко Н.С. Формирование признакового пространства классификации алгоритмов сжатия // Информационные технологии в образовании: Материалы Международной заочной научно-практической конференции. Главный редактор: Ильина Н.А., ответственный редактор: Титаренко Ю.И. Ульяновск: УлГПУ, 2014.-С. 157-162.
  12. Шубович В.Г., Оглоблина К.К., Капитанчук В.В. Этап предшифрования как способ повышения стойкости систем криптографической защиты информации в современном профессиональном образовании // Информационные технологии в образовании. Материалы Международной заочной научно-практической конференции. главный редактор: Ильина Н.А., ответственный редактор: Титаренко Ю.И. Ульяновск, 2013. С. 237-241.
  13. Шубович В.Г., Аленова А.Н., Капитанчук В.В. Оценка криптографической стойкости матричного кодирования // Информационные технологии в образовании. Материалы Международной заочной научно-практической конференции. ФГБОУ ВПО «УлГПУ им. И.Н. Ульянова»; Под редакцией Ю.И. Титаренко. г. Ульяновск, 2014. С. 151-154.
  14. Шубович В.Г., Терентьева Ю.Ю., Смагин А.А. Преобразование измерительной информации для хранения и передачи ее по каналу связи // Научно-технический сборник Ульяновское высшее военно-техническое училище. Ульяновск, 1998. С. 117-123.
  15. Шубович В.Г., Смагин А.А., Знаенко Н.С. Теоретико-информационный подход к обратимому сжатию данных // Военно-научный сборник Военная академия тыла и транспорта (филиал, г. Ульяновск). Ульяновск, 2001. С. 85-98.
  16. Шубович В.Г., Смагин А.А., Знаенко Н.С. Моделирование алгоритма сжатия табличных данных на основе выделения граничной точки // Научно-технический сборник Военная академия тыла и транспорта (филиал, г. Ульяновск). Ульяновск, 2001. С. 95-100.
  17. Шубович В.Г., Смагин А.А., Петрищев И.О. Алгоритм обратимого сжатия посредством иерархического сопоставления образов // Научно-технический сборник Военная академия тыла и транспорта (филиал, г. Ульяновск). Ульяновск, 2001. С. 101-112
  18. Шубович В.Г., Титаренко Ю.И., Федорова Е.А., Знаенко Н.С. Определение информативности признаков на основе результатов факторного анализа и формирование обучающих выборок алгоритмов шифрования // Образование и информационная культура: теория и практика Материалы Международной заочной научно-практической конференции. Ульяновский государственный педагогический университет им. И.Н. Ульянова. 2015. С. 97-106.
  19. Шубович В.Г., Титаренко Ю.И., Федорова Е.А., Знаенко Н.С. Обоснование новых критериев и классификация алгоритмов шифрования на базе множества признаков // Образование и информационная культура: теория и практика Материалы Международной заочной научно-практической конференции. Ульяновский государственный педагогический университет им. И.Н. Ульянова. 2015. С. 106-115.
  20. Шубович В.Г., Титаренко Ю.И., Семенов А.А., Знаенко Н.С. Схемы обработки информации с использованием П-шифра // Образование и информационная культура: теория и практика Материалы Международной заочной научно-практической конференции. Ульяновский государственный педагогический университет им. И.Н. Ульянова. 2015. С. 92-97.
  21. Шубович В.Г., Капитанчук В.В., Знаенко Н.С., Титаренко Ю.И. Разработка моделей криптографической защиты информации // Военно-теоретический труд / Ульяновск, 2007. Том Часть 2
  22. Смагин А.А. Организация сжатия информации в табличных структурах // Саратов, 1985.
  23. Шубович В.Г., Титаренко Ю.И., Аленова А.Н., Знаенко Н.С. Методика косвенной оценки эффективности криптографических примитивов в составе алгоритмов шифрования // Образование и информационная культура: теория и практика Материалы Международной заочной научно-практической конференции. Ульяновский государственный педагогический университет им. И.Н. Ульянова. 2015. С. 87-92.
Смотрите так же:  Исковое заявление о признании права собственности на земельный участок дача

Электронное переодическое издание зарегистрировано в Федеральной службе по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор), свидетельство о регистрации СМИ — ЭЛ № ФС77-41429 от 23.07.2010 г.

Соучредители СМИ: Долганов А.А., Майоров Е.В.

Требования шифра

Сервис бесплатной оценки стоимости работы

  1. Заполните заявку. Специалисты рассчитают стоимость вашей работы
  2. Расчет стоимости придет на почту и по СМС

Номер вашей заявки

Прямо сейчас на почту придет автоматическое письмо-подтверждение с информацией о заявке.

Требования шифра

Сервис бесплатной оценки стоимости работы

  1. Заполните заявку. Специалисты рассчитают стоимость вашей работы
  2. Расчет стоимости придет на почту и по СМС

Номер вашей заявки

Прямо сейчас на почту придет автоматическое письмо-подтверждение с информацией о заявке.

Принципы построения блочных шифров с закрытым ключом

Требования к блочному алгоритму шифрования

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

  1. Алгоритм должен обеспечивать высокий уровень стойкости, и эта стойкость не должна основываться на сохранении втайне самого алгоритма.
  2. Незначительное изменение исходного сообщения должно приводить к существенному изменению зашифрованного сообщения даже при использовании одного и того же ключа.
  3. Алгоритм должен успешно противостоять атакам по выбранному тексту, то есть таким, чтобы нельзя было узнать ключ, даже зная достаточно много пар (зашифрованное сообщение, незашифрованное сообщение), полученных при шифровании с использованием данного ключа.
  4. Алгоритм шифрования должен иметь возможность быть реализованым на различных платформах, которые предъявляют различные требования. Для наиболее быстрых приложений используется специальная аппаратура. Несмотря на это, программные реализации применяются также достаточно часто. Поэтому алгоритм должен допускать эффективную программную реализацию на универсальных микропроцессорах. Алгоритм должен также работать на микроконтроллерах и других процессорах среднего размера.
  5. Алгоритм должен использовать простые операции, которые эффективны на микропроцессорах, т.е. исключающее или, сложение, табличные подстановки, умножение по модулю. Не должно использоваться сдвигов переменной длины, побитных перестановок или условных переходов.
  6. Алгоритм должен эффективно реализовываться на специализированной аппаратуре, предназначенной для выполнения операций шифрования и расшифрования, то есть реализация алгоритма в виде электронных устройств должна быть экономичной.
  7. Алгоритм шифрования должен быть применим во многих приложениях. Алгоритм должен быть эффективен при шифровании файлов данных или большого потока данных, при создании определенного количества случайных битов, а также должна быть возможность его использования для формирования односторонней хеш-функции 1 Хэш-функция – это математическая или иная функция, которая для строки произвольной длины вычисляет некоторое целое значение или некоторую другую строку фиксированного размера. Хеш-функции более подробно рассматриваются в «Криптографические хеш-функции» .
  8. Алгоритм должен быть простым для написания кода, чтобы минимизировать вероятность программных ошибок. Также это дает возможность анализа и уменьшает закрытость алгоритма.
  9. Алгоритм должен допускать любую случайную строку битов нужной длины в качестве возможного ключа (это называется иметь плоское пространство ключей ). Не должно быть «слабых» ключей, облегчающих криптоанализ.
  10. Алгоритм должен легко модифицироваться для различных уровней безопасности и удовлетворять как минимальным, так и максимальным требованиям.

Некоторое уточнение необходимо сделать относительно пункта 1, требующего высокую криптостойкость алгоритма шифрования. Обычно под «высокой криптостойкостью» понимают, что шифр должен быть стоек по отношению к атаке по выбранному тексту. Это автоматически подразумевает его стойкость по отношению к атакам по шифротексту и по известному тексту. Однако известно, что при атаке по выбранному тексту шифр всегда может быть взломан путем перебора ключей. Поэтому требование стойкости шифра можно уточнить следующим образом: » Шифр стоек (при атаке по выбранному тексту), если для него не существует алгоритма взлома, существенно более быстрого, чем прямой перебор ключей». Интересно, что по состоянию на сегодняшний день ни для одного используемого шифра не доказано строго соответствие этому определению стойкости.

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

Большой вклад в исследования принципов разработки блочных шифров внес американский ученый Х. Фейштель (Horst Feistel). Он, в частности, принимал участие в разработке системы шифрования «Люцифер» фирмы IBM . Фейштель предложил структуру, называемую в настоящее время сетью Фейштеля. Сети Фейштеля получили широкое распространение, так как, с одной стороны, они удовлетворяют всем требованиям к алгоритмам симметричного шифрования, а с другой стороны, достаточно просты и удобны в использовании.

Раунд, организованный по сети Фейштеля имеет следующую структуру. Входной блок делится на несколько частей равной длины. Эти части блока называются ветвями. Так, например, если блок имеет длину 64 бита, используются две ветви по 32 бита каждая. Ветви обрабатываются по отдельности, после чего осуществляется циклический сдвиг всех ветвей влево. В случае двух ветвей каждый раунд имеет структуру, показанную на рис. 3.2

Функция F называется образующей. Каждый раунд состоит из вычисления функции F для одной ветви и побитового выполнения операции «сумма по модулю 2» результата F с другой ветвью. После этого ветви меняются местами. Число раундов может быть различным для разных алгоритмов. В некоторых алгоритмах рекомендуется от 8 до 32 раундов, в других – больше. В целом увеличение количества раундов увеличивает криптостойкость алгоритма. Возможно, эта особенность и повлияла на столь активное распространение сети Фейштеля, так как для большей криптостойкости достаточно просто увеличить количество раундов, не изменяя сам алгоритм . В последнее время количество раундов не фиксируется, а лишь указываются рекомендуемые пределы.

В последнее время все чаще используются различные разновидности сети Фейштеля для 128-битного блока с четырьмя ветвями. Увеличение количества ветвей, а не размерности каждой ветви связано с тем, что наиболее популярными до сих пор остаются процессоры с 32-разрядными словами, следовательно, оперировать 32-разрядными словами эффективнее, чем с 64-разрядными.

В блочных алгоритмах, построенных на основе сети Фейштеля, основной операцией является вычисление образующей функции F. Эта функция использует подключ раунда и одну ветвь входного блока для вычисления результата. Именно тем, как определяется функция F , системы шифрования и отличаются друг от друга. В некоторых алгоритмах введены также начальные преобразования входного блока данных, придающие некоторую «случайность» входному тексту (это называется рандомизацией данных.) Рандомизация производится для того, чтобы уменьшить естественную избыточность входного сообщения.

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

Ключевые термины

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

Ключ – информация , необходимая для шифрования и расшифрования сообщений.

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

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

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

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

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

Требования шифра

3. ОСНОВНЫЕ ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ. КЛАССИФИКАЦИЯ ШИФРОВ

3.1. Основные термины и определения

Одно из основных понятий криптографии — шифр (араб. صِفْر (sifr) — «ноль», «ничто», «пустота», откуда фр. chiffre — «цифра»; арабы первыми стали заменять буквы на цифры с целью защиты исходного текста).

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

Составными элементами шифра являются:

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

— алгоритмы криптографического преобразования (зашифрования и дешифрования);

Азбука или алфавит (греч. ἀλφάβητος) — форма письменности, основанная на стандартном наборе знаков, один или набор которых соответствуют фонемам 1 языка. В общем случае алфавит для записи исходных сообщений и алфавит для записи шифрованных сообщений могут отличаться. Например, исходные сообщения записываются с помощью букв, а шифрограммы с помощью цифр или графических обозначений.

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

Шифрование (зашифрование) — процесс применения шифра к защищаемой информации, т.е. преобразование исходного сообщения в зашифрованное.

Дешифрование (расшифрование) — процесс, обратный шифрованию, т. е. преобразование шифрованного сообщения в исходное.

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

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

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

Смотрите так же:  Направляю подписанный договор

где P (англ. public — открытый) — открытое сообщение;
C (англ. cipher — шифрованный) — шифрованное сообщение;
f — алгоритм шифрования;
g — алгоритм расшифрования;
k1 – ключ зашифрования, известный отправителю;
k2 – ключ расшифрования, известный адресату.

В настоящее время разработкой методов шифрования и дешифрования информации (в т.ч. и без знания ключа) занимается криптология (греч. κρυπτός — тайный, λόγος — слово, знание). Криптология разделяется на два направления — криптографию и криптоанализ. Цели этих двух правлений криптологии прямо противоположны.

Криптография (греч. κρυπτός — скрытый и γράφω — пишу, рисую) – наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.

Криптоанализ (греч. κρυπτός — скрытый и ανάλυση — разложение, расчленение) – наука, занимающаяся вопросами оценки сильных и слабых сторон методов шифрования, а также разработкой методов, позволяющих взламывать криптосистемы.

Следует различать криптографические методы сокрытия информации (шифрование) и кодирование. Кодирование – представление информации в альтернативном виде. Шифрование является частным случаем кодирования и предназначено для обеспечения конфиденциальности информации. С точки зрения решения этой задачи, кодирование – это безключевое шифрование, в котором преобразование построено на алгоритме кодирования или кодовой таблице. Различают:

общедоступные кодовые системы, предназначенные для преобразования информации в форму, удобную для передачи, хранения или автоматической обработки (азбука Морзе, Unicode, штрихкод);

секретные кодовые системы, предназначенные, как и криптографические системы, для обеспечения конфиденциальности (номенклаторы, «Код Госдепартамента», «Американский код для окопов», «Речные коды : Потомак»).

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

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

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

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

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

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

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

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

— от вида защищаемой информации (документальная, телефонная, телевизионная, компьютерная и т.д.);

— от объема и требуемой скорости передачи шифрованной информации;

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

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

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

1 Фонема (др.-греч. φώνημα — «звук») — минимальная смыслоразличимая единица языка.

3.2. Основные требования, предъявляемые к криптосистемам

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

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

— временные и стоимостные затраты на защиту информации должны быть приемлемыми при заданном уровне ее секретности (затраты на защиту не должны быть чрезмерными);

— процедуры шифрования и дешифрования не должны зависеть от длины сообщения;

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

— любой ключ из множества возможных должен обеспечивать надежную защиту информации;

— незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения;

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

— зашифрованное сообщение должно поддаваться чтению только при наличии ключа.

3.3. Классификация шифров

Существует несколько классификаций шифров. Рассмотрим некоторые из них.

Рис.3.1. Классификация шифров

I. По области применения различают шифры ограниченного и общего использования.

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

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

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

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

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

В аддитивных шифрах буквы алфавита заменяются числами, к которым затем добавляются числа секретной случайной (псевдослучайной) числовой последовательности (гаммы), после чего берется остаток от деления по модулю (операция mod). Если исходное сообщение и гамма представляются в битовом виде, то при шифровании и расшифровании применяется логическая операция «Исключающее ИЛИ» (XOR, сложение по модулю 2).

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

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

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

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

потоковые шифры – процедура преобразование применяется к отдельному символу сообщения;

блочные шифры – процедура преобразование применяется к набору (блоку) символов сообщения.

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

IV. По стойкости шифры делятся на три группы:

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

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

— вычислительная сложность полного перебора;

— известные на данный момент слабости (уязвимости) и их влияние на вычислительную сложность;