36235

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

Доклад

Информатика, кибернетика и программирование

Устройства содержат датчики случайных чисел для генерации ключей и узлы шифрования реализованные аппаратно в специализированных однокристальных микроЭВМ. На базе устройств КРИПТОН разработана и серийно выпускается система КРИПТОНИК обеспечивающая также чтение запись и защиту данных хранящихся на интеллектуальных идентификационных карточках получающих в последнее время широкое применение как в виде дебетно кредитных карточек при безналичных расчетах так и в виде средства хранения прав доступа ключей шифрования и другой конфиденциальной...

Русский

2013-09-21

339 KB

37 чел.

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

Методы криптографического преобразования составляют основу практически всех известных механизмов архивации. Необходим выбор способа кодирования, который обеспечивал бы уменьшение объема ЗУ и обладал требуемой надежностью криптографической защиты. Классическим примером такого способа является код Хаффмена, для кодирования часто встречающихся символов (букв) использующий более короткие кодовые комбинации. Закодированный по секретной таблице текст будет не только короче исходного, но и недоступен посторонним лицам.

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

Одной из серий криптографических устройств является «КРИПТОН» – ряд выполненных в виде одноплатных устройств программно-аппаратных комплексов, обеспечивающих шифрование и дешифрование информации в ЭВМ и в информационно-вычислительных сетях. Устройства содержат датчики случайных чисел для генерации ключей и узлы шифрования, реализованные аппаратно в специализированных однокристальных микро-ЭВМ. Открытый интерфейс позволяет внедрять устройства КРИПТОН в любые системы и дополнять специальным ПО. Они позволяют осуществлять: шифрование и дешифрование файлов, групп файлов и разделов дисков; разграничение и контроль доступа к компьютеру; ЗИ, передаваемой по открытым каналам связи и сетям межмашинного обмена; электронную подпись документов; прозрачное шифрование жестких и гибких дисков. Использован алгоритм ГОСТ 28147–89. Длина ключа – 256 бит, причем предусмотрено 7 типов ключевых систем, любую из которых пользователь может выбрать по своему усмотрению. Конкретные ключи в пределах выбранного типа ключевой системы пользователь может изготовить самостоятельно или заказать в специализированном центре. Работает в MS DOS 3.0 и выше.

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

Методы криптографического преобразования данных

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

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

Проблемой ЗИ путем ее преобразования занимается криптология (kryptos – тайный, logos – наука). Криптология разделяется на два направления – криптографию и криптоанализ. Цели этих направлений прямо противоположны. Криптография занимается поиском и исследованием математических методов преобразования информации. Сфера интересов криптоанализа – исследование возможности расшифровывания информации без знания ключей.

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

1.  Симметричные криптосистемы.

2.  Криптосистемы с открытым ключом.

3. Системы электронной подписи.

4. Управление ключами.

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

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

Текст – упорядоченный набор из элементов алфавита.

В качестве примеров алфавитов, используемых в современных ЭИС, можно привести следующие: алфавит  – 32 буквы русского алфавита и пробел; алфавит  – символы, входящие в стандартные коды ASCII и КОИ-8; бинарный алфавит – ={0,1}; восьмеричный или шестнадцатеричный алфавит.

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

Рис. 4.1. Процедура шифрования файлов

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

Криптостойкостью называется характеристика шифра, определяющая его стойкость к дешифрованию без знания ключа (т.е. криптоанализу). Имеется несколько показателей криптостойкости, среди которых: количество всех возможных ключей; среднее время криптоанализа. Преобразование  определяется соответствующим алгоритмом и значением параметра k. Эффективность шифрования с целью ЗИ зависит от сохранения тайны ключа и криптостойкости шифра.

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

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

Рассмотрим классификацию методов криптографического закрытия [2-4].

1. Шифрование.

1.1. Замена (подстановка): простая (одноалфавитная); многоалфавитная одноконтурная обыкновенная; многоалфавитная одноконтурная монофоническая; многоалфавитная многоконтурная.

