Обеспечение информационной безопасности информационно-технологической инфраструктуры электронного правительства в Кыргызской Республике

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

Рубрика Программирование, компьютеры и кибернетика
Вид магистерская работа
Язык русский
Дата добавления 16.05.2015
Размер файла 2,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

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

Процедура расшифрования выполняется в обратном порядке:

Р = DK (Ек (DK (О)),

то есть блок шифртекста С сначала расшифровывается ключом К, затем зашифровывается ключом К и окончательно расшифровывается ключом К. Если исходный блочный алгоритм имеет 2n-битовый ключ, то схема трехкратного шифрования имеет 2я-битовый ключ. Чередование ключей К и К позволяет предотвратить криптоаналитическую атаку "человек в середине". Данная схема приводится в стандартах ХЭЛ 7 и ISO 8732 в качестве средства улучшения характеристик алгоритма DES.

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

С = Ек (DK (Ек (Р))),

P =DKСEK(DK(C))).

Рис. 2.4. Схемы трехкратного применения блочного алгоритма симметричного шифрования с двумя различными ключами

Трехключевой вариант имеет еще большую стойкость. Алгоритм 3DES (Triple DES - тройной DES) используется в ситуациях, когда надежность алгоритма DES считается недостаточной. Чаще всего используется вариант шифрования на трех ключах: открытый текст шифруется на первом ключе, полученный шифртекст - на втором ключе и наконец, данные, полученные после второго шага, шифруются на третьем ключе. Все три ключа выбираются независимо друг от друга. Этот криптоалгоритм достаточно стоек ко всем атакам. Применяется также каскадный вариант 3DES. Это стандартный тройной DES, к которому добавлен такой механизм обратной связи, как СВС, OFB или СЕВ.

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

Данные, подлежащие зашифрованию, разбивают на 64-разрядные блоки. Эти блоки разбиваются на два субблока N1 и N2 по 32 бит (рис. 2.5).

Рис. 2.5. Схема алгоритма ГОСТ 28147-89

Субблок N1 обрабатывается определенным образом, после чего его значение складывается со значением субблока N2 (сложение выполняется по модулю 2, то есть применяется логическая операция xor - исключающее ИЛИ), а затем субблоки меняются местами. Данное преобразование выполняется определенное число раз (раундов): 16 или 32 в зависимости от режима работы алгоритма. В каждом раунде выполняются следующие операции.

Первая операция - наложение ключа. Содержимое субблока N1 складывается по модулю 232 с 32-битовой частью ключа Кх. Полный ключ шифрования представляется в виде конкатенации 32-битовых подключей: КО, К1, К2, КЗ, К4, К5, К6, К7. В процессе шифрования используется один из этих подключей - в зависимости от номера раунда и режима работы алгоритма.

Вторая операция - табличная замена. После наложения ключа субблок N1 разбивается на 8 частей по 4 бита, значение каждой из которых заменяется в соответствии с таблицей замены для данной части субблока. Затем выполняется побитовый циклический сдвиг субблока влево на 11 бит.

Табличные замены. Блок подстановки S-box (Substitution box) часто используются в современных алгоритмах шифрования, поэтому стоит пояснить, как организуется подобная операция. Блок подстановки S-box состоит из восьми узлов замены (S'-блоков замены) S, S,..., S с памятью 64 бит каждый. Поступающий на блок подстановки S 32-битовый вектор разбивают на восемь последовательно идущих 4-битовых векторов, каждый из которых преобразуется в 4-битовый вектор соответствующим узлом замены. Каждый узел замены можно представить в виде таблицы-перестановки шестнадцати 4-битовых двоичных чисел в диапазоне 0000-1111. Входной вектор указывает адрес строки в таблице, а число в этой строке является выходным вектором. Затем 4-битовые выходные векторы последовательно объединяют в 32-битовый вектор. Узлы замены (таблицы-перестановки) представляют собой ключевые элементы, которые являются общими для сети ЭВМ и редко изменяются. Эти узлы замены должны сохраняться в секрете.

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

· К0, К1, К2,К3, К4, К5, К6, K7, К0, К1 и т.д. - в раундах с 1-го по 24-й;

· К7, К6, К5,К4, К3, К2, К1, К0 - в раундах с 25-го по 32-й.

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

· К0, К1, К2,К3, К4, К5, К6, К7 - в раундах с 1-го по 8-й;

· К1, К6, К5,К4, К3, К2, К1, К0, К7, К6 и т.д. в раундах с 9-го по 32-й.

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

1. В регистры N1 и N2 записывается их начальное заполнение - 64-битовая величина, называемая синхропосылкой.

2. Выполняется зашифрование содержимого регистров N1 и N2 (в данном случае синхропосылки) в режиме простой замены.

3. Содержимое регистра N1 складывается по модулю (232-1) с константой С1=224+216+28+24 результат сложения записывается в регистр N1.

4. Содержимое регистра N2 складывается по модулю 232 с константой С2=224+216+28+1, а результат сложения записывается в регистр N2.

5. Содержимое регистров N1 и N2 подается на выход в качестве 64-битового блока гаммы шифра (в данном случае N1 и N2 образуют первый блок гаммы).

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

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

Таблица 2.2.

Зашифрование и расшифрование в режиме гаммирования

Операция

Результат

Исходный текст

Исходный текст

XOR

=

XOR

100100

111000

011100

111000

100100

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

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

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

Рис. 2.6. Выработка шифра в режиме гаммированя с обратной связью

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

Размер имитоприставки выбирается исходя из требуемой достоверности сообщений: при длине имитоприставки r бит вероятность, что изменение сообщения останется незамеченным, равна 2r

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

Американский стандарт шифрования AES. В 1997 году Американский институт стандартизации NIST (National Institute of Standards & Technology) объявил конкурс на новый стандарт симметричного криптоалгоритма, названного AES (Advanced Encryption Standard). К его разработке были подключены самые крупные центры криптологии со всего мира.

Алгоритм AES не похож на большинство известных алгоритмов симметричного шифрования, структура которых носит название сети Фейстеля и аналогична российскому ГОСТ 28147-89. В отличие от отечественного стандарта шифрования, алгоритм AES представляет каждый блок обрабатываемых данных в виде двухмерного байтового массива размером 4x4, 4x6 или 4x8 в зависимости от установленной длины блока (допускается использование нескольких фиксированных размеров шифруемого блока информации). Далее на соответствующих этапах производятся преобразования либо над независимыми столбцами, либо над независимыми строками, либо вообще над отдельными байтами. [9, 10].

Алгоритм AES состоит из определенного количества раундов (от 10 до 14 - это зависит от размера блока и длины ключа) и выполняет четыре преобразования:

· BS (ByteSub) - табличная замена каждого байта массива (рис. 2.7);

· SR (ShiftRow) - сдвиг строк массива (рис. 2.8). При этой операции первая строка остается без изменений, а остальные циклически побайтно сдвигаются влево на фиксированное число байтов, зависящее от размера массива. Например, для массива размером 4x1 строки 2, 3 и 4 сдвигаются соответственно на 1, 2 и 3 байта;

· МС (MixColumn) - операция над независимыми столбцами массива (рис. 2.9), когда каждый столбец по определенному правилу умножается на фиксированную матрицу с(х) ;

· АК (AddRoundKey) - добавление ключа. Каждый бит массива складывается по модулю 2 с соответствующим битом ключа раунда, который, в свою очередь, определенным образом вычисляется из ключа шифрования (рис.2.10).

Эти преобразования воздействуют на массив state, который адресуется с помощью указателя 'state'. Преобразование AddRoundKey использует дополнительный указатель для адресации ключа раунда Round Key.

Преобразование BS (ByteSub) является нелинейной байтовой подстановкой, которая воздействует независимо на каждый байт массива state, используя таблицу замен (подстановок) S-box.

Рис. 2.7. Преобразование BS(ByteSub) использует таблицу замен (подстановок) для обработки каждого байта массива

Рис. 2.8. Преобразование SR(ShiftRow) циклически сдвигает три последние строки в массиве.

Рис. 2.9. Преобразование MC(MixColumn) Поочередно обрабатывает столбцы массива.

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

АК, {BS, SR, МС, АК} (повторяется R - 1 раз), BS, SR, АК.

Количество раундов шифрования R в алгоритме AES переменное (10, 12 или 14 раундов) и зависит от размеров блока и ключа шифрования (для ключа также предусмотрено несколько фиксированных размеров).

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

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

· Обратная операция к SR - это циклический сдвиг строк вправо, а не влево.

· Обратная операция для МС - умножение по тем же правилам на другую матрицу d(x), удовлетворяющую условию

с(х) * d(x) = 1.

· Добавление ключа АК является обратным самому себе, поскольку в нем используется только операция XOR.

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

Рис. 2.10. Преобразование AK(AddRoundKey) производит сложение.

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

Рис. 2.11. Порядок преобразований.

Алгоритм Rijndael стал новым стандартом шифрования данных AES благодаря целому ряду преимуществ перед другими алгоритмами.

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

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

Другие симметричные криптоалгоритмы.

Алгоритм IDEA (International Data Encryption Algorithm) - еще один 64-битовый блочный шифр с длиной ключа 128 бит. Этот европейский стандарт криптоалгоритма предложен в 1990 году.

Алгоритм IDEA по скорости не уступает алгоритму DES, а по стойкости к криптоанализу превосходит DES.

Алгоритм RC2 представляет собой 64-битовый блочный шифр с ключом переменной длины. Этот алгоритм приблизительно в 2 раза быстрее, чем DES. Может использоваться в тех же режимах, что и DES, включая тройное шифрование. Владельцем алгоритма является компания RSA Data Security.

Алгоритм RC5 представляет собой быстрый блочный шифр, который имеет размер блока 32, 64 или 128 бит, ключ длиной от 0 до 2048 бит. Алгоритм выполняет от 0 до 255 проходов. Алгоритмом владеет компания RSA Data Security.

Алгоритм Blowfish - это 64-битовый блочный шифр, имеет ключ переменного размера до 448 бит, выполняет 16 проходов, на каждом проходе осуществляются перестановки, зависящие от ключа, и подстановки, зависящие от ключа и данных.

Этот алгоритм быстрее алгоритма DES.

2.1.2 Асимметричные криптосистемы шифрования

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

· открытый ключ К: используется для шифрования информации, вычисляется из секретного ключа k;

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

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

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

Рис. 2.12. Схема ассиметричной криптосистемы.

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

· Подготовительный этап. Абонент В генерирует пару ключей: секретный ключ kB и открытый ключ Кв. Открытый ключ Кв посылается абоненту А и остальным абонентам (или делается доступным, например, на разделяемом ресурсе).

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

Абонент В расшифровывает сообщение с помощью своего секретного ключа kB. Никто другой (в том числе абонент А) не может расшифровать данное сообщение, так как не имеет секретного ключа абонента В.

Защита информации в асимметричной криптосистеме основана на секретности ключа kB получателя сообщения.

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

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

· исчезает квадратическая зависимость числа ключей от числа пользователей; в асимметричной криптосистеме количество используемых ключей связано с количеством абонентов линейной зависимостью (в системе из N пользователей используется 2 х N ключей), а не квадратической, как в симметричных системах

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

Однако у асимметричных криптосистем существуют и недостатки:

· на настоящий момент нет математического доказательства необратимости используемых в асимметричных алгоритмах функций;

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

· необходимо защищать открытые ключи от подмены.

Алгоритм шифрования RSA. Криптоалгоритм RSA предложили в 1978 году три автора: Р. Райвест (Rivest), А. Шамир (Shamir) и А. Адлеман (Adleman).

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

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

В алгоритме RSA открытый ключ Кв, секретный ключ k,h сообщение М и криптограмма С принадлежат множеству целых чисел:

ZN = {0, 1, 2,…,N-1}, где N - модуль: N= PQ.

Здесь Р и Q - случайные большие простые числа. Для обеспечения максимальной безопасности выбирают Р и Q равной длины и хранят в секрете. Множество ZN с операциями сложения и умножения по модулю N образует арифметику по модулю N. Открытый ключ Кв выбирают случайным образом так, чтобы выполнялись следующие условия:

1 < Кв(N), НОД (Кв, (N)) = 1

(N)=(P-1)(Q-1),

где (N) - функция Эйлера.

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

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

Далее, используя расширенный алгоритм Евклида, вычисляют секретный ключ kB, такой, что

kBKB = 1(mod (N)) или

kB = KB (mod (Р- 1)(Q - 1)).

Это можно осуществить, так как получатель В знает пару простых чисел (Р, Q) и может легко найти (N).

Заметим, что kB и N должны быть взаимно простыми.

Открытый ключ Кв используют для шифрования данных, а секретный ключ kB - для расшифрования.

Процедура шифрования определяет криптограмму С через пару (открытый ключ Кв, сообщение М) в соответствии со следующей формулой:

С - ЕК (М) = МK(mod N).

В качестве алгоритма быстрого вычисления значения С используют ряд последовательных возведений в квадрат целого М и умножений на М с приведением по модулю N.

Расшифрование криптограммы С выполняют, используя пару (секретный ключ kB, криптограмма С) по следующей формуле:

М = Dk(C) = СK(mod N)

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

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

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

Для различных реализаций используются эллиптические кривые двух видов:

· эллиптическая кривая в конечном поле Fp, где р - простое число, р>3;

· эллиптическая кривая в конечном поле Fm2.

Эллиптическая кривая в конечном поле Fp. Пусть задано простое число р > 3. Тогда эллиптической кривой Е, определенной над конечным простым полем Fp, называется множество пар чисел (х,у), xFp, уFp, удовлетворяющих тождеству:

y2х3 + ax + b(mod р) (*),

где a, b Fp и 4a3+ 27b2 не сравнимо с нулем по модулю р.

Инвариантом эллиптической кривой называется величина J(E), удовлетворяющая тождеству

Коэффициенты а, b эллиптической кривой Е по известному инварианту J(E) определяются следующим образом:

Пары (х, у), удовлетворяющие тождеству (*), называются точками эллиптической кривой Е ;х и у - соответственно х- и y-координатами точки.

Точки эллиптической кривой будем обозначать Q(x, у) или просто Q. Две точки эллиптической кривой равны, если равны их соответствующие х- и y -координаты. На множестве всех точек эллиптической кривой Е введем операцию сложения, которую будем обозначать знаком +. Для двух произвольных точек Q1 (х1, y1) и Q2(х2, у2) эллиптической кривой Е рассмотрим несколько вариантов.

Пусть координаты точек Q1 и Q2 удовлетворяют условию х^х2- В этом случае их суммой будем называть точку Q3(х3, у3), координаты которой определяются сравнениями

Если выполнены равенства х1=х2 и y1=у20, то определим координаты точки Q3, следующим образом:

В случае когда выполнено условие х1 = х2 и у1 = -y2(mod р), сумму точек Q1 и Q2 будем называть нулевой точкой О, не определяя ее х- и y-координаты. В этом случае точка Q2 называется отрицанием точки Q1,. Для нулевой точки О выполнены равенства:

Q+О=О+Q=Q

где Q - произвольная точка эллиптической кривой Е.

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

Точка Q называется точкой кратности k, или просто кратной точкой эллиптической кривой Е, если для некоторой точки Р выполнено равенство:

Эллиптическая кривая в конечном поле F2 определяется соотношением при ненулевом b.

у2 + ху = х3 + ах2 + b

Эллиптической кривой E(F2m) является группа решений (х, у), хF2m, уF2m, приведенного выше соотношения при определенных значениях а и b, а также нулевая точка О.

Аналогично группе эллиптической кривой E(FP), множество всех точек эллиптической кривой E(F2m) вместе с нулевой точкой образуют конечную абелеву группу.

С помощью описанных выше правил сложения можно вычислить точку kP для любого целого числа k и любой точки Р эллиптической кривой.

Однако решение обратной задачи - нахождение числа k по известным точкам Р и kP - является слишком трудным.

Данную задачу называют проблемой дискретного логарифма эллиптической кривой ECDLP (Elliptic Curve Discrete Logariphm Problem).

Решение проблемы ECDLP является значительно более сложным, чем проблемы дискретного логарифмирования (нахождение числах по заданному числу у = gr mod р при известных основании g и модуле р), на которой базируются RSA-подобные асимметричные криптосистемы.

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

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

Например, ключу размером 1024 бит алгоритма DSA соответствует по криптостойкости ключ размером 160 бит алгоритма ECDSA (DSA на эллиптических кривых).

Существует несколько реализаций известных криптоалгоритмов на базе эллиптических кривых (стандартизованы в IEEE Р1363).

Алгоритм ассиметричного шифрования ECES.

В алгоритме ECES (Elliptic Curve Encryption Scheme) сначала должны быть определены следующие параметры, являющиеся открытой информацией, общей для всех пользователей системы [13, 17]:

· конечное поле Fq;

· эллиптическая кривая E(Fq);

· большой простой делитель количества точек кривой п;

· точка Р, координаты которой должны иметь тот же порядок, что и число п.

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

· выбирается случайное целое число d, 1< d <п-1

· вычисляется точка Q = dP.

Секретным ключом пользователя является число d, открытым ключом - точка Q

Зашифрование сообщения (пользователь А шифрует сообщение М для пользователя В):

· сообщение разбивается на блоки Мi, которые определенным образом дополняются слева (длина каждого блока равна 2L - 16 бит, где L равно ближайшему большему целому от log2 q);

· полученный блок разбивается на две части равной длины: т i1 и тi2;

· выбирается случайное целое число k, \ < k < п-1

· вычисляется точка {х1 у1,) = kP,

· вычисляется точка (х2, у2) = kQB,

· с помощью определенного преобразования из т i1 и тi2 и х2 получают с1 и с2;

· зашифрованные данные: (х1, у1, с1, с2).

Расшифрование сообщения (пользователь В расшифровывает полученное от пользователя A зашифрованное сообщение):

· вычисляется точка (х2, у2) = d(x1,y1);

· восстанавливается исходное сообщение mi1 тi2 из с1, с2 и х2.

2.1.3 Функция хэширования

Функция хэширования (хэш-функция) представляет собой преобразование, на вход которого подается сообщение переменной длины М, а выходом является строка фиксированной длины h(M).

Иначе говоря, хэш-функция h( ) принимает в качестве аргумента сообщение (документ) М произвольной длины и возвращает хэш значение (хэш) H = h(M) фиксированной длины (рис. 2.13).

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

Функция хэширования позволяет сжать подписываемый документ М до 128 бит и более (в частности, 128 или 256 бит), тогда как М может быть размером в мегабайт или более.

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

Функция хэширования должна обладать следующими свойствами:

Хэш-функция может быть применена к аргументу любого размера.

Выходное значение хэш-функции имеет фиксированный размер.

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

Рис. 2.13. Схема формирования хэша H=h(M)

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

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

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

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

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

Известные функции хэширования:

· отечественный стандарт ГОСТ Р34.11-94 [14]. Вычисляет хэш размером 32 байт;

· MD (Message Digest) - ряд алгоритмов хэширования, наиболее распространенных в мире. Каждый из них вырабатывает 128-битовый хэш-код. Алгоритм MD2 - самый медленный из них, MD4 - самый быстрый. Алгоритм MD5 является модификацией MD4, при которой пожертвовали скоростью ради увеличения безопасности. Алгоритм MD5 применяется в последних версиях Microsoft Windows для преобразования пароля пользователя в 16-байтовое число [11,15];

· SHA (Secure Hash Algorithm) - это алгоритм вычисления дайджеста сообщений, вырабатывающий 160-битовый хэш-код входных данных. Широко распространен в мире, используется во многих сетевых протоколах защиты информации.

Отечественный стандарт хэширования ГОСТ Р 34.11-94

Отечественным стандартом генерирования хэш-функции является алгоритм ГОСТ Р34.11-94. Этот стандарт является обязательным для применения в качестве алгоритма хэширования в государственных организациях РФ и ряде коммерческих организаций. Коротко данный алгоритм хэширования можно описать следующим образом [16] (рис. 2.14).

Рис. 2.14. Хэширование по алгоритму ГОСТ Р 34.11-94

Шаг 1. Инициализация регистра хэш-значения. Если длина сообщения не превышает 256 бит - переход к шагу 3, если превышает - переход к шагу 2.

Шаг 2. Итеративное вычисление хэш-значения блоков хэшируемых данных по 256 бит с использованием хранящегося в регистре хэш-значения предыдущего блока. Вычисление включает в себя следующие действия:

· генерацию ключей шифрования на основе блока хэшируемых данных;

· зашифрование хранящегося в регистре хэш-значения в виде четырех блоков по 64 бит по алгоритму ГОСТ 28147-89 в режиме простой замены;

· перемешивание результата.

Вычисление производится до тех пор, пока длина необработанных входных данных не станет меньше или равной 256 бит. В этом случае - переход к шагу 3.

ШагЗ. Дополнение битовыми нулями необработанной части сообщения до 256 бит. Вычисление хэш-значения аналогично шагу 2. В результате в регистре оказывается искомое хэш-значение.

2.1.4 Электронная цифровая подпись

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

Целью аутентификации электронных документов является их защита от возможных видов злоумышленных действий, к которым относятся:

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

· маскарад - абонент С посылает документ абоненту В от имени абонента А;

· ренегатство - абонент А заявляет, что не посылал сообщения абоненту В, хотя на самом деле послал;

· подмена - абонент В изменяет или формирует новый документ и заявляет, что получил его от абонента А;

· повтор - абонент С повторяет ранее переданный документ, который абонент А посылал абоненту В.

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

Система ЭЦП включает две основные процедуры:

· процедуру формирования цифровой подписи;

· процедуру проверки цифровой подписи.

· Процедура формирования цифровой подписи.

На подготовительном этапе этой процедуры абонент А - отправитель сообщения - генерирует пару ключей: секретный ключ kA и открытый ключ КА. Открытый ключ КА вычисляется из парного ему секретного ключа kA. Открытый ключ Кл рассылается остальным абонентам сети (или делается доступным, например, на разделяемом ресурсе) для использования при проверке подписи.

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

Рис. 2.15. Схема формирования электронной цифровой подписи

Процедура проверки цифровой подписи. Абоненты сети могут проверить цифровую подпись полученного сообщения М с помощью открытого ключа отправителя Кл этого сообщения (рис. 2.16).

При проверке ЭЦП абонент В - получатель сообщения М - расшифровывает принятый дайджест т открытым ключом КА отправителя А. Кроме того, получатель сам вычисляет с помощью хэш-функции h(M) дайджест т принятого сообщения М и сравнивает его с расшифрованным. Если эти два дайджеста - т и т' - совпадают, то цифровая подпись является подлинной. В противном случае либо подпись подделана, либо изменено содержание сообщения.

Рис. 2.16. Схема проверки электронной цифровой подписи

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

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

· дату подписи;

· срок окончания действия ключа данной подписи;

· информацию о лице, подписавшем файл (Ф.И.О., должность, краткое наименование фирмы идентификатор подписавшего (имя открытого ключа);

· собственно цифровую подпись.

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

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

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

· прочитать из файла, в котором содержится открытый ключ КА, идентификационную информацию об абоненте А;

· сгенерировать собственную пару ключей kn и Кп, записав в них идентификационную информацию абонента А;

· подменить хранящийся у абонента В открытый ключ КA своим открытым ключом Кn, но содержащим идентификационную информацию абонента А.

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

Алгоритм цифровой подписи DSA. Алгоритм цифровой подписи DSA (Digital Signature Algorithm) был предложен в 1991 году Национальным институтом стандартов и технологии США (National Institute of Standards and Technology - NIST) и стал стандартом США в 1993 году. Алгоритм DSA является развитием алгоритмов цифровой подписи Эль Гамаля и К. Шнорра [13, 11]. Ниже приводятся процедуры генерации ключей, генерации подписи и проверки подписи в алгоритме DSA

Генерация ключей DSA. Отправитель и получатель электронного документа используют при вычислениях большие целые числами р - простые числа, длиной L битов каждое (512 L 1024); q - простое число длиной 160 бит (делитель числа (р - 1).

Числа g,p, q являются открытыми и могут быть общими для всех пользователей сети.

Отправитель выбирает случайное целое число х, 1 < х < q. Число х является секретным ключом отправителя для формирования электронной цифровой подписи.

Затем отправитель вычисляет значение:

у = gx mod p.

Число y является открытым ключом для проверки подписи отправителя. Число у передается всем получателям документов.

Генерация подписи DSA. Этот алгоритм предусматривает использование односторонней функции хэширования h(). В стандарте определен алгоритм безопасного хэширования SHA-1. Для того чтобы подписать сообщение М, участник А выполняет следующие шаги:

· Выбирает случайное целое k в интервале [1, q - 1].

· Вычисляет r = (gk mod р) mod q.

· Вычисляет k 1 mod q.

· Вычисляет s = k 1 h{M) + xr} mod q, где h есть алгоритм хэширования SHA-1.

· Если s = 0 тогда перейти к шагу 1. (Если s = 0, тогда s'mod=q не су шествует; s требуется на шаге 2 процедуры проверки подписи.)

· Подпись для сообщения М есть пара целых чисел (r, s).

Проверка подписи DSA. Для того чтобы проверить подпись (r, s) сообщения М от участника А, участник В делает следующие шаги:

· Получает подлинную копию открытого ключа у участника А.

· Вычисляет = s 1 mod q и хэш-значение h{M).

· Вычисляет значения u1 = h(M) mod q и и2 = (r) mod q.

· Используя открытый ключ у, вычисляет значениеv = (guiyu modр)modq.

· Признает подпись (r, s) под документом М подлинной, если v = r.

Поскольку r и s являются целыми числами, причем каждое меньше q, подписи DSA имеют длину 320 бит. Безопасность алгоритма цифровой подписи DSА базируется на трудностях задачи дискретного логарифмирования.

Стандарт цифровой подписи ГОСТ Р 34.10-94. Первый Российский стандарт цифровой подписи обозначается как ГОСТ Р 34.10-94 [18]. Алгоритм цифровой подписи, определяемый этим стандартом, концептуально близок к алгоритму DSA. В нем используются следующие параметры:

· р - большое простое число длиной от 509 до 512 бит либо от 1020 до 1024 бит;

· q - простой сомножитель числа (р - 1), имеющий длину 254-256 бит

· a - любое число, меньшее (р - 1), причем такое, что aq mod р = 1;

· х - некоторое число, меньшее q\

· у = ax mod р.

Кроме того, этот алгоритм использует однонаправленную хэш-функцию Н(х). Стандарт ГОСТ Р 34.11-94 определяет хэш-функцию, основанную на использовании стандартного симметричного алгоритма ГОСТ 28147-89.

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

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

· Пользователь А генерирует случайное число k, причем k<q.

· Пользователь А вычисляет значения r = (ак mod р) mod q, s = (x + k(H(m))) mod q.

Если H(m) mod q = 0, то значение H(m) mod q принимают равным единице. Если r = 0, то выбирают другое значение k и начинают снова.

Цифровая подпись представляет собой два числа: r mod 2256 и s mod 2256.

Пользователь А отправляет эти числа пользователю В.

Пользователь В проверяет полученную подпись, вычисляя:

v = Н(т)n mod q, z = (s) mod q, z = (q - r) )modq,

u = ((az1 yz2) mod p) mod q.

Если u = r, то подпись считается верной.

Различие между этим алгоритмом и алгоритмом DSA заключается в том, что в DSA:

s = (k (х r + (H(m)))) mod q,

что приводит к другому уравнению верификации.

Следует также отметить, что в отечественном стандарте ЭЦП параметр q имеет длину 256 бит. Западных криптографов вполне устраивает q длиной примерно 160 бит. Различие в значениях параметра q является отражением стремления разработчиков отечественного стандарта к получению более безопасной подписи. Этот стандарт вступил в действие с начала 1995 года.

Стандарт цифровой подписи ГОСТ Р 34.10-2001 был принят в 2001 году [19]. Этот стандарт разработан взамен первого стандарта цифровой подписи ГОСТ Р 34.10-94. Необходимость разработки стандарта ГОСТ Р 34.102001 вызвана потребностью в повышении стойкости электронной цифровой подписи к несанкционированным изменениям. Стойкость ЭЦП основывается на сложности вычисления дискретного логарифма в группе точек эллиптической кривой, а также на стойкости используемой хэш-функции по ГОСТ Р 34.11.

Принципиальное отличие нового стандарта от предыдущего ГОСТ Р 34.10-94 состоит в том, что все вычисления при генерации и проверке ЭЦП в новом алгоритме производятся в группе точек эллиптической кривой, определенной над конечным полем Fp.

Принадлежность точки (пары чисел х и у) к данной группе определяется следующим соотношением;

у х + ах + b(mod р),

где модуль системы р является простым числом, большим 3, а а и b - константы, удовлетворяющие следующим соотношениям; a, b Fp и 4а+27b не сравнимо с нулем по модулю р.

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

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

Алгоритм цифровой подписи ECDSA. В алгоритме ЭЦП ECDSA (Elliptic Curve Digital Signature Algorithm) определение параметров системы и генерация ключей аналогичны алгоритму асимметричного шифрования ECES.

Генерация ЭЦП (пользователь А подписывает сообщение М):

· вычисляется хэш собщения Н(М);

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

· вычисляется точка (х ,у ) = kP и r = х mod п. В случае если r = 0, повторяется выбор k;

· вычисляется s = k (Н(М) + rd) mod n;

· цифровой подписью сообщения М является пара чисел (r, s).

Проверка ЭЦП( пользователь В проверяет ЭЦП пользователя А под сообщением М):

· если r = 0, то полученная ЭЦП неверна;

· вычисляется хэш собщения H(М);

· вычисляются и = s H(М) mod n и v = s r mod п;

· вычисляется точка (х ,у) = иР+ vQ,

· вычисляется r' = х mod n;

· ЭЦП считается верной, если r' = r.

2.1.5 Выбор стандартов криптографических алгоритмов

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

· длина ключа;

· затраты на подбор;

· производительность;

· совместимость.

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

В соответствии с таблицей 2.4 можно сделать вывод о том, что наиболее стойкими являются такие алгоритмы как: AES, IDEA, Triple DES. Так же данные алгоритмы позволяют использовать ключи различной длины, в частности наиболее распространенной длиной является 128 бит, наименьшей 56 обладает DES, а наибольшей Blowfish - до 448, 256 -- AES и ГОСТ 28147-89. При этом, чем длиннее ключ, тем надежнее защита и тем медленнее будет работать алгоритм. А это означает, что в том случае если симметричный алгоритм будет использоваться совместно с ассиметричным, то на первое место выходит именно производительность, и длина ключа не будет столь критичной. Наибольшее распространение, а следовательно, и совместимость с другими криптосистемами и алгоритмами получили: DES, TripleDES или AES. Использование данных алгоритмов позволяет гарантировать то, что все стороны, имеющие криптографические средства, смогут использовать эти алгоритмы и расшифровать шифротекст.

Таблица 2.4

Сравнительная характеристика симметричных алгоритмов шифрования

Алгоритм

Длина ключа, бит

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

Затраты на подбор ключа, MIPS

DES

56

64

5 102

Triple DES

128 (112)

64

1018

IDEA

128

64

1021

ГОСТ 28147-89

256

64

нет данных

RC5

40 и выше

32 и выше

103 и выше

Blowfish

до 448

64

нет данных

AES

Длина ключа может быть 128, 192 или 256 бит, в независимости от длины блока

Наиболее распространенными среди ассиметричных алгоритмов шифрования являются: RSA, алгоритм Диффи-Хеллмана, Эль-Гамаля, на базе эллиптических кривых, сравнительная характеристика которых приведена в таблице 2.5.

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

Таблица 2.5

Сравнительная характеристика ассиметричных алгоритмов шифрования

Алгоритм

Длина ключа

Метод взлома

(мат. проблема)

Криптостойкость, MIPS

RSA

430

760 1024

1620

факторизация больших простых чисел

2,7*1028 для ключа 1300 бит

DH

Основан на предполагаемой сложности проблемы дискретного логарифмирования.

Сложность вычисления K=gabmod p по известным p, g, A=ga mod p и B=gb mod p

время, затрачиваемое на решение этой задачи, сравнимо со временем, затрачиваемым на разложение числа на множители. Для обеспечения безопасности надо брать число p длиной 1024 бита.

El-Gamal

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

при одинаковой длине ключа криптостойкость равная RSA

Эллиптические уравнения ECC

112 160 192 256

решение эллиптических уравнений

криптостойкость и скорость работы выше, чем у RSA

Кроме того, большое значение имеет производительность алгоритма, сравнение алгоритмов с открытым ключом показывает, что RSA значительно быстрее, чем ECC который в свою очередь быстрее чем DH. Так же немаловажным значением при использовании алгоритма шифрования является его совместимость, т.е. наличие средств, которые позволяют расшифровывать данные, зашифрованные этим алгоритмом.

DSA небезопасен, так как позволяет имитировать подмену подписи, позволяя рядовому пользователю выбрать свои секретный и открытый ключи так, что подписи для двух известных заранее сообщений совпадут. А это открывает простор для различных махинаций с использованием ЭЦП. Но следует отметить, что электронная подпись по стандарту ГОСТ Р34.10-2001 обеспечивает ту же, самую криптостойкость уже при размере модуля в 160 бит, что так же обеспечивает более простую как программную, так и аппаратную реализацию.

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

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

Таким образом, можно сделать вывод о том, что при сочетании симметричных и ассиметричных алгоритмов шифрования наиболее подходящими по соотношению совместимости, стойкости и производительности является сочетание алгоритмов 3DES или AES (для шифрования непосредственно данных) и RSA.(для ЭЦП и шифрования секретного сеансового ключа 3DES, AES).

2.2 Технологии идентификации и аутентификации


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.