Чем определяется надежность криптосистемы

Надежность использования криптосистем

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

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

Чем определяется надежность криптосистемы. Смотреть фото Чем определяется надежность криптосистемы. Смотреть картинку Чем определяется надежность криптосистемы. Картинка про Чем определяется надежность криптосистемы. Фото Чем определяется надежность криптосистемы

Рис. 5.30. Причины ненадежности криптосистем

логарифмирования и т. п.). К наиболее известным из них относятся DES, RSA, ГОСТ. Таким образом, они не могут быть вскрыты иначе, чем полным перебо­ром или решением указанной задачи. Но тем не менее, можно выделить следую­щие основные группы причин ненадежности криптографи-ческих систем:

• Применение нестойких алгоритмов

• Ошибки в реализации криптоалгоритмов

• Неправильное применение криптоалгоритмов

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

Научный подход к анализу криптостойкости шифров приобрел строй­ность после публикации в 1949 году работы К. Шеннона «Теория связи в секретных системах». Он предложил рассматривать криптостойкость сис­тем с двух точек зрения — теоретической (совершенной) и практической (вычислительной) стойкости.

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

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

• В шифротексте сохраняются статистические зависимости сим­волов и сочетаний символов исходного текста

• Перемешанный относительный алфавит может быть установлен постепенным подбором.

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

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

Малая скорость стойких криптоалгоритмов — это основной фактор, зат­рудняющий применение хороших алгоритмов, например, в системах «то­тального» шифрования или шифрования «на лету». В частности, програм­ма Norton DiskReet, хотя и имеет реализацию криптоалгоритма DES, при смене пользователем ключа может не перешифровывать весь диск, так как это займет слишком много времени. Аналогично, программа компрессии «на лету» Stacker фирмы Stac Electronics имеет опцию закрытия паролем компрессируемых данных. Однако она не имеет физической возможности зашифровать этим паролем свой файл, обычно имеющий размеры в несколь­ко сот мегабайт, поэтому она ограничивается очень слабым алгоритмом и

Чем определяется надежность криптосистемы. Смотреть фото Чем определяется надежность криптосистемы. Смотреть картинку Чем определяется надежность криптосистемы. Картинка про Чем определяется надежность криптосистемы. Фото Чем определяется надежность криптосистемы

Рис. 5.31. Частота использования букв: а — английского и немецкого алфавитов;

6 — русского алфавита

Чем определяется надежность криптосистемы. Смотреть фото Чем определяется надежность криптосистемы. Смотреть картинку Чем определяется надежность криптосистемы. Картинка про Чем определяется надежность криптосистемы. Фото Чем определяется надежность криптосистемы

Экспортные ограничения криптоалгоритмов приводят к тому, что при межгосударственном общении возможно использование только весьма условно защищенных алгоритмов, с временем перебора паролей в сред­нем около 4 месяцев.

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

Такая причина, как уменьшение криптостойкости системы при генерации ключа основана на том, что криптосистема либо обрезает пароль пользователя, либо генерирует из него данные, имеющие меньшее количество бит, чем сам пароль. В старых версиях UNIX пароль пользователя обрезается до 8 байт пе­ред хэшированием. Любопытно, что, например, Linux 2.0, требуя от пользова­телей ввода паролей, содержащих обязательно буквы и цифры, не проверяет, чтобы 8-символьное начало пароля также состояло из букв и цифр. Поэтому пользователь, задав, например, достаточно надежный пароль passwordlsgoodl 9, будет весьма удивлен, узнав, что хакер вошел в систему под его именем с помо­щью элементарного пароля password. Novell Netware позволяет пользователям иметь пароли до 128 байт, что дает (считая латинские буквы без учета регистра, цифры и спецсимволы) 68 Ш или 2™ комбинаций. Но при этом, во-первых, хэш-функция получает на входе всего лишь 32-байтовое значение, что ограничивает эффективную длину пароля этой же величиной. Более того, во-вторых, на выхо­де хэш-значение имеет длину всего 128 бит, что соответствует 2 128 комбинаций. Это дополнительно снижает эффективную длину до 21 символа, то есть в 6 раз по сравнению с первоначальной. Полностью аналогичная ситуация происходит с архиватором RAR версий 1.5х — выбор пароля больше 10 символов не при­водит к росту времени, необходимого на его вскрытие.