1.2. Перестановка: простая; усложненная по таблице; усложненная по маршрутам.

1.3. Аналитическое преобразование: с использованием алгебры матриц; по особым зависимостям.

1.4. Гаммирование: конечной короткой гаммой; конечной длинной гаммой; бесконечной гаммой.

1.5. Комбинированные методы: замена и перестановка; замена и гаммирование; перестановка и гаммирование; гаммирование и гаммирование.

2. Кодирование.

2.1. Смысловое: по специальным таблицам (словарям).

2.2. Символьное: по кодовому алфавиту.

3. Другие виды.

3.1. Рассечение-разнесение: смысловое; механическое.

3.2. Сжатие-расширение.

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

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

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

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

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

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

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

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

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

Самой простой разновидностью является прямая (простая) замена, когда буквы шифруемого сообщения заменяются другими буквами того же самого или некоторого другого алфавита. Однако такой шифр имеет низкую стойкость, так как зашифрованный текст имеет те же статистические характеристики, что и исходный. Например, текст на английском языке содержит символы со следующими частотами появления (в порядке убывания): E – 0,13, T – 0,105, A – 0,081, O – 0,079 и т.д. Методы дешифровки по статистическим характеристикам хорошо известны из классической литературы (см., например, Артур Конан Дойль, «Пляшущие человечки», или Алан Эдгар По, «Золотой жук»). Поэтому простую замену используют редко и лишь для короткого текста.

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

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

Схема шифрования Вижинера. Таблица Вижинера представляет собой квадратную матрицу с n×n элементами, где n – число символов используемого алфавита. Каждая строка получена циклическим сдвигом алфавита на символ. Для шифрования выбирается буквенный ключ, в соответствии с которым формируется рабочая матрица шифрования следующим образом. Из полной таблицы выбирается первая строка и те строки, первые буквы которых соответствуют буквам ключа. Первой размещается первая строка, а под нею – строки, соответствующие буквам ключа в порядке следования этих букв в ключе. Пример такой рабочей матрицы для ключа САЛЬЕРИ приведен в средней части рис. 4.2. Процесс шифрования следующий: под каждой буквой шифруемого текста записываются буквы ключа, ключ при этом повторяется необходимое число раз; каждая буква шифруемого текста заменяется по подматрице буквами, находящимися на пересечении линий, соединяющих буквы шифруемого текста в первой строке подматрицы и находящихся под ними букв ключа; полученный текст может разбиваться на группы по несколько знаков. Пусть, например, требуется зашифровать сообщение: МАКСИМАЛЬНО ДОПУСТИМОЙ ЦЕНОЙ ЯВЛЯЕТСЯ ПЯТЬСОТ РУБЛЕЙ ЗА ШТУКУ. Записываем под буквами шифруемого текста буквы ключа:

максимально допустимой ценой является пятьсот рублей за штуку

сальерисаль ерисальери салье рисальер исальер исалье ри салье

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

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

Исходный текст – максимально допустимой ценой является пятьсот…

а

б

в

г

д

е

ж

з

и

й

к

л

м

н

о

п

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

а

б

в

г

д

е

ж

з

и

й

к

л

м

н

о

п

л

м

н

о

п

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ь

э

ю

я

а

б

в

г

д

е

ж

з

и

й

к

л

е

ж

з

и

й

к

л

м

н

о

п

р

с

т

у

ф

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

И

й

к

л

м

н

о

п

р

с

т

у

ф

х

ц

ч

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

б

в

г

д

е

ж

з

и

й

к

л

м

н

о

п

р

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

ы

ь

э

ю

я

а

б

в

г

д

е

ж

з

и

й

к

м

н

о

п

р

с

т

у

ф

х

ц

ч

ш

щ

ъ

ы

х

ц

ч

ш

щ

ъ

ы

ь

э

ю

я

а

б

в

г

д

а

б

в

г

д

е

ж

з

и

й

к

л

м

н

о

п

ш

щ

ъ

ы

ь

э

ю

