Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

..pdf
Скачиваний:
48
Добавлен:
15.11.2022
Размер:
14.26 Mб
Скачать

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

1.1.14. Блочное шифрование. Гаммирование

Рассмотрим блочное/поточное шифрование. Блочная криптоси­ стема (блочный шифр) разбивает открытый текст М на последова­ тельные блоки Mi, М2, ..., М„ и применяет криптографическое преоб­ разование к каждому блоку. Поточная криптосистема (поточный шифр) разбивает открытый текст М на буквы или биты т\, 2>•••> т« и применяет криптографическое преобразование к каждому знаку /и, в соотвегствии со знаком ключевого потока к/. Поточное шифрова­ ние часто называют гаммированием. Гамма -это псевдослучайная числовая последовательность, вырабатываемая по заданному алго­ ритму и используемая для шифрования открытых данных и дешиф­ рования шифрованных. Гаммированием принято называть процесс наложения по определенному закону гаммы шифра на открытые дан­ ные для их шифрования.

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

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

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

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

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

Шифром гаммирования называется шифр с алфавитом откры­ тых сообщений Z„„ совпадающим с алфавитом шифрованных сооб­ щений и ключевым множеством К. При этом для любого открытого текста Л = {а\, ai,...as, ...} eZmи e t e KF(A,k) = b\,b2,-b s,...

b\ = a.\ + Ч^Л:) mod (m)

bi = a, + Ч'.ОьЯг, a M,£) mod (m), i = 2,3,...

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

Обычно в настоящее время используется К = (Zm)n Зависимость знаков гаммы от знаков открытого текста используется достаточно редко. Объем ключевой информации ограничивается в данном слу­ чае тем, что для шифрования сообщений используется ключ фикси­ рованной длины в независимости от длины сообщения. Отсюда оче­ видным образом следует, что гамма не может быть произвольной

последовательностью чисел из Z„„ а следовательно, речи о «совер­ шенной стойкости» идти не может.

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

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

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

Первое свойство необходимо обеспечивать для невозможности дешифрования шифра гаммирования статистическими методами. Это свойство характеризует в некотором смысле близость и1082 кон­ кретного шифра к шифру Бернама. Второе - для того чтобы по части открытого текста невозможно было восстановить весь текст или дру­ гие его отрезки.

Кдостоинствам шифров гаммирования следует отнести сле­ дующее:

1.Возможность достижения высоких скоростей шифрования.

2.Коэффициент размножения ошибки равен единице.

3.Поточность шифрования и расшифрования.

4.Сохранение размера текста при шифровании.

Кнедостаткам относится:

1.Нестойкость шифра при повторном использовании ключа.

2.Последовательность доступа к информации.

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

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

это на основе догадок о содержании исходного текста.

Так, ес­

ли большинство посылаемых сообщений начинается

со слов

«СОВ.СЕКРЕТНО», то криптоанализ всего текста значительно об­ легчается. Это следует учитывать при создании реальных систем ин­ формационной безопасности. Ниже рассматриваются наиболее рас­ пространенные методы генерации гамм, которые могут быть исполь­ зованы на практике. Этот метод заключается в наложении на исход­ ный текст некоторой псевдослучайной последовательности, генери­ руемой на основе ключа.

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

Перечислим известные режимы работы блочных шифров.

ЕСВ (Electronic Code Book Mode - режим электронной кодовой книги, режим простой замены). В этом режиме все блоки текста шифруются независимо, на одном и том же Stream Mode (поточный режим, режим гаммирования). В этом режиме открытый текст скла­ дывается по модулю 2 с гаммой шифра. Гамма получается следую­ щим образом: при помощи генератора формируется предварительная гамма (начальное заполнение этого генератора - так называемая син­ хропосылка - не является секретом и передается по каналу в откры­ том виде). Предварительная гамма подвергается шифрованию в ре­ жиме ЕСВ, в результате чего и получается основная гамма, с которой складывается открытый текст. Если последний блок неполный (его длина меньше стандартного для данного алгоритма размера блока), берется только необходимое количество бит гаммы.