Недостаточная защищенность от компьютерных вирусов, «троянских коней», программных закладок и прочих программ, способных перехва­тить секретный ключ или сами нешифрованные данные, а также просто подменить алгоритм на некриптостойкий, приводит к нарушению безопас­ности криптосистемы. Особенно это актуально для операционных систем, не имеющих встроенных средств защиты или средств разграничения дос­тупа — типа MS DOS или Windows 95. Как пример можно привести самый старый способ похищения пароля, известный еще со времен больших ЭВМ, когда программа-«фантом» эмулирует приглашение ОС, предлагая ввести имя пользователя и пароль, запоминает его в некотором файле и прекра­щает работу с сообщением «Invalid password». Для MS DOS и Windows существует множество закладок для чтения и сохранения паролей, набира­емых на клавиатуре. Примером реализации подмены криптоалгоритма яв­ляется закладка, маскируемая под прикладную программу-«ускоритель» типа Turbo Krypton. Эта закладка заменяет алгоритм шифрования ГОСТ 28147-89, реализуемой платой «Krypton-З» (демонстрационный вариант), другим, простым и легко дешифруемым алгоритмом. Последним приме­ром служит имевшие место в июне 1998 года попытки проникновения «тро­янского коня» через электронную почту. В письмо были вложены порног­рафическая картинка и ЕХЕ-файл FREECD.EXE, который за то время, пока пользователь развлекался с письмом, расшифровывал пароли на соедине­ние с провайдером (Dial-Up) и отправлял их на адрес ispp@usa.net.

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

Ясно, что пока программы будут писаться людьми, ошибки в программ­ной реализации всегда будут иметь место. Хороший пример — ОС Novell Netware 3.12, где, несмотря на достаточно продуманную систему аутенти­фикации, при которой, по заявлениям фирмы Novell, «нешифрованный па­роль никогда не передается по сети», удалось найти ошибку в программе SYSCON v. 3.76, при которой пароль именно в открытом виде попадает в один из сетевых пакетов. Этого не наблюдается ни с более ранними, ни с более поздними версиями этой программы, что позволяет говорить имен­но о чисто программистской ошибке. Этот ошибка проявляется только если супервизор меняет пароль кому-либо (в том числе и себе). Видимо, каким-то образом в сетевой пакет ропадает клавиатурный буфер.

Причины наличия люков в криптосистемах очевидны: разработчик хочет иметь контроль над обрабатываемой в его системе информацией и оставля­ет для себя возможность расшифровывать ее, не зная ключа пользователя. Возможно также, что они используются для отладки и по какой-то причине не убираются из конечного продукта. Естественно, что это рано или поздно становится известным достаточно большому кругу лиц и ценность такой криптосистемы становится почти нулевой. Самыми известными примерами здесь являются AWARD BIOS (до версии 4.51PG) с его универсальным паро­лем «A WARD_SW» и СУБД Paradox фирмы Borland International, также име­ющая «суперпароли» «jIGGAe» и «пхббррх». Вплотную к наличию люков в реализации (очевидно, что в этом случае они используют явно нестойкие алгоритмы или хранят ключ вместе с данными) примыкают алгоритмы, даю­щие возможность третьему лицу читать зашифрованное сообщение, как это сделано в нашумевшем проекте CLIPPER, где третьим лицом выступает го­сударство, всегда любящее совать нос в тайны своих граждан.

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

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

• Некоторые алгоритмы могут работать с переменной длиной клю­ча, обеспечивая разную криптостойкость,— и именно задача раз­работчика выбрать необходимую длину, исходя из желаемой крип-тостойкости и эффективности. Иногда на это желание накладыва­ются и иные обстоятельства — такие, как экспортные ограничения

• Некоторые алгоритмы разрабатывались весьма давно, когда дли­на используемого в них ключа считалась более чем достаточной

для соблюдения нужного уровня защиты.