я

а

б

в

г

д

е

ж

з

Шифротекст – эахмныиын пифгцчичио жнюоф…

Рис. 4.2. Последовательность шифрования по таблице Вижинера с использованием ключа «Сальери»

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

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

Для повышения стойкости можно использовать усовершенствованные варианты таблицы Вижинера, например: 1) во всех кроме первой строках таблицы буквы располагаются в произвольном порядке; 2) в качестве ключа используются случайные последовательности чисел, из таблицы Вижинера выбираются десять произвольных строк, которые кодируются натуральными числами от 0 до 10 и используются в соответствии с чередованием цифр в выбранном ключе.

Один из вариантов системы подстановок Вижинера называется системой Вернама (1917 год). В то время ключ записывался на бумажной ленте. Каждая буква исходного текста переводилась с использованием кода Бодо в пятибитовый символ. К исходному тексту Бодо добавлялся ключ (по модулю 2). Старинный телетайп фирмы AT&T со считывающим устройством Вернама и оборудованием для шифрования использовался корпусом связи армии США.

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

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

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

,

где  – символ зашифрованного текста;  – символ исходного текста; w – целое число в диапазоне 0…(k–1); k – число символов используемого алфавита. Если w фиксировано, то формула описывает моноалфавитную подстановку, если w выбирается из последовательности , , …, , то получается полиалфавитная подстановка с периодом n. Если в полиалфавитной подстановке n>m (где m – число знаков шифруемого текста), и любая последовательность , , …,  используется только один раз, то такой шифр теоретически нераскрываем, если, конечно, злоумышленник не имеет доступа к исходному тексту. Такой шифр получил название шифра Вермэна.

Шифрование методом перестановки заключается в том, что символы шифруемого текста переставляются по определенным правилам внутри шифруемого блока символов. Рассмотрим некоторые распространенные разновидности метода, которые могут быть использованы в ЭИС.

Самая простая перестановка – написать исходный текст задом наперед и одновременно разбить шифрограмму на пятерки букв. Например, из фразы ПУСТЬ БУДЕТ ТАК, КАК МЫ ХОТЕЛИ получится такой шифротекст: ИЛЕТО ХЫМКА ККАТТ ЕДУБЬ ТСУП. В последней группе (пятерке) не хватает одной буквы. Значит, прежде чем шифровать исходное выражение, следует его дополнить незначащей буквой (например, О) до числа, кратного пяти: ПУСТЬ-БУДЕТ-ТАККА-КМЫХО-ТЕЛИО. Тогда шифрограмма, несмотря на столь незначительное изменение, будет выглядеть по-другому: ОИЛЕТ ОХЫМК АККАТ ТЕДУБ ЬТСУП. Кажется, ничего сложного, но при расшифровке проявятся серьезные неудобства.

Во время Гражданской войны в США в ходу был такой шифр: исходную фразу писали в несколько строк, например, по 15 букв (с заполнением последней строки незначащими буквами).

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

П

У

С

Т

Ь

Б

У

Д

Е

Т

Т

А

К

К

А

К

М

Ы

Х

О

Т

Е

Л

И

К

Л

М

Н

О

П

Потом вертикальные столбцы по порядку писали в строку по пятеркам букв: ПКУМС ЫТХЬО БТУЕД ЛЕИТК ТЛАМК НКОАП. Или иначе: сначала исходную фразу записать в столбики:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

П

С

Ь

У

Е

Т

К

А

М

Х

Т

Л

А

В

Д

У

Т

Б

Д

Т

А

К

К

Ы

О

Е

И

Б

Г

Е

Потом разбить строки на пятерки букв: ПСЬУЕ ТКАМХ ТЛАВД УТБДТ АККЫО ЕИБГЕ. Если строки укоротить, а количество строк увеличить, то получится прямоугольник-решетка, в который можно записывать исходный текст. Но тут уже требуются предварительные договоренности между адресатом и отправителем посланий, поскольку сама решетка может быть различной длины-высоты, записывать в нее можно по строкам, по столбцам, по спирали туда или по спирали обратно, можно писать и по диагоналям, а для шифрования можно брать тоже различные направления.