CFB (Cipher Feedback Mode - гаммирование с обратной связью). В этом режиме открытый текст также складывается по модулю 2 с гаммой шифра. Гамма получается следующим образом: сначала шифруется (в режиме ЕСВ) синхропосылка (она также передается по

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

OFB (Output Feedback Mode - гаммирование с обратной связью по выходу). Как и в предыдущем режиме, сначала шифрованию под­ вергается синхропосылка. Результат складывается по модулю 2 с первым блоком открытого текста - получается первый блок шиф­ ртекста. Далее результат шифрования с предыдущего шага (до сло­ жения!) шифруется еще раз и складывается со следующим блоком открытого текста. Таким образом, гамма шифра получается путем многократного шифрования синхропосылки в режиме ЕСВ. Обра­ ботка последнего блока - аналогично предыдущему режиму.

СВС (Cipher Block Chaining Mode - реяшм сцепления блоков). В этом реяшме очередной блок открытого текста складывается по мо­ дулю 2 с предыдущим блоком шифртекста, после чего подвергается шифрованию в реяшме ЕСВ. Для самого первого блока «предыдущим блоком шифртекста» является синхропосылка. Если последний блок открытого текста неполный - он дополняется до необходимой длины.

Существует архитектура «Квадрат» (SQUARE) построения блочных шифров с секретным ключом, она имеет следующие осо­ бенности:

она является вариантом общих SP-сетей (за один раунд шиф­ руемый блок преобразуется целиком), построенным по схеме KASLT {Key Addition - Substitution - Linear Transformation)',

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

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

матрицы. Смысл этой двухфазности - диффузия изменений

вдвух направлениях - по строкам и по столбцам.

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

вконкурсе AES занял другой KASLT-шифр, Serpent. Дело идет к то­ му, что KASLT-сети, и в частности архитектура SQUARE, в бли­ жайшем будущем станут безраздельно доминировать.

1.1.15.Блок-схема алгоритма Файстеля

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

ипередаче конфиденциальных финансовых данных), компания

International Business Machines (она же известная во всем мире как IBM) приступила к выполнению собственной программы научных исследований, посвященных защите информации в электронных се­ тях, в том числе и криптографии. Так, развитие одной передовой технологии повлекло за собой настоящую революцию в другой.

Поскольку в ряде университетов Соединенных Штатов (таких как Стэнфордский университет и Массачусетский технологический институт) всегда существовал интерес к данной области исследова­

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

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

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

Файстель до того момента уже успел тесно поработать с Клодом Шенноном в компании Bell Laboratories. Идеи Шеннона вдохновляли многих исследователей на оригинальные изобретения. Свидетельст­ вом тому является довольно большое количество патентов, зарегист­ рированных и принятых в середине 60-х годов Национальным па­ тентным бюро США (United States Patent and Trademark Office). Фай­ стель активно сотрудничал с Шенноном и не мог не заразиться его идеями. На его счету, как минимум, два патента и несколько рево­ люционных статей в области криптографии и криптоанализа.

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

Надо признать, что результат оправдал ожидания. Им стала про­ веденная в исследовательской лаборатории IBM Watson Research Lab разработка новой оригинальной архитектуры построения симмет­ ричных шифров на базе необратимых преобразований. Архитектура нового способа шифрования впоследствии была названа в классиче­ ской литературе архитектурой Файстеля (на данный момент в рус­ ской и зарубежной криптографии существует более устоявшийся

термин: сеть Файстеля или FeisteVs network. Позднее, в соответствии с разработанными Хорстом принципами, был сконструирован шифр Люцифер {Lucifer) - первый серьезный блочный шифр, описание ко­ торого появилось в открытой литературе и вызвало новую волну ин­ тереса специалистов к криптографии в целом.

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

Идея использования операции ИСКЛЮЧАЮЩЕЕ ИЛИ возник­ ла из классических примеров систем шифрования, а именно из идеи использовать самый простой с технической точки зрения способ шифрования - гаммирование. Стойкость такого способа, как извест­ но, зависит от свойств вырабатываемой гаммы. Следовательно, про­ цесс выработки гаммы - двоичной последовательности, которую за­ тем суммируют с открытым текстом, - является самым узким местом во всем способе.

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

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

Рис. 5. Сеть Файстеля с несколькими раундами

и

hIt

 

Уf

 

W i>

 

4 0

£/+1

R i+\

I 4,----- ■- ...........

 

Рис. 4. Архитектура сети Файстеля

На изображенной схеме (рис. 4) буквами Li и Rt обозначены ле­ вая и правая половинки исходных данных на i-м шаге последова­ тельного преобразования. Каждый такой целый шаг называют раун­ дом шифрования. Функция гаммирования обозначена через F,, по­ скольку на каждом раунде может быть использована своя собствен­ ная функция. Ключ также имеет индекс /, но уже в силу того, что ис­ ходный ключ к может быть преобразован некоторым образом (говорят: «развер­ нут») в последовательность итерацион­ ных ключей либо подключей, т.е. ключей, которые используются непосредственно функцией гаммирования.

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

чае есть уверенность, что каждая из половинок будет обработана одинаковое число раз. На схеме (рис. 5) отображена сеть Файстеля с четным числом раундов.

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

[А '-О = А >

U +, = A © n M 2)

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

 

зуется разбиение не на равные

 

половинки блока, а на участки

 

различной длины, функция гам-

 

мирования,

обозначенная бук­

 

в о й ^

может зависеть не от всех

 

битов

исходного блока данных

 

или иметь

разные зависимости

Рис. 6. Архитектура

в разных раундах (рис. 6 ).

Собственно говоря, разбалан­

разбалансированной сети

Файстеля

сированную сеть Файстеля можно

 

рассматривать как обобщение по­

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

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