Ошибочный выбор класса алгоритма — это также весьма распространен­ная причина, при которой разработчик выбирает пусть и хороший, но совер­шенно неподходящий к его задаче алгоритм. Чаще всего это выбор шифрования вместо хэширования или выбор симметричного алгоритма вместо алгоритма с открытыми ключами. Примеров здесь масса — это почти все программы, ограничивающие доступ к компьютеру паролем при его включе­нии или загрузке, например AMI BIOS, хранящий вместо хэша пароля его зашифрованный вариант, который, естественно, легко дешифруется. Во всех сетевых процедурах аутентификации естественно применять ассиметричную криптографию, которая не позволит подобрать ключ даже при полном пере­хвате трафика. Однако многие программы довольствуются (в лучшем случае!) стандартной схемой «запрос-отклик», при которой можно вести достаточно быстрый перебор по перехваченным значениям «запроса» и «отклика».

Хранение ключа вместе с данными приводит к тому, что данные, зашифро­ванные с помощью криптостойкого и корректно реализованного алгоритма, могут быть легко дешифрованы. Это связано со спецификой решаемой задачи, при которой невозможно вводить ключ извне и он хранится где-то внутри в практически незашифрованном виде. Иначе говоря, здесь наиболее уязвимым будет алгоритм шифрования не ключом, а ключа (с помощью некоего вторич­ного ключа). Но так как (что опять-таки очевидно следует из специфики зада­чи) этот вторичный ключ хранить извне нельзя, то основные данные рано или поздно будут расшифрованы без использования методов перебора. Типичным примером здесь будут все WWW-, ftp-, e-mail-клиенты. Дело в том, что для базовой (наиболее часто встречающейся) аутентификации в этих протоколах пароль должен передаваться серверу в открытом виде. Поэтому клиентские программы вынуждены шифровать (а не хэшировать) пароль, причем с фикси­рованным ключом, чтобы не надоедать пользователю постоянными вопроса­ми. Отсюда следует, что где-то внутри любого броузера, почтового или ftp-клиента (будь то Netscape Communicator, Eudora, Outlook, FAR и т. п.) лежат все ваши пароли в практически открытом виде, и что расшифровать их не пред­ставляет труда. (Чаще всего, кстати, пароль в таких программах даже не шиф­руется, а кодируется алгоритмом типа base-64.)

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

В первую очередь это связано с выбором паролей. Очевидно, что короткие или осмысленные пароли легко запоминаются человеком, но они гораздо про­ще для вскрытия. Использование длинных и бессмысленных паролей бе­зусловно лучше с точки зрения криптостойкости, но человек обычно не может их запомнить и записывает на бумажке, которая потом либо теря­ется, либо попадает в руки злоумышленнику. Именно из того, что неиску­шенные пользователи обычно выбирают либо короткие, либо осмыслен-Т5Б£, та^сщц ^wi^cwpoT даа «метода, та ъск^ътлж.

• Атака полным перебором

В связи с резким ростом вычислительных мощностей атаки полным пе­ребором имеют гораздо больше шансов на успех, чем раньше. Если для системы UNIX функция crypt(), которая отвечает за хэширование паролей, была реализована так, что выполнялась почти 1 секунду на машину класса PDP, то за двадцать лет скорость ее вычисления увеличилась в 15 000 раз. Поэтому если раньше хакеры (и разработчики, которые ограничили длину пароля 8 символами) и представить себе не могли полный перебор, то се­годня такая атака в среднем приведет к успеху за 80 дней. Скорость пере­бора паролей для различных криптосистем приведена в табл. 5.3.

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

Таблица 5.3. Скорость полного перебора на компьютере класса Pentium/166.

мация о себе или своих знакомых (имя, дата рождения и т. п.). Ну, а посколь­ку в любом языке не более 100 000 слов, то их перебор займет весьма не­большое время, и от 40 до 80% существующих паролей может быть угадано с помощью такой простой схемы, называемой «атакой по словарю». (Кста­ти, до 80% этих паролей может быть угадано с использованием словаря размером всего 1000 слов!). Даже вирус Морриса (в 1988 г.) применял та­кой способ, тем более что в UNIX «под рукой» часто оказывается файл-сло­варь, обычно используемый программами-корректорами. Что же касается «собственных» паролей, то файл /etc/passwd может дать немало информа­ции о пользователе: его входное имя, имя и фамилию, домашний каталог. Вирус Морриса с успехом пользовался следующими предположениями:

• В качестве пароля берется входное имя пользователя