Для примера возьмем решетку 6×6 (причем количество строк может увеличиваться или уменьшаться в зависимости от длины исходного сообщения) и заполним ее по строкам:

П

У

С

Т

Ь

Б

У

Д

Е

Т

Т

А

К

К

А

К

М

Ы

Х

О

Т

Е

Л

И

А

Б

В

Г

Д

Е

М

Л

К

И

З

Ж

Если шифровать по диагоналям сверху вниз с левого верхнего угла, то в итоге получится такая шифрограмма: П УУ СДК ТЕКХ ЬТАОА БТКТБМ АМЕВЛ ЫЛГК ИДИ ЕЗ Ж. Для окончательного оформления шифротекст может быть разбит на группы по 6 символов: ПУУСДК ТЕКХЬТ АОАБТК ТБМАМЕ ВЛЫЛГК ИДИЕЗЖ.

Весьма часто используют перестановки с ключом. Тогда правила заполнения решетки и шифрования из нее упрощаются, становятся стандартными. Единственное, что надо помнить и знать, – это ключ, которым может быть любое слово, например РАДИАТОР. В соответствии с расположением букв в алфавите буква А получает номер 1, вторая буква А – 2, следующая по алфавиту буква Д – 3, потом И – 4, О – 5, первая буква Р – 6, вторая Р – 7 и буква Т – 8. Заполняем решетку:

Р

А

Д

И

А

Т

О

Р

6

1

3

4

2

8

5

7

П

У

С

Т

Ь

Б

У

Д

Е

Т

Т

А

К

К

А

К

М

Ы

Х

О

Т

Е

Л

И

О

Записываем столбики в соответствии с номерами букв ключа: УТЫ ЬКТ СТХ ТАО УАЛ ПЕМО ДКИ БКЕ. Затем последовательность опять разбивается на пятерки: УТЫЬК ТСТХТ АОУАЛ ПЕМОД КИБКЕ. Таким шифром простой перестановки колонок пользовались немецкие секретные агенты во время Второй мировой войны. В качестве ключа они использовали первые буквы строк на определенной странице какой-нибудь обыкновенной книги.

Развитием этого шифра является перестановка колонок с пропусками, которые располагаются в решетке тоже в соответствии с ключом (в нашем случае через 6-1-3-4-2-8-5-7… символов):

Р

А

Д

И

А

Т

О

Р

6

1

3

4

2

8

5

7

П

У

С

Т

Ь

Б

=

У

=

Д

Е

Т

=

Т

А

К

К

=

Х

О

=

Т

Е

Л

И

К

Л

М

=

О

П

Р

Шифрограмма будет такой: УДК Ь СЕХЛ ТТОМ АЕП ПКИ УКЛР БТТО.

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

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

,

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

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

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

.

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

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

.

Заменим буквы алфавита цифрами, соответствующими их порядковому номеру в алфавите: А – 0, Б – 1, В – 2 и т.д. Тогда отрывку текста ВАТАЛА будет соответствовать последовательность 2, 0, 19, 0, 12, 0. По принятому алгоритму шифрования выполним необходимые действия:

; .

При этом зашифрованный текст будет иметь вид: 85, 54, 25, 96, 60, 24.

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

; .

Получена последовательность 3, 0, 19, 0, 12, 0, соответствующая исходному тексту.

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

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

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

Коды Хаффмена

A

1

1

1

1

O

1

1

1

0

N

1

1

0

D

1

1

0

1

1

P

1

1

0

1

0

1

V

1

1

0

1

0

0

1

K

1

1

0

1

0

0

0

1

1

Q

1

1

0

1

0

0

0

1

0

1

Z

1

1

0

1

0

0

0

1

0

0

X

1

1

0

1

0

0

0

0

1

J

1

1

0

1

0

0

0

0

0

R

1

0

1

1

I

1

0

1

