Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 26 - КРИПТОГРАФИЧЕСКИЕ И СТЕГАНОГРАФИЧЕС....doc
Скачиваний:
66
Добавлен:
23.12.2018
Размер:
802.82 Кб
Скачать
  1. Шифрование с помощью аналитических преобразований.

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

.

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

Пусть, к примеру, в качестве ключа выбрана квадратная матрица:

.

Заменим буквы алфавита цифрами, соответствующими их порядковому номеру в алфавите, начиная с нуля (А – 0, Б – 1, …, Я – 30) и зашифруем отрывок текста ГАУАМА…, которому соответствует числовая последовательность 3, 0, 19, 0, 12, 0.

По принятому алгоритму шифрования выполним необходимые действия:

,

Таким образом, зашифрованный текст будет выглядеть следующим образом: 99, 62, 28, 96, 60, 24.

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

  1. Комбинированные методы шифрования.

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

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

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

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

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

Совершенно очевидно, что если какой-либо способ шифрования при независимом его применении может обеспечить стойкость не ниже Sk (например, гаммирование с бесконечной гаммой), то комбинирование этого способа с другими будет целесообразно лишь при выполнении условия , где Ri – ресурсоемкость i-го способа, используемого при комбинированном шифровании; R* – ресурсоемкость того способа, который обеспечивает стойкость не ниже Sk.

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

  1. подстановка + гаммирование;

  2. перестановка + гаммирование;

  3. гаммирование + гаммирование;

  4. подстановка + перестановка.

Типичными примерами применения комбинированных шифров является DES – национальный стандарт США криптографического закрытия данных и ГОСТ 28147-89.

Криптоалгоритм DES (Data Encryption Standard) разработан фирмой IBM в 1974 г. по заказу Национального бюро стандартов США (NBS) и принят в качестве стандарта шифрования данных в государственных и частных учреждениях в 1976 г. В 1987 г. был принят международный стандарт на основе DES (ISO 8372). Одним из главных требований NBS являлась возможность публикации алгоритма без ущерба для его стойкости.

В DES открытый блок текста M, криптограмма C и ключ К – двоичные последовательности длиной соответственно M=64, С=64 и K=56. В сущности DES является подстановкой в гигантском алфавите, содержащем 2641019 «символов» (79 квадриллионов комбинаций!). При выборе алгоритма шифрования разработчики исходили из трех требований:

  1. возможность дешифрования: для любого ключа К разным блокам открытого сообщения М и М соответствуют разные блоки криптотекста С и С;

  2. эффективность: шифрование и дешифрование осуществляются быстро;

  3. стойкость: если ключ неизвестен, то нет способа раскрытия шрифта, кроме «лобовой атаки».

При шифровании данных в криптосистеме DES может быть использован один из четырех режимов работы:

  1. электронная кодовая книга (ECB – Electronic Codebook Mode);

  2. обратная связь по шифротексту (CFB – Cipher Feedback Mode);

  3. сцепление блоков шифра (CBC – Cipher Block Chaining Mode);

  4. обратная связь по выходу (OFB – Output Feedback Mode).

В качестве примера рассмотрим реализацию режима ECB. Шифрование блока открытого текста Х осуществляется суперпозицией шифров, состоящей из 16 последовательных циклов, в каждом из которых простые перестановки сочетаются с подстановками в 4-битовых группах. Схема преобразования приведена на рис. 2.5.

Блок рассматривается как конкатенация (сцепление) двух подблоков: М=(L,R). Длины подблоков L и R равны 32 битам. В каждом цикле применяется свой 48-битовый ключ (К), называемый подключом и вырабатываемый из полного 56-битового ключа К внешне случайным образом.

Основным элементом шифра является несекретная цикловая функция вида Y=f(R,К). Входом в цикл является выход предыдущего цикла. Если вход (L,R), то выходом является (R,Lf(R, К)).

Биты входного блока открытого текста М перед первым циклом переставляются по начальной перестановке IР. После выхода из последнего цикла L и R переставляются местами, после чего соединяются в блок криптотекста С.

Цикловая функция Y=f(R, К) производит следующие действия:

  • расширение блока R до 48 битов, за счет повторения его битов;

  • поразрядное сложение по модулю 2 результата с ключом;

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

  • перестановку результата замены по постоянной и известной подстановке Р, что дает значение функции Y=f(R,К).

Почти с самого момента своего появления DES стал объектом полемики. У. Диффи и М. Хеллман (специалисты по криптологии из Стенфордского университета) возглавили группу скептиков, сомневавшихся в нем по причине малого размера секретного ключа.

П ри 2561017 ключей «лобовая атака» полным перебором ключей лишь с небольшим запасом превышала возможности ЭВМ. Диффи и Хеллман опубликовали проект специализированного многопроцессорного компьютера стоимостью около 20 млн. долларов, который мог бы раскрыть DES путем полного перебора примерно за 12 часов работы (речь идет о технике 20-летней давности).

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

Стандарт криптографического преобразования данных ГОСТ 28147-89 рекомендован к использованию для защиты любых данных, представленных в виде двоичного кода. Он формировался с учетом мирового опыта, и в частности, при его разработке были приняты во внимание недостатки алгоритма DES.

Алгоритм криптографического преобразования, установленный ГОСТ 28147-89, используется для зашифрования данных в двух режимах и для выработки имитовставки, которая является средством контроля целостности данных и зависит от ключей. При зашифровании алгоритм сводится к шифру гаммирования. Блок гаммы представляет собой 64-битовую комбинацию, состоящую из двух последовательных 32-битовых блоков. Гамма накладывается поразрядно, по модулю 2. Каждая комбинация гаммы представляет собой результат шифрпреобразования с помощью шифра простой замены на множестве 64-битовых комбинаций.

Алгоритм ГОСТ в качестве исходных данных использует три параметра: К, Х и М – 64-битовый блок данных. Первый параметр является долговременным, а второй – сеансовым ключом. Параметры независимы и имеют размер 512, 256 и 64 бита соответственно. Зашифрование блока открытого текста М алгоритмом ГОСТ производится за 32 цикла. На каждом цикле происходит преобразование входной комбинации в выходную.

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

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

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

Стойкость простой перестановки однозначно определяется размерами используемой матрицы. Например, при использовании матрицы 1616 число возможных перестановок достигает 1,41026. Стойкость усложненных перестановок может быть выше. Однако следует иметь в виду, что при шифровании перестановкой полностью сохраняются вероятностные характеристики исходного текста, что облегчает криптоанализ.

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

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

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

  • сохранение в тайне ключей;

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

  • достаточно частая смена ключей.

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

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

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

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

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

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

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

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