Учебная работа № 1008. Современные криптографические методы
Министерство образования Российской Федерации
САМАРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ
УНИВЕРСИТЕТ
Кафедра прикладной математики и информатики
К У Р С О В А Я Р А Б О Т А
Современные криптографические методы
Студент IVИЭ8 Альперт В. В.
Научный руководитель Пономарев В. П.
С а м а р а
2000
С О Д Е Р Ж А Н И Е
Стр.
в криптографию______________________________________________ 3
Симметричные криптосистемы___________________________________________ 5
Стандарт шифрования данных ГОСТ 2814789______________________________ 6
Международный алгоритм шифрования данных IDEA_______________________ 10
Алгоритм RSA_______________________________________________________ 12
Оценка надежности криптосистем_______________________________________ 14
ЗАКЛЮЧЕНИЕ_______________________________________________________ 19
ЛИТЕРАТУРА________________________________________________________ 20
в криптографию
Бурное развитие криптографические системы получили в годы первой и второй мировых войн. Начиная с послевоенного времени и по нынешний день, появление вычислительных средств ускорило разработку и совершенствование криптографических методов.
Проблема использования криптографических методов в информационных системах стала в настоящий момент особо актуальна потому, что с одной стороны, расширилось использование компьютерных сетей, в частности глобальной сети Интернет, по которым передаются большие объемы информации государственного, военного, коммерческого и частного характера, не допускающего возможность доступа к ней посторонних лиц.
С другой стороны, появление новых мощных компьютеров, технологий сетевых и нейронных вычислений сделало возможным дискредитацию криптографических систем еще недавно считавшихся практически не раскрываемыми.
Проблемой защиты информации путем ее преобразования занимается криптология (kr yp tos тайный, log os наука). Криптология разделяется на два направления криптографию и криптоанализ . Цели этих направлений прямо противоположны.
Криптография занимается поиском и исследованием математических методов преобразования информации.
Сфера интересов криптоанализа исследование возможности расшифровывания информации без знания ключей.
Шифрование преобразовательный процесс: исходный текст , который носит также название открытого текста , заменяется шифрованным текстом .
Дешифрование обратный шифрованию процесс. На основе ключа шифрованный текст преобразуется в исходный.
Ключ информация, необходимая для беспрепятственного шифрования и дешифрования текстов.
Криптосистемы разделяются на симметричные и системы с открытым ключом. В симметричных криптосистемах и для шифрования, и для дешифрования используется один и тот же ключ .
В системах с открытым ключом используются два ключа открытый и закрытый , которые математически связаны друг с другом. Информация шифруется с помощью открытого ключа, который доступен всем желающим, а расшифровывается с помощью закрытого ключа, известного только получателю сообщения.
Электронной (цифровой) подписью называется присоединяемое к тексту его криптографическое преобразование, которое позволяет при получении текста другим пользователем проверить авторство и подлинность сообщения.
Криптостойкостью называется характеристика шифра, определяющая его стойкость к дешифрованию без знания ключа (т.е. криптоанализу). Имеется несколько показателей криптостойкости, среди которых:
· количество всех возможных ключей;
· среднее время, необходимое для криптоанализа.
Криптография в прошлом использовалась лишь в военных целях. Однако сейчас, с становлением информационного общества, она становится центральным инструментом для обеспечения конфиденциальности. По мере образования информационного общества, крупным государствам становятся доступны технологические средства тотального надзора за миллионами людей. Поэтому криптография становится одним из основных инструментов обеспечивающих конфиденциальность, доверие, авторизацию, электронные платежи, корпоративную безопасность и бесчисленное множество других важных вещей.
Симметричные криптосистемы
Все многообразие существующих криптографических методов можно свести к следующим классам преобразований:
Моно и полиалфавитные подстановки.
Наиболее простой вид преобразований, заключающийся в замене символов исходного текста на другие (того же алфавита) по более или менее сложному правилу. Для обеспечения высокой криптостойкости требуется использование больших ключей.
Перестановки.
Также несложный метод криптографического преобразования. Используется, как правило, в сочетании с другими методами.
Гаммирование.
Этот метод заключается в наложении на исходный текст некоторой псевдослучайной последовательности, генерируемой на основе ключа.
Блочные шифры.
Представляют собой последовательность (с возможным повторением и чередованием) основных методов преобразования, применяемую к блоку (части) шифруемого текста. Блочные шифры на практике встречаются чаще, чем “чистые” преобразования того или иного класса в силу их более высокой криптостойкости. Российский и американский стандарты шифрования основаны именно на этом классе шифров.
Стандарт шифрования данных ГОСТ 2814789
Российский стандарт шифрования является блочным, т. е. преобразование ведется по блокам. Он включает в себя режим замены и два режима гаммирования. Стандарт ГОСТ 2814789 формировался с учетом мирового опыта, и в частности, были приняты во внимание недостатки и нереализованные возможности алгоритма DES, поэтому использование стандарта ГОСТ предпочтительнее. Эффективность данного стандарта достаточно высока. Системы, основанные на ГОСТ 2814789, позволяют зашифровать в секунду до нескольких десятков Кбайт данных. В него заложен метод, с помощью которого можно зафиксировать необнаруженную случайную или умышленную модификацию зашифрованной информации.
Введем ассоциативную операцию конкатенации. Если L и R – последовательность бит, то LR обозначает конкатенацию последовательностей, то есть LR последовательность бит с размерностью равной сумме размерностей L и R, причем биты R следуют за битами L. Кроме того, будем использовать следующие операции сложения:
· A^B побитовое сложение по модулю 2;
если A+B=>2, то A^B=А+B2
если A+B<2 , то A^B=А+B, где A и B 1битные числа.
· A[+]B сложение по модулю 232 ;
если A+B=>232 , то A[+]B=A+B232
если A+B<232 , то A[+]B=A+В, где A и B 32битные числа.
· A{+}B сложение по модулю 232 1;
если A+B=>232 1, то A{+}B=A+B232 +1
если A+B<232 1 , то A{+}B=A+B, где A и B 32битные числа.
Алгоритм криптографического преобразования предусматривает три режима работы. В стандарте ГОСТ используется ключ W длиной 256 бит, представляемый в виде восьми 32разрядных чисел x (i).
W=X(7)X(6)X(5)X(4)X(3)X(2)X(1)X(0)
Самый простой из возможных режимов замена.
Пусть открытые блоки разбиты на блоки по 64 бит в каждом, которые обозначим как T(j).
Очередная последовательность бит T(j) разделяется на две последовательности B(0) и A(0) по 32 бита (правый и левый блоки). Далее выполняется итеративный процесс шифрования, описываемый следующими формулами, вид который зависит от i.
· Для i=1, 2, …, 24, j=(i1) (mod 8);
A(i) = f (A(i1) [+]X(j)) ^ B(i1)
B(i) = A(i1)
· Для i=25, 26, …, 31, j=32i;
A(i) = f (A(i1) [+]X(j)) ^ B(i1)
B(i) = A(i1)
· Для i=32
A(32) = A(31)
B(32) = f (A(31) [+]X(0)) ^ B(31).
Для дешифрования используется тот же ключ, но процесс дешифрования является инверсным по отношению к исходному.
· Для i=32
A(31) = A(32)
B(31) = f (A(32) [+]X(0)) ^ B(32).
· Для i=31, 30, …, 25, j=32i;
A(i1) = B(i)
B(i1) = f (B(i) [+]X(j)) ^ A(i)
· Для i=24, 23, …, 1, j=(i1) (mod 8);
A(i1) = B(i)
B(i1) = f (B(i) [+]X(j)) ^ A(i)
Полученные A(0), B(0) – расшифрованный текст.
Здесь i обозначает номер итерации. Функция f – функция шифрования.
Функция шифрования состоит из операции подстановки К применяемой к 32разрядному аргументу. 64разрядный аргумент разбивается на два 32разрядных вектора. Блок подстановки K состоит из 8 узлов замены К(1)…..К(8) с памятью 64 бит каждый. Поступающий на блок подстановки 4разрядный вектор разбивается на 8 последовательно идущих 4разрядных векторов, каждый из которых преобразуется в 4разрядный вектор соответствующим узлом замены, представляющим таблицу из 16 целых чисел в диапазоне 0…15. Входной вектор определяет адрес строки в таблице, число из которой является выходным вектором. Затем 4разрядные векторы последовательно объединяются в 32разрядный выходной.
Остальные блоки открытых данных в режиме простой замены зашифровываются аналогично.
Следует учитывать, что данный режим шифрования обладает ограниченной криптостойкостью.
Другой режим шифрования называется режимом гаммирования .
Открытые данные, разбитые на 64разрядные блоки T(i) (i=1,2,…,m) (m определяется объемом шифруемых данных), зашифровываются в режиме гаммирования путем поразрядного сложения по модулю 2 с гаммой шифра Гш , которая вырабатывается блоками по 64 бит, т.е.
Гш = (Г(1),Г(2),….,Г(m)).
Уравнение шифрования данных в режиме гаммирования может быть представлено в следующем виде:
Ш(i) =(f (Y(i) , f (Z(i)) ^ T(i)=Г(i) ^ T(i)
В этом уравнении Ш(i) обозначает 64разрядный блок зашифрованного текста, f функцию шифрования в режиме простой замены (аргументами этой функции являются два 32разрядных числа). C1 и C2 константы, заданные в ГОСТ 2814789. Величины Y (i) и Z(i) определяются итерационно по мере формирования гаммы следующим образом:
(Z(0), Y(0)) = f (S), где S 64разрядная двоичная последовательность
Y(i) =Y(i1) [+] C1, Z(i) = Z(i1) {+} C2, i=1, 2, …, m .
64разрядная последовательность, называемая синхропосылкой, не является секретным элементом шифра, но ее наличие необходимо как на передающей стороне, так и на приемной.
Режим гаммирования с обратной связью очень похож на режим гаммирования. Как и в режиме гаммирования открытые данные, разбитые на 64разрядные блоки T(i), зашифровываются путем поразрядного сложения по модулю 2 с гаммой шифра Гш , которая вырабатывается блоками по 64 бит:
Гш =(Г(1), Г(2), …, Г(m)).
Уравнение шифрования данных в режиме гаммирования с обратной связью выглядят следующим образом:
Ш(1) = f (S) ^ T(1) = Г(1) ^ T(1),
Ш(i) = f (Ш(i1)) ^ T(i) = Г(i)^T(i), i=2, 3, …, m .
В ГОСТ 2814789 определяется процесс выработки имитовставки, который единообразен для всех режимов шифрования. Имитовставка это блок из р бит (имитовставка Ир ), который вырабатывается либо перед шифрованием всего сообщения либо параллельно с шифрованием по блокам. Параметр р выбирается в соответствии с необходимым уровнем имитозащищенности.
Для получения имитовставки открытые данные представляются также в виде блоков по 64 бит. Первый блок открытых данных Т(1) подвергается преобразованию, соответствующему первым 16 циклам алгоритма режима простой замены. В качестве ключа используется тот же ключ, что и для шифрования данных. Полученное 64разрядное число суммируется побитно с открытым блоком Т(2) и сумма вновь подвергается 16 циклам шифрования для режима простой замены. Данная процедура повторятся для всехблоков сообщения. Из полученного 64разрядного числа выбирается отрезок Ир длиной р бит.
Имитовставка передается по каналу связи после зашифрованных данных. На приемной стороне аналогичным образом из принятого сообщения выделяется имитовставка и сравнивается с полученной. В случае несовпадения имитовставок сообщение считается ложным.
КОНСТАНТЫ C1=1538417 341, C2=2591989193
СИНХРОПОСЫЛКА S=134987665736005221
ТАБЛИЦА ПОДСТАНОВОК Kij
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
K(1) | 1 | 0 | 0 | 1 | 5 | 9 | 8 | 4 | 6 | 5 | 2 | 3 | 13 | 12 | 7 | 4 |
K(2) | 0 | 3 | 8 | 1 | 11 |