0

E

1

0

0

S

0

1

1

0

W

0

1

1

1

0

1

B

0

1

1

1

0

0

H

0

1

0

1

F

0

1

0

0

1

C

0

1

0

0

0

M

0

0

0

1

1

U

0

0

0

1

0

G

0

0

0

0

1

Y

0

0

0

0

0

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

Автоматизированные системы управления

001

Автоматизация управления

002

Осуществляет

415

Позволяет

632

Тогда предложение «Автоматизированные системы управления позволяют осуществлять автоматизацию управления» после кодирования будет иметь вид: 001 632 415 002.

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

Системы с открытым ключом

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

Криптографические системы с открытым ключом используют необратимые, или односторонние, функции, которые обладают следующим свойством: при заданном значении x относительно просто вычислить значение f(x), однако если yM=f(x), то нет простого пути для вычисления значения x. Множество классов необратимых функций и порождает все разнообразие систем с открытым ключом. Однако не всякая необратимая функция годится для использования в реальных ЭИС. В самом определении необратимости присутствует неопределенность. Под необратимостью понимается не теоретическая необратимость, а практическая невозможность вычислить обратное значение, используя современные вычислительные средства за обозримый интервал времени.

К системам с открытым ключом (СОК) предъявляются два важных и очевидных требования.

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

Алгоритмы шифрования с открытым ключом широко распространены в современных ЭИС. Так, алгоритм RSA стал мировым стандартом де-факто для открытых систем и рекомендован МККТТ. Все предлагаемые сегодня криптосистемы с открытым ключом опираются на один из следующих типов необратимых преобразований: разложение больших чисел на простые множители; вычисление логарифма в конечном поле; вычисление корней алгебраических уравнений.

Алгоритмы криптосистемы с открытым ключом (СОК) используются в трех назначениях.

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

Несмотря на довольно большое число различных СОК, наиболее популярна криптосистема RSA, разработанная в 1977 году и получившая название в честь ее создателей: Рона Ривеста, Ади Шамира и Леонарда Эйдельмана. Они воспользовались тем фактом, что нахождение больших простых чисел в вычислительном отношении осуществляется легко, но разложение на множители произведения двух таких чисел практически невыполнимо. Доказано (теорема Рабина), что раскрытие шифра RSA эквивалентно такому разложению. Поэтому для любой длины ключа можно дать нижнюю оценку числа операций для раскрытия шифра, а с учетом производительности современных компьютеров оценить и необходимое на это время. Возможность гарантированно оценить защищенность алгоритма RSA стала одной из причин популярности этой СОК на фоне десятков других схем. Поэтому алгоритм RSA используется в банковских компьютерных сетях, особенно для работы с удаленными клиентами (обслуживание кредитных карточек). В настоящее время алгоритм RSA используется во многих стандартах, среди которых SSL, S-HHTP, S-MIME, S/WAN, STT и PCT.

4.2. Электронная цифровая подпись

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

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

При хранении или передаче сообщения должны быть обеспечены вместе или по отдельности конфиденциальность, целостность и идентификация отправителя (проверка авторства) – получатель должен иметь возможность проверить, кем отправлено (или составлено) сообщение. Шифрование может обеспечить конфиденциальность, а в некоторых системах и целостность. Целостность сообщения проверяется вычислением некоторой контрольной функции от сообщения (некоего числа небольшой длины). Она должна с достаточно высокой степенью вероятности изменяться даже при малых изменениях самого сообщения. Называют и вычисляют контрольную функцию по-разному: код подлинности сообщения (Message Authentical Code, MAC); квадратичный конгруэнтный алгоритм (Quadratic Congruentical Manipulation Detection Code, QCMDC); Manipulation Detection Code (MDC); Message Digest Algorithm (MD5); контрольная сумма; символ контроля блока (Block Check CharacterBCC); циклический избыточный код (ЦИК, Cyclic Redundance CheckCRC); хеш-функция (Hash); имитовставка в ГОСТ 28147–89; алгоритм с усечением до п битов (n-bit Algorithm with Truncation). При вычислении контрольной функции может использоваться какой-либо алгоритм шифрования. Возможно шифрование и самой контрольной суммы.

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