• Пароль представляет собой двойной повтор имени пользователя

• То же, но прочитанное справа налево

• Имя или фамилия пользователя

• То же, но в нижнем регистре.

Пусть сегодня пользователи уже понимают, что выбирать такие пароли нельзя, но до тех пор, пока с компьютером работает человек, эксперты по компьютерной безопасности не дождутся использования таких простых и радующих душу паролей, как 34jXs5U@bTa!6. Поэтому даже искушенный пользователь хитрит и выбирает такие пароли, как hopel, user 1997, pAsSwOrD, toor, roottoor, parol, gfhjkm, asxz. Видно, что все они, как правило, базируются на осмысленном слове и некотором простом правиле его пре­образования: прибавить цифру, прибавить год, перевести через букву в дру­гой регистр, записать слово наоборот, прибавить записанное наоборот сло­во, записать русское слово латинскими буквами, набрать русское слово на клавиатуре с латинской раскладкой, составить пароль из рядом расположен­ных на клавиатуре клавиш и т. п. Поэтому не надо удивляться, если такой «хитрый» пароль будет вскрыт хакерами — они не глупее самих пользова­телей, и уже вставили в свои программы те правила, по которым может идти преобразование слов.

3 Симметричные криптосистемы и блочные шифры

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Источник

Оценка надежности криптосистем

САМАРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ

Кафедра прикладной математики и информатики

К У Р С О В А Я Р А Б О Т А

Современные криптографические методы

Студент IV-ИЭ-8 Альперт В. В.

Научный руководитель Пономарев В. П.

С О Д Е Р Ж А Н И Е

Введение в криптографию______________________________________________ 3

Симметричные криптосистемы___________________________________________ 5

Стандарт шифрования данных ГОСТ 28147-89______________________________ 6

Международный алгоритм шифрования данных IDEA_______________________ 10

Алгоритм RSA_______________________________________________________ 12

Оценка надежности криптосистем_______________________________________ 14

Введение в криптографию

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

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

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

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

Чем определяется надежность криптосистемы. Смотреть фото Чем определяется надежность криптосистемы. Смотреть картинку Чем определяется надежность криптосистемы. Картинка про Чем определяется надежность криптосистемы. Фото Чем определяется надежность криптосистемы
Чем определяется надежность криптосистемы. Смотреть фото Чем определяется надежность криптосистемы. Смотреть картинку Чем определяется надежность криптосистемы. Картинка про Чем определяется надежность криптосистемы. Фото Чем определяется надежность криптосистемы

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

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

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

· количество всех возможных ключей;

· среднее время, необходимое для криптоанализа.

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

Все мно­го­об­ра­зие су­ще­ст­вую­щих крип­то­гра­фи­че­ских ме­то­дов мож­но све­сти к сле­дую­щим клас­сам пре­об­ра­зо­ва­ний:

Чем определяется надежность криптосистемы. Смотреть фото Чем определяется надежность криптосистемы. Смотреть картинку Чем определяется надежность криптосистемы. Картинка про Чем определяется надежность криптосистемы. Фото Чем определяется надежность криптосистемы
Чем определяется надежность криптосистемы. Смотреть фото Чем определяется надежность криптосистемы. Смотреть картинку Чем определяется надежность криптосистемы. Картинка про Чем определяется надежность криптосистемы. Фото Чем определяется надежность криптосистемы Чем определяется надежность криптосистемы. Смотреть фото Чем определяется надежность криптосистемы. Смотреть картинку Чем определяется надежность криптосистемы. Картинка про Чем определяется надежность криптосистемы. Фото Чем определяется надежность криптосистемы

Мо­но- и поли­ал­фа­вит­ные под­ста­нов­ки.

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

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

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

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

Стан­дарт шиф­ро­ва­ния дан­ных ГОСТ 28147-89

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

Алгоритм криптографического преобразования предусматривает три режима работы. В стандарте ГОСТ используется ключ W длиной 256 бит, представляемый в виде восьми 32-разрядных чисел x(i).

Пусть открытые блоки разбиты на блоки по 64 бит в каждом, которые обозначим как T(j).

Очередная последовательность бит T(j) разделяется на две последовательности B(0) и A(0) по 32 бита (правый и левый блоки). Далее выполняется итеративный процесс шифрования, описываемый следующими формулами, вид который зависит от i.

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

