Учебная работа № 1008. Современные криптографические методы

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (3 оценок, среднее: 4,67 из 5)
Загрузка...

Учебная работа № 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

Учебная работа № 1008. Современные криптографические методы