4.3. Проблемы реализации методов криптографической

защиты в ЭИС

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

При аппаратной реализации все процедуры шифрования и дешифрования реализуются специальными электронными схемами. Обычно такие схемы выполняются в виде отдельных модулей, сопрягаемых с ЭВМ, терминалами пользователей, модемами связи, с другими элементами ЭИС. Наибольшее распространение получили модули, реализующие комбинированные методы шифрования. При этом непременным компонентом всех аппаратно реализованных комбинаций шифров является гаммирование. Это объясняется, с одной стороны, достаточно высокой степенью закрытия с помощью гаммирования, а с другой – сравнительно простой схемой, реализующей этот метод. Обычно в качестве генератора гаммы применяют широко известный регистр сдвига с обратными (линейными или нелинейными) связями. Минимальный период порождаемой таким регистром последовательности составляет  двоичных знаков. Если, например, N=56 (столько рабочих разрядов в регистре сдвига шифрующего аппарата для уже упоминавшегося DES), то . Если перебирать знаки этой гаммы со скоростью 1 млн знаков в секунду, то для перебора всех знаков одного периода потребуется не менее 3000 лет.

Для повышения качества генерируемой последовательности можно предусмотреть специальный блок управления работой регистра сдвига. Такое управление может заключаться, например, в том, что после зашифровки определенного объема исходного текста содержимое регистра сдвига циклически изменяется (например, сдвигается на несколько тактов). Дальнейшего повышения качества генерируемой гаммы можно достичь, если использовать три регистра сдвига, два из которых являются рабочими, а третий – управляющим. На каждом такте работы в качестве знака гаммы принимается выходной сигнал 1-го или 2-го регистра, причем выбор определяется значением выходного сигнала 3-го регистра (0 – выбор 1-го регистра, 1 – выбор 2-го регистра).

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

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

Фирмой AEG-Telefunken разработана система Telekrypt, реализующая шифрование гаммированием. Гамма формируется с использованием двух ключей – основного, определяемого пользователем, и дополнительного, определяемого системой. Основной ключ может принимать  различных значений, вводится с помощью специальной карты. Дополнительный ключ выбирается системой случайно, передается на шифроаппарат получателя сообщения в начале каждого нового сообщения. Благодаря наличию дополнительного ключа появляется возможность применения двухкаскадного ключа с варьируемой периодичностью изменения. С использованием одного и того же основного ключа можно в таком случае передавать больший объем информации при обеспечении требуемой надежности закрытия информации. Шифровальное устройство Telekrypt выполнено на интегральных схемах. Для предотвращения выдачи в линию открытого исходного текста предусмотрено специальное устройство контроля. Максимальная скорость формирования гаммы достигает 10 Кбит/с.

Американская фирма Cryptex разработала устройство шифрования данных для ВС TRS-80. Устройство размером с пачку сигарет подключается к задней панели ЭВМ или шине интерфейса. В этом устройстве применен алгоритм шифрования, который существенно отличается от DES. Хотя структура алгоритма держится в секрете, его разработчики утверждают, что достигнутая ими стойкость шифрования превышает стойкость DES. Повышения стойкости удалось добиться за счет увеличения длины исходного ключа, используемого для формирования гаммы. Ключ состоит из 10 символов кода ASCII. В двоичном исчислении длина кода равна 80 битам, что значительно превышает длину ключа DES. За счет дополнительного усложнения алгоритма (ветвление кода и задержка в использовании формируемой гаммы) удается увеличить объем пространства ключей до  двоичных знаков. Максимальная скорость шифрования до 15 тыс. символов в минуту. Устройство имеет усиленный корпус и защиту от воздействия внешних электромагнитных полей.