Полученные A(0), B(0) – расшифрованный текст.

Здесь i обозначает номер итерации. Функция f – функция шифрования.

Функция шифрования состоит из операции подстановки К применяемой к 32-разрядному аргументу. 64-разрядный аргумент разбивается на два 32-разрядных вектора. Блок подстановки K состоит из 8 узлов замены К(1). К(8) с памятью 64 бит каждый. Поступающий на блок подстановки 4-разрядный вектор разбивается на 8 последовательно идущих 4-разрядных векторов, каждый из которых преобразуется в 4-разрядный вектор соответствующим узлом замены, представляющим таблицу из 16 целых чисел в диапазоне 0. 15. Входной вектор определяет адрес строки в таблице, число из которой является выходным вектором. Затем 4-разрядные векторы последовательно объединяются в 32-разрядный выходной.

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

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

Другой режим шифрования называется режимом гаммирования.

Открытые данные, разбитые на 64-разрядные блоки T(i) (i=1,2. m) (m определяется объемом шифруемых данных), зашифровываются в режиме гаммирования путем поразрядного сложения по модулю 2 с гаммой шифра Гш, которая вырабатывается блоками по 64 бит, т.е.

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

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

Режим гаммирования с обратной связью очень похож на режим гаммирования. Как и в режиме гаммирования открытые данные, разбитые на 64-разрядные блоки T(i), зашифровываются путем поразрядного сложения по модулю 2 с гаммой шифра Гш, которая вырабатывается блоками по 64 бит:

Уравнение шифрования данных в режиме гаммирования с обратной связью выглядят следующим образом:

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

Ими­тов­став­ка пе­ре­да­ет­ся по ка­на­лу свя­зи по­сле за­шиф­ро­ван­ных дан­ных. На при­ем­ной сто­ро­не ана­ло­гич­ным об­ра­зом из при­ня­то­го со­об­ще­ния выделяется ими­тов­став­ка и срав­ни­ва­ет­ся с по­лу­чен­ной. В слу­чае не­сов­па­де­ния ими­тов­ста­вок со­об­ще­ние счи­та­ет­ся лож­ным.

КОНСТАНТЫ C1=1538417 341, C2=2591989193

ТАБЛИЦА ПОДСТАНОВОК Kij

0123456789ABCDEF
K(1)100159846523131274
K(2)0381111361021574145129
K(3)4713503121981014621115
K(4)1015212914768401331151
K(5)6141021201581331159147
K(6)8117141551220910161334
K(7)1159431158721401312106
K(8)4131550312710118961142

Международный алгоритм шиф­ро­ва­ния дан­ных IDEA

Шифр IDEA (International Data Encryption Algorithm) был разработан Лэй и Мэсси из ETH в Цюрихе. Этот шифр, наряду с RSA, применяется в популярной компьютерной криптосистеме PGP (Pretty Good Privacy).

IDEA представляет собой блочный шифр, использующий 128 битный ключ, для преобразования открытых 64 битных текстовых блоков.

Графическая схема алгоритма IDEA

Чем определяется надежность криптосистемы. Смотреть фото Чем определяется надежность криптосистемы. Смотреть картинку Чем определяется надежность криптосистемы. Картинка про Чем определяется надежность криптосистемы. Фото Чем определяется надежность криптосистемы

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

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

p1, p2, p3, p4 – четыре 16 битных блока, на которые разбиваются один блок исходного текста

s1, s2, s3, s4, s5, s6 – шесть 16 битных подключей.

На следующем шаге в качестве p1, p2, p3, p4 используют d11, d13, d12, d14 и новые шесть подключей. Полученные четыре последние 16 битных блока и есть зашифрованный текст. Процесс дешифрования осуществляется аналогично.

Шифрование и дешифрование отличаются только подключами. Первые восемь подключей определяются с помощью 128 битного ключа, который разделяется на восемь частей. Новые восемь подключей определяются следующим образом: начальный ключ смещается на 25 бит, и разделяется на восемь частей.

Подключи для дешифрования определяются таблицей:

1 шаг s49* s50# s51# s52* s47 s48

2 шаг s43* s45# s44# s46* s41 s42

