<<
>>

1.1. Закономерности организации сложных криптосистем

Как известно, криптография (в переводе с греческого - тайно-пись) - одна из самых древних наук; ее история уходит в глубь ве-ков. В истории криптографии выделяется ряд этапов, которые ха-рактеризуются сменой концепций, лежащих в основе этой отрасли знаний.
Условно выделяют этап донаучной криптографии, который охватывает период с древнейших времен до середины XX в. На этом этапе криптография еще не была наукой как таковой - скорее это было ремесло, доступное немногим посвященным в него лицам. Важно, что в этот период копились те методы и факты, которые впо-следствии легли в основу научной криптографии. В конце XIX - начале XX в. в криптографии под влиянием научно-технического прогресса (развитие телеграфии и радиосвязи, появление электроме-ханических устройств) происходят существенные изменения: разра-батываются методы двоичного кодирования информации, изобрета-ются сложные шифрмашины, в 1917 г. инженером американской фирмы AT&T Вернамом предлагается и реализуется невскрываемый (совершенно секретный) шифр.

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

В 1976 г. появляется работа двух других известных американских математиков - Уитфилда Диффи и Мартина Хеллмана «Новые направления в криптографии». Действительно, она положила начало развитию второго типа криптосистем - асимметричных (двухключе- вых).

Другое их название - криптосистемы с открытым ключом. Теоретической основой этого раздела криптографии стала матема-тическая теория сложности. Первые практически применимые асимметричные криптосистемы на основе однонаправленной функции RSA появились в 1979 г. В 1984 г. Goldwasser и Micali сформу-лировали определение, дающее теоретико-сложностной аналог со-вершенной секретности. В 1989 г. Goldwasser, Micali и Rackoll обобщили теоретико-сложностной подход на криптографические протоколы.

Все эти работы фактически подготовили базу для формирования совершенно новой науки: наряду с классической криптографией, объединившей лучшие достижения донаучной, симметричной и асимметричной криптографии, появляется доказательная, или ре-дукционистская, или, как часто называют ее за рубежом, современ-ная криптография. Все эти названия являются соответственно пере-водами английских терминов «provable security», «reductionist», «modern cryptography».

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

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

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

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

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

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

криптоаналитики ищут атаку на предложенное решение - под-вергают алгоритм криптоанализу;

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

(2) и пытаются найти лучшее решение этой задачи;

предложенное решение реализуется.

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

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

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

дается формальное, математическое определение проблемы;

конструируется алгоритм (протокол, схема и т. д.), удовлетворяющий сформулированному определению;

принимается некоторое теоретико-сложностное предположение о существовании некоторой вычислительно-неразрешимой задачи;

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

предложенное решение реализуется.

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

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

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

В криптографии известны три принципиально различных способа реализации асимметрии:

использование криптографических ключей;

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

вычислительные ресурсы, более мощные, чем у противника.

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

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

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

перемешивающие, или «инэ/сенерные» (в англоязычной тер-минологии также confusion/diffusion primitives), например петля Фейстеля, линейный регистр сдвига с обратной связью, SP-сети;

алгебраические и комбинаторные примитивы, например функция дискретного логарифма, функция RSA и др.

Рис. 1.1. Многоуровневая структура криптосистем

Рис. 1.1. Многоуровневая структура криптосистем

<< | >>
Источник: Запечников С. В.. Криптографические протоколы и их применение в финансовой и коммерческой деятельности: Учебное пособие для вузов. - М.: Горячая линия-Телеком,2007. - 320 с.. 2007

Еще по теме 1.1. Закономерности организации сложных криптосистем: