Главная
страница 1страница 2страница 3
1. Принципы криптографической защиты информации.
В настоящее время проблема обеспечения безопасности информации в корпоративных телекоммуникационных сетях может быть успешно решена с помощью криптографических методов преобразования информации. Криптографическое преобразование защищаемых данных является не только универсальным способом их защиты, но и может эффективно использоваться при решении задач установления подлинности пользователей и данных, предупреждения несанкционированного доступа (НСД) к сообщениям, циркулирующим в сетях, обеспечения электронной цифровой подписи (ЭЦП) и т.д. [1, 2].

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

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

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

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

Криптографическая система — это совокупность криптоалгоритмов, протоколов и процедур управления ключами.


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

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

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

Cхему шифрования в этом случае можно представить следующим образом:



Y=EZ(X);

Х = DZ(Y) = DZ(ЕZ(Х)),

где Х,Y — открытый текст и шифртекст соответственно; EZ, DZ, — функции шифрования и расшифрования соответственно, с ключом Z.

Для взаимной однозначности шифрования и расшифрования необходимо, чтобы выполнялось равенство DZEZ=e, где e – единичное преобразование.

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

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

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

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

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

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

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

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


  1. сложность дискретного логарифмирования;

  2. сложность разложения целых чисел;

  3. сложность декодирования произвольного линейного кода.


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

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

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

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

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

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


  1. электронная кодовая книга ECB (Electronic Code Book);

  2. сцепление блоков шифра CBC (Cipher Block Chaining);

  3. обратная связь по шифртексту CFB (Cipher Feed Back);

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

Это блочный алгоритм, обрабатывающий блоки по 64 бит под управлением 256-ти битного ключа [15]. Он представляет собой 32-раундовую сеть Фейстеля с тридцатью двумя раундовыми подключами. Структура одного раунда алгоритма ГОСТ 28147-89 представлена на рис. 2.

Распределение подключей между раундами организуется следующим образом. Исходный секретный ключ длиной 256 бит делится на 32-х битные подключи K0, K1,…, K7, которые в раундах шифрования с 1 по 32 используются в следующем порядке K0, K1,…, K7, K0, K1,…, K7, K0, K1,…, K7, K7, K6,…, K0.

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



  1. простой замены (ECB);

  2. гаммирования;

  3. гаммирования с обратной связью (CBC);

  4. выработки имитовставки.

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

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

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

Режим выработки имитовставки предназначен для обнаружения случайных и преднамеренных ошибок при передаче зашифрованных данных и одинаков для любого из рассмотренных выше режимов шифрования открытой информации. Имитовставка представляет собой дополнительный l битный блок информации U, который формируется либо перед шифрованием всего сообщения, либо совместно с шифрованием по блокам. Число бит l определяется исходя из вероятности возникновения ложной информации p=2-l. Процесс формирования имитовставки осуществляется следующим образом. Первый блок открытой информации подвергается 16-ти раундам преобразования в режиме простой замены. Результат шифрования суммируется по модулю два со вторым блоком открытой информации. Далее результат суммирования опять подвергается 16-ти раундовому шифрованию и суммируется по модулю 2 с третьим блоком открытой информации и т. д. Из полученного после последнего шага криптопреобразования блока криптограммы выбирается имитовставка длиной l бит (обычно 32 бита).

Имитовставка передается в конце зашифрованных данных или после каждого зашифрованного блока информации. На приемном конце после расшифрования криптограммы из полученных блоков информации вырабатывается имитовставка, которая сравнивается с имитовставкой, полученной по каналу связи. В случае их несовпадения, расшифрованная информация считается ложной.
2.3. Алгоритмы шифрования данных RC5, RC6.
Данные алгоритмы разработаны корпорацией RSA Data Security как альтернатива стандарту шифрования данных DES. Их основное отличие – отказ от S – блоков. Вместо них в качестве нелинейных операций используются операции управляемого циклического сдвига, зависящие от секретного ключа и преобразуемых данных. Использование операций циклического сдвига позволяет в несколько раз повысить скорость обработки информации. Это обусловлено тем, что они являются стандартными операциями микропроцессоров и естественно допускают эффективную программную реализацию.

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



  1. Установить счетчик и число раундов шифрования R и выполнить преобразование:

A:=(A+Q0) mod 2b;

B:=(B+Q1) mod 2b;

  1. Преобразовать:

A:={[(AB)<<<B]+Q2i} mod 2b;

B:={[(BA)<<<A]+Q2i+1} mod 2b;

  1. Если iR, то прирастить i=i+1 и перейти к шагу 2.

  2. Стоп.

Выход: преобразованное значение подблоков A и В.

В приведенном алгоритме b - это длина подблоков в битах, R - число раундов шифрования, - сложение по модулю 2, <<< - циклический сдвиг влево на количество бит, указанное справа, Qi - значение b - битного подключа. Типичной является модификация алгоритма с параметрами b=32, R=12, К=128 бит, где К - это значение секретного ключа из которого формируются подключи Qi.

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

Алгоритм RC6 предложен в качестве кандидата на новый стандарт шифрования данных США [10]. Его основное отличие от предыдущего алгоритма RC5 состоит в том, он работает с четырьмя 32-х битными регистрами (A, B, C, D) вместо двух, то есть длина обрабатываемого блока информации составляет 128 бит. Алгоритм интерпретирует четыре слова как две пары (A, B), (C, D) и переставляет их на последнем шаге каждого цикла по правилу (А, В, С, D)=(B, C, D, A), тем самым, перемешивая их. Заметную часть криптографической сложности алгоритма составляют, как и в RC5, операции управляемого циклического сдвига, зависящие от данных и секретного ключа.

Алгоритм имеет следующую структуру:

Вход: исходное значение регистров (A, B, C, D), подключи K0K2R+1.



  1. B:=(B+K0) mod 232;

  2. D:=(D+K) mod 232;

  3. i:=1;

  4. t:=(B(2B+1)) <<< 5;

  5. u:=(D(2D+1)) <<< 5;

  6. A:=(((A t) <<< u) + K2i) mod 232;

  7. C:=(((C t) <<< t) + K2i+1) mod 232;

  8. (A, B, C, D):=(B, C, D, A);

  9. Если i < r, то присвоить i:=i+1 и вернуться к шагу 4;

Выход: преобразованное значение регистров (A, B, C, D).

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

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

Процедура генерации раундовых подключей.

Пусть P=B7E15163 и Q=9E3779B9 – шестнадцатиричное представление чисел e-2 и , соответственно. Представим ключ в виде массива W из w слов по 32 бита, дополняя последние слова нулями, если это необходимо. Тогда ключи порождаются следующим образом:

K0:=P;

for i:=1 to 2r+3 do

Ki:=( Ki-1+Q) mod 232

i=j=A=B=0

v:=3*max(w, 2r+4)

for s:=1 to v do

{A:=Ki:=(Ki+A+B) <<<3

B:=Wj:=( Wj +A+B) <<<(A+B)

i:=(i+1) mod 2(r+1)

j:=(j+1) mod w }.

Стойкость RC6 состоит в устойчивости по отношению к разностному и линейному методам криптоанализа, которая обеспечивается зависищями от данных операциями циклического сдвига и рассеиванием, порождаемым квадратичной функцией вида f(x)=x(2x+1).


2.4. Алгоритм шифрования данных Rijndael.
Этот алгоритм стал победителем конкурса на новый стандарт шифрования данных в США [11].

Пусть конечное поле GF(28) определяется неразложимым многочленом вида x8+x4+x3+x+1. Будем рассматривать 128 бит = 16 байт как набор элементов этого поля. Данные располагаются в массивы размера 4x4, состоящем из элементов поля GF(28). Алгоритм выполняется за 10 раундов, каждый из которых состоит из четырех операций, называемых ByteSub (замена байтов), ShiftRow (сдвиг строк), MixColumn (перемешивание столбцов) и AddRoundKey (прибавление раундового ключа). В последнем цикле операция MixColumn не выполняется. Элементы в массиве нумеруются начиная с нулевого. Операция ByteSub состоит из двух шагов:

а) Каждый элемент массива заменяется его мультипликативным обратным в поле GF(28), причем 0 отображается в себя.

б) К массиву применяется фиксированное аффинное отображение над GF(28).

Затем операция ShiftRow циклически сдвигает элементы i й строки массива на i позиций вправо.

Далее в операции MixColumn столбцы массива рассматриваются как многочлены над GF(28) (например, столбец A=(a0,i, a1,i, a2,i, a3,i) отождествляется с многочленом a3,ix3+a2,ix2+a1,ix+a0,i) и их умножение по модулю многочлена x4+1 на многочлен 03x3+01x2+01x+02 дает элементы нового 4x4 массива B (так, bi,0 – свободный член произведения a3,ix3+a2,ix2+ a1,ix+a0,i и 03x3+01x2+01x+02 по модулю x4+1, элемент bi,1 – коэффициент при x1 и т.д.). Операция MixColumn рассеивает биты каждого элемента массива по столбцу.

AddRoundKey осуществляет операцию XOR между раундовым ключом (порождаемым процедурой генерации подключей) и элементами массива.

Большое преимущество данного алгоритма состоит в том, что он имеет много возможностей для распараллеливания выполнения отдельных операций. Так в ByteSub и AddRoundKey операции над байтами можно выполнять независимо, а в ShiftRow и MixColumn можно независимо выполнять операции над строками и столбцами.

Нелинейные S – преобразователи (в операции ByteSub) спроектированы для повышения устойчивости к дифференциальному криптоанализу. Они обратимы и минимизируют корреляцию между линейными комбинациями выходных битов. Операция MixColumn увеличивает рассеивание.

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




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

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

Кроме того, алгоритм обладает свойством дополнения, а именно, если x, z – открытый блок данных и ключ соответственно, то имеет место равенство , где .

Таблица 1



Алгоритм шифрования

Размер ключа, бит

Длина блока, бит

Число раундов

Основные используемые операции

ГОСТ

256

64

32


Сложение по модулю 232, подстановка, циклический сдвиг, сложение по модулю 2

Rijndael

192

128

10


Сложение, умножение многочленов, циклический сдвиг, сложение по модулю 2

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

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

В алгоритме FEAL операции сложения по модулю 2 и 256 различаются только переносом. Поэтому нелинейность оператора FEAL мала. Это обуславливает уязвимость FEAL к дифференциальному [13] и линейному методам криптоанализа [14]. Стойкость FEAL падала значительно быстрее чем стойкость DES. Ключ 8-ми циклового алгоритма FEAL раскрывается дифференциальным методом с помощью 2000 подобранных открытых текстов на персональном компьютере всего за две минуты.

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

Алгоритм шифрования ГОСТ 28147-89 использует в отличие от DES не фиксированные блоки подстановки, которые являются секретным параметром. Длина ключа гораздо больше – 256 бит, что делает абсолютно невозможной атаку перебором. Механизмы рассеивания в данном алгоритме и в алгоритме DES существенно различаются. В ГОСТ 28147-89 рассеивание достигается сложением по модулю 232, подстановкой и сдвигом, а в DES – перестановкой бит в блоке и подстановкой. Для повышения стойкости к дифференциальному и линейному методам криптоанализа, желательно выбирать экстремальные подстановки с нелинейностью 4 и рассеванием 1 [15]. Кроме того, наиболее вероятная разность двух выходов подстановки по модулю 2, при фиксированной разности входов должна иметь малую вероятность. В работе [16] показано, что криптоанализ усеченного 24-циклового ГОСТ 28147-89 превышает 254 для случайного блока подстановки.

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

Для алгоритма Blowfish существуют слабые ключи (S-блоки, в которых есть одинаковые слова), использование которых приводит к тому, что дифференциальный криптоанализ позволяет восстановить массив подключей для 8 циклов с помощью 223 выбранных открытых текстов, а для 16 циклов с помощью 3*251 выбранных открытых текстов. Если слабые ключи не используются, то для 8 циклов шифрования восстановить массив подключей можно с помощью 248 выбранных открытых текстов [17].


следующая страница >>
Смотрите также:
1. Принципы криптографической защиты информации
647.68kb.
3 стр.
Средство Криптографической Защиты И
129.86kb.
1 стр.
Опыт создания средств защиты информации на различных платформах
30.02kb.
1 стр.
Программные средства защиты информации
22.33kb.
1 стр.
Технологии защиты информации в сети Курс лекций
1797.21kb.
11 стр.
Практическая работа по созданию систем и средств защиты информации. В программе работы школы: Изучение основ защиты информации
20.14kb.
1 стр.
Лекция Защита информации. Этапы развития средств защиты информации
211.34kb.
1 стр.
Программа вступительного экзамена в аспирантуру по специальности 05. 13. 19 методы и системы защиты информации, информационная безопасность, технические науки
139.47kb.
1 стр.
Правовая охрана программ и данных. Защита информации Правовая охрана информации
57.51kb.
1 стр.
Понятие безопасности компьютерной информации. Объекты и элементы защиты данных в компьютерных системах
33.93kb.
1 стр.
1. принципы бухгалтерского учета сущность и основные задачи бухгалтерского учета. Пользователи информации бухгалтерского учета и их потребности в информации. Объекты бухгалтерского учета и их классификация. Основные принципы до
453.39kb.
1 стр.
Выписка из перечня средств защиты информации, сертифицированных фсб россии
2271.56kb.
14 стр.