А.В. Петраков - Основы практической защиты информации (1022811), страница 54
Текст из файла (страница 54)
Секретным был только ключ, с помощьюкоторого осуществляется кодирование и декодирование информации.Алгоритм DES базируется на научной работе Шеннона 1949 г., связавшей криптографию с теорией информации. Шеннон выделил дваобщих принципа, используемых в практических шифрах: рассеиваниеи перемешивание. Рассеиванием он назвал распространение влиянияодного знака открытого текста на множество знаков шифротекста, чтопозволяет скрыть статистические свойства открытого текста. Под перемешиванием Шеннон понимал использование взаимосвязи статистических свойств открытого и шифрованного текста. Однако шифр долженне только затруднять раскрытие, но и обеспечивать легкость шифрования и дешифрования при известном секретном ключе.
Поэтому была принята идея использовать произведение простых шифров, каждыйиз которых вносит небольшой вклад в значительное суммарное рассеивание и перемешивание.В составных шифрах в качестве элементарных составляющих чащевсего используются простые подстановки и перестановки.Подстановка относится к простейшим методам шифрования. Ключом является переставленный алфавит, буквами которого заменяют буквы нормального алфавита. Так, если букву А заменить на Б, Б на Ви т.д., то слово ОХРАНА будет выглядеть как ПЦСБОБ. Шифрованиепростой подстановкой на коротких алфавитах типа латинского и русского обеспечивает слабую защиту лежащего в основе открытого текста.Дело в том, что распределение частот появления отдельных символов воткрытом тексте сохраняется неизменным в шифротексте [10, 27].Однако если подстановка делается в очень большом алфавите, авероятность повторения каждого символа открытого текста в течениевремени использования одного ключа мала, то стилистические свойства шифра дают очень мало информации криптоаналитику и шифрстановится достаточно стойким.В случае перестановки переставляются не буквы алфавита, а буквы в сообщении открытого текста.
Распределение частот отдельных.····■245символов оказывается в шифрованном тексте таким же, что и в открытом тексте, однако распределения более высоких порядков оказываются перемешанными. В качестве примера рассмотрим перестановку, задаваемую таблицей:1624324 51 3б5При этом открытый текст разбивается на отдельные сообщения по бсимволов, и в каждом сообщении буквы переставляются следующим порядком: первый знак становится шестым, второй — четвертым и т.д.Тогда слово ОХРАНА преобразуется в ААХОРН.
Если к результатуперестановки применить описанную выше подстановку, получим ББЦПСО. При многократном чередовании простых перестановок и подстановок можно получить очень стойкий шифр (криптоалгоритм) с хорошимрассеиванием и перемешиванием.Стандарт шифрованных данных DES — один из наиболее удачныхпримеров криптоалгоритма, разработанного в соответствии с принципами рассеивания и перемешивания. В нем открытый текст, криптограмма и ключ являются двоичными последовательностями длиной соответственно Μ — 64, N = 64, К = 56 бит.
Криптоалгоритм DES представляет собой суперпозицию элементарных шифров, состоящую из 16последовательных шифроциклов, в каждом из которых довольно простые перестановки с подстановками в четырехбитовых группах. В каждом проходе используются лишь 48 бит ключа, однако они выбираютсявнешне случайным образом из полного 56-битового ключа.Алгоритм DES используется как для шифрования, так и для установления подлинности (аутентификации) данных.
Он способен функционировать в четырех основных режимах: электронной кодовой книги(ЕСВ), обратной связи по шифротексту (CFB), сцепления блоков шифра (СВС) и обратной связи по выходу (OFB). Каждому режиму свойственны свои преимущества и недостатки: режим ЕСВ хорошо подходитдля шифрования ключей; режим CFB обычно предназначается для шифрования отдельных символов; режим OFB нередко применяется дляшифрования в спутниковых системах связи.Режимы СВС и CFB пригодны для аутентификации данных.
Онипозволяют использовать алгоритм DES при обмене данными между терминалом и главной ЭВМ, шифрования криптографического ключа впроцедурах автоматизированного распределения ключей, шифрованияфайлов, почтовых отправлений, спутниковой информации и для рядадругих практических задач.Прошло уже более 20 лет с момента опубликования DES в открытойлитературе. Несмотря на интенсивные и тщательные исследования алгоритма специалистами, сообщений об его уязвимых местах не поступало.Единственное средство для его «взлома» — полный перебор ключей.Как уже упоминалось, это сделать весьма непросто: для проведения подобной силовой атаки, последовательно использующей каждый из почти1017 ключей, требуется специальная многопроцессорная ЭВМ.2467.5. ГОСТ 28147-89 — отечественный стандарт нашифрование данныхВ нашей стране установлен единый алгоритм криптографического преобразования данных для систем обработки информации в сетяхЭВМ, отдельных вычислительных комплексах и ЭВМ, который определяется ГОСТ 28X47-89 [32].Алгоритм криптографического преобразования данных предназначен для аппаратной или программной реализации, удовлетворяет криптографическим требованиям и не накладывает ограничений на степеньсекретности защищаемых сообщений (информации).
Из-за сложностиэтого алгоритма здесь будут приведены только основные его концепции.Чтобы подробно изучить алгоритм криптографического преобразования,следует обратиться к ГОСТ 28147-89 [39]. Приведенный ниже материалдолжен использоваться лишь как ознакомительный.При описании алгоритма приняты следующие обозначения.
Если Lи R —■- это последовательности бит, то LR будет обозначать конкатенацию последовательностей L и R. Под конкатенацией последовательнойL и R понимается последовательность бит, размерность которой равнасумме размерностей L и R. В этой последовательности биты последовательности R следуют за битами последовательности L. Конкатенациябитовых строк является ассоциативной, т.е.
запись ABCDE обозначает,что за битами последовательности А следуют биты последовательности В, затем Си т.д.Символом (+) обозначается операция побитового сложения по модулю 2, символом [+]. — операция сложения по модулю 2 32 двух 32разрядных чисел. Числа суммируются по следующему правилу:. А[+)В = А+В, если А + В < 232 А[+]В= А+В-232, если А + В > 232.Символом {+} обозначается операция сложения по модулю 232 —1 двух32-разрядных чисел. Правила суммирования чисел следующие:А{+}В -А+В, если А + В<2 32 -1;А{+}В = А+В-(232~ 1), если А + В ^ 232 - 1.Алгоритм криптографического преобразования предусматривает несколько режимов работы.
Но в любом случае для шифрования данныхиспользуется ключ, который имеет размерность 256 бит и представляется в виде восьми 32-разрядных чисел Х(г). Если обозначить ключчерез W, тоW - Х(7)Х(6)Х(5)Х(4)Х(3)Х(2)Х(1)Х(0).Расшифрование выполняется по тому же ключу, что и зашифрование,но этот процесс является инверсией процесса зашифрования данных.247Первый ц(1и самый простой режим —замена. Открытые данные, подлежащие зацы[^иФР0Ванию> разбивают на блоки по 64 бит в каждом, которыеможно, 0 обозначить T(j). Очередная последовательность бит T(j)разделяется н-1*на две nocnefl°BaTejibHOCTn 5(0) (левые или старшие биты) и А(0)(пра&ь/ ые или мла Д шие биты), каждая из которых содержит 32 бита. Затем квыполняется итеративный процесс шифрования, который описывается ^следующими формулами:при i = : 1. 2....... 24; j = (i-l)( mod8)'Α{ϊ) = f(A(i - l)[+] X(j)(+)B(i - I ) ) ; ' .·при i =B(i) = A(i-l);25, 26.......
3 1 ; j = 3 2 - iB(i) = A(i - 1);32при г5(32) = f(A(n)[+]X(0)(+)B(31)),,где г обозначав67 номеР итерации (г = 1,2,..., 32). Функция / называетсяфункцией ШЦ/'ФР06341151· ^е аргументом является сумма по модулю 232 числаА(г) h Полученного на предыдущем шаге итерации, и числа X(j) ключа(разм»^ е Р ность каждого из этих чисел равна 32 знакам).Функции ' шифрования включает две операции над полученной 32разрядной cvi/MWIOM· Первая операция называется подстановкой К. Блокподстановки » К состоит из восьми узлов замены К(1).. -^(8) с памятью64 бит каждь>ц1|й· Поступающий на блок подстановки 32-разрядный векторразбивается и^г восемь последовательно идущих 4-разрядных векторов,каждый из ц^оторых преобразуется в 4-разрядный вектор соответствующим узлом* замены, представляющим собой таблицу из шестнадцатиБцелых чиселДиапазоне 0 ...
15.Входной! вектор определяет адрес строки в таблице, число из которой являе-м'ся выходным вектором. Затем 4-разрядные выходные векторы последоЯвательно объединяются в 32-разрядный вектор. Таблицыблока подстд Энов ки К содержат ключевые элементы, общие для сетиЭВМ и редк^ изменяемые.Вторая <^ операция — циклический сдвиг влево 32-разрядного вектора получение-!'01"0 в РезУльтате подстановки К. 64-разрядный блок зашифрованных ^(Данных Тш представляется в виде:Тш =248~WОстальные блоки открытых данных в режиме простой замены зашифровываются аналогично.Следует иметь в виду, что режим простой замены допустимо использовать для шифрования данных только в ограниченных случаях.К этим случаям относится выработка ключа и зашифрование его собеспечением имитозащиты для передачи по каналам связи или хранения в памяти ЭВМ.Следующий режим шифрования называется режимом гаммироваиия. Открытые данные, разбитые на 64-разрядные блоки Т(г) (г = 1,? , . .
. , т, где т определяется объемом шифруемых данных), зашифровываются в режиме гаммирования путем поразрядного сложения по модулю 2 с гаммой шифра Гш, которая вырабатывается блоками по 64 бит,т.е.Число двоичных разрядов в блоке Т(т) может быть меньше 64, приэтом неиспользованная для шифрования часть гаммы шифра из блока Г(т) отбрасывается.Уравнение зашифрования данных в режиме гаммирования можетбыть представлено в следующем виде:ПГ(0 = A(Y(i - 1)[+]С 2> Z(i - l){+}Ci(+)T(i)) = Γ(Ϊ)(+)Τ(Ϊ).В этом уравнении Ш(г) обозначает 64-разрядный блок зашифрованноготекста; А(-) — функцию шифрования в режиме простой замены (аргументами этой функции являются два 32-разрядных числа); С% и С-ц —константы, заданные в обязательном приложении 2 к ГОСТ 28147-89.Величины Υ(·.) и Ζ(-) определяются итерационно по мере формирования гаммы следующим образом:где S — 64-разрядная двоичная последовательность (синхропосылка);(У(i), Z(i)) = Y(iгде г =1, 2,..., т.Расшифрование данных возможно только при наличии синхропо< ылки, которая не является секретным элементом шифра и может храниться в памяти ЭВМ или передаваться по каналам связи вместе с зашифрованными данными.Режим гаммирования с обратной связью очень похож на режим гаммирования.
Как и в режиме гаммирования, открытые данные, разбитые на 64-разрядные блоки Т(г) (г = 1, 2........го, где т определяетсяобъемом шифруемых данных), зашифровываются путем поразрядного■ ' . - ■ ■ . ·249·сложения по модулю 2 с гаммой шифра Г шблоками по 64 бит:которая вырабатываетсяЧисло двоичных разрядов в блоке Т(го) может быть меньше 64, приэтом неиспользованная для шифрования часть гаммы шифра из блока Г(т) отбрасывается.Уравнение зашифрования данных в режиме гаммирования с обратной связью для i = 2 , 3 , .