Основным достоинством программных методов криптографической защиты является их гибкость, т.е. возможность быстрого изменения алгоритма шифрования. При этом можно предварительно создать пакет шифрования, содержащий программы для различных методов шифрования или их комбинаций. Смена программ будет производиться оперативно в процессе функционирования системы. Основным недостатком программной реализации является существенно меньшее быстродействие. Например, при аппаратной реализации национального стандарта время на обработку одного блока составляет примерно 5 мкс, при программной реализации на большой ЭВМ – 100 мкс, а на специализированной мини-ЭВМ это время составляет примерно 50 мкс. Поэтому при больших объемах защищаемой информации аппаратные методы представляются более предпочтительными. Программные методы, кроме того, могут быть реализованы только при наличии в составе аппаратуры мощного процессора, тогда как шифрующие аппараты с помощью стандартных интерфейсов могут подключаться практически к любым подсистемам ЭИС.

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

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

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

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

При первом подходе требуется, чтобы небольшое число k узлов сети функционировало в качестве узлов распределителей ключей. Каждый пользователь запоминает k ключей, каждый из которых должен применяться при связи с определенным узлом. Когда два пользователя захотят установить между собой связь, они соединяются со всеми узлами и получают случайные ключи от каждого из узлов. Затем пользователь объединяет эти ключи с помощью операции «исключающее ИЛИ» и использует результат в качестве действительного ключа для шифрования любых сообщений. Преимуществом такого подхода является уменьшение распределяемого числа ключей. Кроме того, для разрушения секретности в такой сети нужно разрушить секретность во всех узлах-распределителях ключей в сети.

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

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

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

4.4. Характеристики криптографических средств защиты

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Шифрованный

текст

сходный

текст

Криптографическая

схема

Ключ


 

А также другие работы, которые могут Вас заинтересовать

70442. Визуализация результатов моделирования выхода автономного необитаемого подводного аппарата на источник экологических аномалий 3.97 MB
  Цель работы - разработка программного обеспечения визуализации результатов моделирования выхода автономного необитаемого аппарата на источник экологической аномалии. В результате выполнения работы сформулированы требования к программному обеспечению визуализации и выбраны средства...
70443. ЭЛЕКТРОННАЯ СИСТЕМА УПРАВЛЕНИЯ ДВИГАТЕЛЕМ 1.7 MB
  Центром построения цифровой интегральной системы управления, в котором производится переработка информации о состоянии объекта и принятие решений, является бортовой цифровой вычислительный комплекс
70444. Семантическая деривация единиц лексико-семантической группы «Повадки животных» 70.34 KB
  Проблема образной номинации человека посредством зоонимической лексики не теряет в лингвистике своей значимости. Причина ее лингвистической ценности кроется в непрекращающемся процессе осмысления человеком самого себя в контексте окружающей его живой природы.
70445. Влияние внутрисемейных отношений на формирование личности младшего школьника 223 KB
  Так как семейные условия включая социальное положение род занятий материальное обеспечение и уровень образования родителей в большей мере предопределяют жизненный путь ребенка. Помимо сознательного полноценного и целенаправленного воспитания которое дают ему...
70448. Разработка двухуровневой распределенной АСУ ТП секции 100 установки 4.34 MB
  Установка гидрокрекинг предназначена для переработки вакуумного газойля в присутствии водорода на алюмоникельмолибденовом катализаторе с повторной переработкой рециркулята (остатка куба колонны фракционирования) для максимального производства дизельного или реактивного топлива.
70449. Анализ финансового положения ОАО «Амира» 763.5 KB
  В настоящее время коммерческим банкам требуется более глубокий подход в оценке кредитоспособности заемщика потому что кредитоспособность клиента способность заемщика полностью и в срок рассчитаться по своим долговым обязательствам а для банка кредитные операции...
70450. Разработка подсистемы автоматизации учебно-учетной деятельности в спортивной школе 1.4 MB
  Одним из важных шагов создания информационной подсистемы является разработка базы данных которая позволит организовать и упорядочить информацию а также обеспечит быстрый доступ к данным и выборку необходимой информации.