3 шаг s37* s39# s38# s39* s35 s36

4 шаг s31* s33# s32# s34* s29 s30

5 шаг s25* s27# s26# s28* s23 s24

6 шаг s19* s21# s20# s22* s17 s18

7 шаг s13* s15# s14# s16* s11 s12

8 шаг s7* s9# s8# s10* s5 s6

Последнее преобразование s1* s2# s3# s4*

sXX* = мультипликативная инверсия sXX по модулю 2 16 +1

sXX# = аддитивная инверсия sXX по модулю 2 16

Алгоритм RSA

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

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

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

Чем определяется надежность криптосистемы. Смотреть фото Чем определяется надежность криптосистемы. Смотреть картинку Чем определяется надежность криптосистемы. Картинка про Чем определяется надежность криптосистемы. Фото Чем определяется надежность криптосистемы

Асимметричные крип­то­гра­фи­че­ские сис­те­мы ис­поль­зу­ют так называемые не­об­ра­ти­мые или од­но­сто­рон­ние функ­ции, ко­то­рые об­ла­да­ют сле­дую­щим свой­ст­вом: при за­дан­ном зна­че­нии x от­но­си­тель­но про­сто вы­чис­лить зна­че­ние f(x), од­на­ко ес­ли y=f(x), то нет про­сто­го пу­ти для вы­чис­ле­ния зна­че­ния x.

Ал­го­рит­мы шиф­ро­ва­ния с от­кры­тым клю­чом по­лу­чи­ли ши­ро­кое рас­про­стра­не­ние в со­вре­мен­ных ин­фор­ма­ци­он­ных сис­те­мах. Так, ал­го­ритм RSA стал ми­ро­вым стан­дар­том де-фак­то для от­кры­тых сис­тем.

Ал­го­рит­мы криптосистем с открытым ключом мож­но ис­поль­зо­вать в 3 на­зна­че­ни­ях.

1. Как са­мо­стоя­тель­ные сред­ст­ва за­щи­ты пе­ре­да­вае­мых и хра­ни­мых дан­ных.

2. Как сред­ст­ва для рас­пре­де­ле­ния клю­чей.

3. Сред­ст­ва ау­тен­ти­фи­ка­ции поль­зо­ва­те­лей.

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

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

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

образует открытый ключ, а — закрытый (можно взять и наоборот).

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

Шифрование осуществляется по формуле: Sшифр = S e mod N

Шифрование осуществляется по формуле: S = S d шифр mod N

Где S – исходный текст, Sшифр – преобразованный текст, при этом S 16 операций/секунду, а предел роста наступит приблизительно в 2030 г.

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

Из списка, появившегося летом 1999 года, следует, что по быстродействию суперкомпьютеры распределились следующим образом:

с мощностью порядка 10 12 FLOPS 3 экз.;

с мощностью порядка 10 11 FLOPS 54 экз.;

с мощностью порядка 10 10 FLOPS 428 экз.;

с мощностью порядка 10 9 FLOPS 251 экз.

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

РейтингНаименование машиныСтрана-обладательФирма-производительКоличество процессоровМощность (GFLOPS)
1Intel ASCI RedСШАIntel (США)91251333
2Hitachi/Tsukuba CP-PACSЯпонияHitachi/Tsukuba (Япония)2048368
3SGI/Cray T3EВеликобританияCray (США)696265
4Fujitsu Numerical Wind TunnelЯпонияFujitsu (Япония)167230
5Hitachi SR2201ЯпонияHitachi (Япония)1024220
6SGI/Cray T3EГерманияCray (США)512176
7SGI/Cray T3EСШАCray (США)512176
8SGI/Cray T3EГерманияCray (США)512176
9SGI/Cray T3EСШАCray (США)512176
10SGI/Cray T3EСШАCray (США)512176

Первое место в мире по количеству суперкомпьютеров занимают США 254 (51%). За ними следуют Япония 87 (17,5%), Германия 45 (9%), Великобритания 24 (4,8%), Франция 18 (3,6%), Корея 8 (1,6%), Канада 7 (1,4%), Швеция, Швейцария и Норвегия по 6 (1,2%). Россия упомянута в этом списке лишь один раз: на 156-ом месте находится компьютер HPC Ultra 10000 (пиковая производительность 16600 MFLOPS), произведенный фирмой SUN и установленный в Национальном Резервном Банке России. Интересная деталь: в США отсутствуют компьютеры иностранного производства американцы работают только на отечественных машинах и к тому же снабжают ими весь остальной мир.

