Методы и средства защиты информации. Внимание!!! В книге могут встречаться существенные ошибки (в рисунках и формулах). Они не связаны ни со
Скачать 4.86 Mb.
|
Глава 18. Криптографическая защита чество символов используемого алфавита Каждая строка матрицы получена циклическим сдвигом алфавита на символ Для шифрования выбирается бук - венный ключ , в соответствии с которым формируется рабочая матрица шифро - вания Осуществляется это следующим образом Из полной таблицы выбирает - ся первая строка и те строки , первые буквы которых соответствуют буквам клю - ча Первой размещается первая строка , а под нею — строки , соответствующие буквам ключа в порядке следования этих букв в ключе Сам процесс шифрования осуществляется следующим образом : • под каждой буквой шифруемого текста записывают буквы ключа ( ключ при этом повторяется необходимое количество раз ); • каждая буква шифруемого текста заменяется по подматрице буквами , нахо - дящимися на пересечении линий , соединяющих буквы шифруемого текста в первой строке подматрицы и находящихся под ними букв ключа ; • полученный текст может разбиваться на группы по несколько знаков Исследования показали , что при использовании такого метода статистиче - ские характеристики исходного текста практически не проявляются в зашифро - ванном тексте Нетрудно заметить , что замена по таблице Виженера эквива - лентна простой замене с циклическим изменением алфавита , т е здесь мы име - ем полиалфавитную подстановку , причем число используемых алфавитов определяется числом букв в ключе Поэтому стойкость такой замены определя - ется произведением прямой замены на количество используемых алфавитов , т е на количество букв в ключе Одним из недостатков шифрования по таблице Виженера является то , что при небольшой длине ключа надежность шифрования остается невысокой , а формирование длинных ключей сопряжено с определенными трудностями Нецелесообразно выбирать ключи с повторяющимися буквами , так как при этом стойкость шифра не возрастает В то же время ключ должен легко запоми - наться , чтобы его можно было не записывать Последовательность же букв , не имеющих смысла , запомнить трудно С целью повышения стойкости шифрования можно использовать усовершен - ствованные варианты таблицы Виженера Отметим некоторые из них : • во всех ( кроме первой ) строках таблицы буквы располагаются в произволь - ном порядке ; • в качестве ключа используются случайные последовательности чисел Из таблицы Виженера выбираются десять произвольных строк , которые ко - дируются натуральными числами от 0 до 10. Эти строки используются в соот - ветствии с чередованием цифр в выбранном ключе Частным случаем рассмотренной полиалфавитной подстановки является так называемая монофоническая подстановка Особенность этого метода состоит в том , что количество и состав алфавитов выбираются таким образом , чтобы час - тоты появления всех символов в зашифрованном тексте были одинаковыми Анализ основных криптографических методов ЗИ 377 При таком положении затрудняется криптоанализ зашифрованного текста с по - мощью его статической обработки Выравнивание частот появления символов достигается за счет того , что для часто встречающихся символов исходного тек - ста предусматривается использование большего числа заменяющих элементов , чем для редко встречающихся Полиалфавитная многоконтурная подстановка заключается в том , что для шифрования используется несколько наборов ( контуров ) алфавитов , используе - мых циклически , причем каждый контур в общем случае имеет свой индивиду - альный период применения Этот период исчисляется , как правило , количеством знаков , после зашифровки которых меняется контур алфавитов Частным случа - ем многоконтурной полиалфавитной подстановки является замена по таблице Вижинера , если для шифрования используется несколько ключей , каждый из ко - торых имеет свой период применения Общая модель шифрования подстановкой может быть представлена в сле - дующем виде : t i c = t i p + ω mod (K – 1) где t i c — символ зашифрованного текста ; t i p — символ исходного текста ; ω — це - лое число в диапазоне от 0 до ( К–1 ); К — количество символов используемого алфавита Если ω фиксировано , то формула описывает моноалфавитную подстановку , если ω выбирается из последовательности ω 1 , ω 2 , …, ω n , то получается поли - алфавитная подстановка с периодом n Если в полиалфавитной подстановке n > m ( где m — количество знаков шифруемого текста ) и любая последовательность ω 1 , ω 2 , …, ω n используется только один раз , то такой шифр является теоретически не раскрываемым , если противник не имеет доступа к исходному тексту Этот шифр называют шифром Вермана Шифрование методом перестановки Этот метод заключается в том , что символы шифруемого текста перестав - ляются по определенным правилам внутри шифруемого блока символов Рас - смотрим некоторые наиболее часто встречающиеся разновидности этого ме - тода : простой , усложненный по таблице и усложненный по маршрутам пере - становки Шифрование простой перестановкой Шифрование простой перестановкой осуществляется следующим образом : • выбирается ключевое слово с неповторяющимися символами ; • шифруемый текст записывается последовательными строками под символа - ми ключевого слова ; 378 Глава 18. Криптографическая защита • зашифрованный текст выписывается колонками в той последовательности , в которой располагаются в алфавите буквы ключа ( или в порядке следования цифр в натуральном ряду , если он цифровой ). Рассмотрим следующий пример : открытый текст : БУДЬТЕ ОСТОРОЖНЫ ключ : 5 8 1 3 7 4 6 2 схема шифрования : 5 8 1 3 7 4 6 2 Б У Д Ь Т Е α O С Т О Р О Ж Н Ы ( α — пробел ) Группируем по 2 символа и получаем зашифрованный текст : 1 2 3 4 5 6 7 8 ДООЫЬРЕЖБСαНТОУТ Недостатком шифрования простой перестановкой обуславливается тем , при большой длине шифруемого текста в зашифрованном тексте могут проявиться закономерности символов ключа Для устранения этого недостатка можно ме - нять ключ после зашифровки определенного количества знаков При достаточно частой смене ключа стойкость шифрования можно существенно повысить При этом , однако , усложняется организация процесса шифрования и дешифрования Усложненный метод перестановки по таблицам Усложненный метод перестановки по таблицам заключается в том , что для записи символов шифруемого текста используется специальная таблица , в ко - торую введены некоторые усложняющие элементы Таблица представляет со - бой матрицу , размеры которой могут быть выбраны произвольно ( например 10 × 10). В нее , как и в случае простой перестановки , записываются знаки шифруемо - го текста Усложнение состоит в том , что определенное число клеток таблицы не используется Количество и расположение неиспользуемых элементов является дополнительным ключом шифрования Шифруемый текст блоками по m × n – S элементов записывается в таблицу ( m × n — размеры таблицы , S — количество неиспользуемых элементов ). Далее процедура шифрования аналогична простой перестановке Варьируя размерами таблицы , последовательностью символов ключа , коли - чеством и расположением неиспользуемых элементов , можно получить требуе - мую стойкость зашифрованного текста Усложненный метод перестановок по маршрутам Анализ основных криптографических методов ЗИ 379 Весьма высокую стойкость шифрованию можно обеспечить , используя услож - ненный метод перестановок по маршрутам типа гамильтоновских При этом для записи символов шифруемого текста используются вершины некоторого гиперку - ба , а знаки зашифрованного текста считываются по маршрутам Гамильтона , при - чем используется несколько различных маршрутов ( рис . 18.5). Следует заметить , что все процедуры шифрования и расшифровки по методу перестановки являются в достаточной степени формализованным и могут быть реализованы алгоритмически Шифрование с помощью аналитических преобразований Достаточно надежное закрытие информации может обеспечиваться при ис - пользовании для шифрования аналитических преобразований Для этого можно применять методы алгебры матриц , например , умножение матрицы на вектор по правилу ||a ij || b j = C j = j Σ a ij b j Рис . 18.5. Схема шифрования перестановкой по маршрутам Гамильтона Открытый текст " КРИПТОГР ", зашифрованный текст — " ТОРКИПРГ " ( вверху ) и " ТКИПРОРГ " ( внизу ) Если матрицу ||a ij || использовать в качестве ключа , а вместо компонента век - тора b j подставить символы исходного текста , то компоненты вектора C j будут представлять собой символы зашифрованного текста Используем в качестве примера этого метода квадратную матрицу третьего порядка , которая будет играть роль ключа : 1483 852 321 380 Глава 18. Криптографическая защита Заменим буквы алфавита цифрами , соответствующими их порядковому но - меру в алфавите : А = 0 ; Б = 1 ; В = 2 и т д Тогда тексту ВАТАЛА ( текст произ - вольный ) будет соответствовать последовательность 3 , 0 , 19 , 0 , 12 , 0 По приня - тому алгоритму шифрования выполним необходимые действия : 1483 852 321 × 3 0 19 = 99 62 28 , 1483 852 321 × 0 12 0 = 96 60 24 Таким образом , зашифрованный текст будет иметь следующий вид : 99, 62, 28, 96, 60, 24 Расшифровывание осуществляется с использованием того же правила умно - жения матрицы на вектор , только в качестве основы берется матрица , обратная той , с помощью которой осуществляется закрытие , а в качестве вектора - сомножителя — соответствующее количество символов закрытого текста Зна - чениями вектора - результата будут цифровые эквиваленты знаков открытого текста Шифрование методом гаммирования Суть этого метода состоит в том , что символы шифруемого текста последо - вательно складываются с символами некоторой специальной последовательно - сти , которая называется гаммой Иногда такой метод представляют как наложе - ние гаммы на исходный текст , поэтому он получил название “ гаммирование ”. Процедуру наложения гаммы на исходный текст можно осуществить двумя способами В первом способе символы исходного текста и гаммы заменяются цифровыми эквивалентами , которые затем складываются по модулю К , где К — количество символов в алфавите , т е t c = (t p + t g ) mod К , где t c , t p , t g — символы соответственно зашифрованного текста , исходного текста и гаммы При втором способе символы исходного текста и гаммы представляются в виде двоичного кода , а затем соответствующие разряды складываются по моду - лю 2. Вместо сложения по модулю 2 при гаммировании можно использовать дру - гие логические операции , например преобразование по правилу логической эк - вивалентности или логической неэквивалентности Такая замена равносильна введению еще одного ключа , которым является выбор правила формирования символов зашифрованного сообщения из символов исходного текста и гаммы Стойкость шифрования методом гаммирования определяется главным обра - зом свойствами гаммы — длительностью периода и равномерностью статисти - ческих характеристик Последнее свойство обеспечивает отсутствие закономер - ностей в появлении различных символов в пределах периода Разделяют две разновидности гаммирования — с конечной и бесконечной гаммой При хороших статистических свойствах гаммы стойкость шифрования определяется только длиной ее периода При этом если длина периода гаммы Анализ основных криптографических методов ЗИ 381 превышает длину шифруемого текста , то такой шифр теоретически является аб - солютно стойким Это , однако , не означает , что дешифрирование такого текста вообще не возможно : при наличии некоторой дополнительной информации ис - ходный текст может быть частично или полностью восстановлен даже при ис - пользовании бесконечной гаммы В качестве бесконечной гаммы может быть использована любая последова - тельность случайных символов , например , последовательность цифр числа π или е При шифровании с помощью ЭВМ последовательность гаммы формиру - ется с помощью датчика псевдослучайных чисел В настоящее время разрабо - таны алгоритмы работы таких датчиков , которые обеспечивают удовлетвори - тельные характеристики Комбинированные методы шифрования Как уже отмечалось , одним из важнейших требований , предъявляемых к сис - теме шифрования , является ее стойкость Однако повышение стойкости любого метода шифрования приводит , как правило , к существенному усложнению само - го процесса шифрования и увеличению затрат ресурсов ( времени , аппаратных средств , уменьшению пропускной способности и т п .). Достаточно эффективным средством повышения стойкости шифрования яв - ляется комбинированное использование нескольких различных способов шиф - рования , т е последовательное шифрование исходного текста с помощью двух или более методов Стойкость комбинированного шифрования S k не ниже произведения стойко - сти используемых способов S: S k ≥ П S i Совершенно очевидно , что если какой - либо способ шифрования при незави - симом его применении может обеспечить стойкость не ниже S k ( например , гам - мирование с бесконечной гаммой ), то комбинирование этого способа с другими будет целесообразно лишь при выполнении условия i Σ R i < R * , где R i — ресур - соемкость i - го способа , используемого при комбинированном шифровании ; R * — ресурсоемкость того способа , который обеспечивает стойкость не ниже S k Комбинировать можно любые методы шифрования и в любом количестве , однако на практике наибольшее распространение получили следующие комби - нации : • подстановка + гаммирование ; • перестановка + гаммирование ; • гаммирование + гаммирование ; • подстановка + перестановка Типичным примером комбинированного шифра является национальный стандарт США криптографического закрытия данных (DES). Кодирование 382 Глава 18. Криптографическая защита Одним из средств криптографического закрытия информации , также имею - щим длительную историю практического использования , является кодирование , под которым понимается замена элементов закрываемых данных некоторыми цифровыми , буквенными или комбинированными сочетаниями — кодами Не - трудно заметить , что между кодированием информации и ее шифрованием под - становкой существует значительная аналогия Однако между этими методами можно найти различия При шифровании подстановкой заменяемыми единицами информации явля - ются символы алфавита , и , следовательно , шифрованию могут подвергаться любые данные , для фиксирования которых используется выбранный алфавит При кодировании замене подвергаются смысловые элементы информации , по - этому для каждого специального сообщения в общем случае необходимо ис - пользовать свою систему кодирования Правда , в последнее время разработаны специальные коды , имеющие целью сократить объем информации при ее запи - си Специфика этих кодов заключается в том , что для записи часто встречаю - щихся символов используются короткие двоичные коды , а для записи редко встречающихся — длинные Примером такого кода может служить код Хоффма - на Двоичный код для букв алфавита образуется путем последовательной записи нулей и единиц на маршруте от вершины графа до конца ветви , соответствую - щего данной букве Если граф кодирования сохраняется в тайне , то такое коди - рование имеет криптографическую стойкость на уровне шифрования простой заменой При смысловом кодировании основной кодируемой единицы является смы - словой элемент текста Для кодирования составляется специальная таблица ко - дов , содержащая перечень кодируемых элементов и соответствующих им кодов Иногда код состоит из списка слов и фраз вместе с соответствующими им случайными группами чисел и букв , называемыми кодовыми группами Посколь - ку кодовые группы обычно короче выражений , которые они представляют , коды , помимо секретности , обеспечивают также и сжатие информации При правильном использовании коды намного труднее раскрыть , чем другие классические системы Успех их использования объясняется тремя причинами Наиболее важной их них является большая длина используемого ключа В ти - пичной системе шифрования используется ключ длиной максимум несколько со - тен бит Например , ключом шифра на основе простой подстановки является пе - реставленный алфавит , представляющий в среднем 90 бит , тогда как кодовая книга хорошего размера может содержать сотни тысяч и даже миллион бит Как показал Шеннон , работа криптоаналитика затрудняется , когда из сообщения удаляется избыточность , а коды удаляют избыточность Причем , коды работают с относительно большими блоками открытого текста ( словами и фразами ) и , следовательно , скрывают локальную информацию , которая в противном случае могла бы дать ценные “ зацепки ” для криптоанализа Анализ основных криптографических методов ЗИ 383 К недостаткам следует отнести то , что ключ при кодировании используется недостаточно хорошо , так как при кодировании отдельного слова и фразы ис - пользуется лишь очень малая часть кодовой книги В результате код при интен - сивном использовании поддается частичному анализу и оказывается особенно чувствительным к вскрытию при наличии известного открытого текста По этим причинам для обеспечения большей надежности коды необходимо чаще менять К другим видам криптографического закрытия отнесены рассече - ние / разнесение и сжатие данных Рассечение / разнесение данных состоит в том , что массив защищаемых данных рассекается на такие элементы , каждый из которых не позволяет раскрыть содержание защищаемой информации , и выде - ленные таким образом элементы размещаются в различных зонах памяти Об - ратная процедура называется сборкой данных Совершенно очевидно , что алго - ритм разнесения и сборки данных должен сохраняться в тайне Шифрование с открытым ключом Одно из главных ограничений использования обычных криптографических систем связано с трудностью распространения ключей Диффи и Хеллман , а также , независимо от них , Меркль , показали , что можно исключить защищенный канал передачи ключей и при этом обеспечить защиту при передаче сообщений по незащищенному каналу без осуществления каких - либо предварительных ме - роприятий Как видно из рис . 18.6, между отправителем и получателем допуска - ется двухсторонний обмен , но перехватчик здесь пассивный и только слушает В отличие от обычных систем , в которых ключ должен сохранятся в секрете , сис - темы , допускающие такую работу , называются системами с открытым клю - чом Рис . 18.6. Поток информации в криптографической системе с открытым ключом Для решения этой проблемы предлагаются два подхода При открытом рас - пространении ключей отправитель и получатель могут договориться о ключе , используемом в обычной криптографической системе Несмотря на то , что про - тивник слушает все переговоры , он не в состоянии вычислить ключ и не может |