Количество установок суперкомпьютеров возрастает год от года в геометрической прогрессии, причем основной объем опять же приходится на США. Статистика по годам сложилась следующая:

1999 786 установок

1998 638 установок

1997 207 установок

1996 168 установок

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

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

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

Наименование машиныМощность (FLOPS)56 бит 7.2*Е1664 бита 1.8*E1970 бит 1.18*Е2175 бит 3.78*Е22128 бит 3.4*E38256 бит 1.15*Е77
Intel ASCI Red1.333*Е1214 часов5 мес.28 лет899 года8.09*Е182.72*Е57
Hitachi/Tsukuba CP-PACS3.68*Е1152 часа18 мес.102 года3257 лет2.93*Е199.9*Е57
SGI/Cray T3E2.65*Е1169 часов51 мес.141 года4523 года4.07*Е191.37*Е58
Fujitsu Numerical Wind Tunnel2.3*Е11171 час60 мес.162 года5211 года4.69*Е191.58*Е58
Hitachi SR22012.2*Е11178 часов61 мес.170 лет5448 лет4.9*Е191.66*Е58

Оцен­ки тру­до­ем­ко­сти раз­ло­же­ния про­стых чи­сел (1994 год)

NЧисло операцийДлинаПримечания
E501.4*10 10166 битРаскрываем на суперкомпьютерах
E1002.3*10 15332 битНа пределе современных технологий
E2001.2*10 23664 битЗа пре­де­ла­ми со­вре­мен­ных тех­но­ло­гий
E3002.7*10 34996 битТре­бу­ет су­ще­ст­вен­ных из­ме­не­ний в тех­но­ло­гии
E5001.3*10 511660 битНе раскрываем

Оцен­ки тру­до­ем­ко­сти раз­ло­же­ния про­стых чи­сел (2000 год)

NЧисло операцийДлинаМаксимальное время дешифровки на суперкомпьютере Intel ASCI Red
E501.4*10 10166 бит0.01 сек.
E1002.3*10 15332 бит29 сек.
E2001.2*10 23664 бит2854 года
E3002.7*10 34996 бит6.425*Е14 лет
E5001.3*10 511660 бит3.092*Е31 лет

В кон­це 1995 го­да уда­лось прак­ти­че­ски реа­ли­зо­вать рас­кры­тие шиф­ра RSA для 500-знач­но­го клю­ча. Для это­го с по­мо­щью се­ти Ин­тер­нет бы­ло за­дей­ст­во­ва­но 1600 ком­пь­ю­те­ров. Сами авторы RSA рекомендуют использовать следующие размеры модуля N:

Таким образом метод RSA в ближайшее время перестанет использоваться и будет заменен более надежными криптосистемами.

Этому процессору понадобится 1.15*Е51 лет для перебора 256 битного ключа. Более быстрый процессор в нашей вселенной невозможен в принципе, поэтому более быстро производить дешифрование методом тотального перебора ключей принципиально невозможно. Таким образом, прогноз будущего силовой атаки на основе распределенных вычислений неутешителен. Cиловая атака на криптосистемы бесперспективна. Однако, недостатки алгоритмов могут существенно сократить число вариантов перебора. Использование в качестве ключей осмысленных слов позволяет применять атаку по словарю. Следовательно, в дальнейшее развитие криптографии будет происходить в области криптоанализа.

ЗАКЛЮЧЕНИЕ

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

ЛИТЕРАТУРА

1. Баричев С. Криптография без секретов. М., 1998

2. Брассар Дж. Современная криптология. 1988

3. Жельников В. Криптография от папируса до компьютера. М., 1996

4. Йолнен Тату. Введение в криптографию. 1999

5. Спесивцев А. В. Защита информации в персональных ЭВМ. М., 1992

6. Шнайер Брюс. Прикладная криптография. 1994

Дата добавления: 2019-07-15 ; просмотров: 325 ; Мы поможем в написании вашей работы!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *