Шифры перестановки. Примеры. Методы криптоанализа.



Шифры перестановки – буквы открытого текста при шифровании лишь меняются местами друг с другом.

Шифры маршрутной перестановки

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

Пример:

Исходная фраза:
Пример маршрутной перестановки

п р и м е р м

н т у р ш р а

о й п е р е с

и к в о н а т

Зашифрованная фраза:

тсамрреанршемреовпуиртйкионп

Шифр вертикальной перестановки (5-ый тип задач)

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

Пример:

Исходная фраза:

Вот пример шифра вертикальной перестановки

Ключ: 5,1,4,7,2,6,3

5 1 4 7 2 6 3

в о т п р и м

е р ш и ф р а

в е р т и к а

л ь н о й п е

р е с т а н о

в к и

Зашифрованная фраза:

Ореьекрфийамааеотшрнсивевлрвиркпнпитот

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

Асимметричные системы шифрования. Основной принцип работы. Система шифрования RSA. Методы криптоанализа и защиты.

Классификация по используемым ключам:

· Симметричные kш = kр либо из kш->kр

· Ассиметричные kш->/kр

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

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

Криптосистема RSA (4-ый тип задач билета)

Пусть n = p *q – целое число, представимое в виде произведения двух больших простых чисел p и q.

Выберем числа e и d из условия

e*d = 1 (mod фи(n)),

где фи(n) = (p-1) *(q-1) – значение функции Эйлера от числа n. Пусть k = (n,p,q,e,d) – выбранный ключ, состоящий из открытого ключа kш = (n,e) и тайного ключа kp = (n,d). Пусть М – блок открытого текста и С – соответствующий блок шифрованного текста. Тогда правила шифрования и расшифрования определяются формулами:

С = Eкш(М) = Мe(modn), Dкр(С) = Сd(modn).

Пример

Зашифруес аббревиатуру RSA, испльзуя p = 17 q = 31. Для этого вычислим n = p*q = 527 и фи(n) = (p-1)(q-1) = 480. Выберем, далее, в качестве е число, взаимно простое с фи(n), например е = 7. С помощью алгоритма Евклида найдем целые числа u и v, удовлетворяющие соотношению e*u + фи(n)*v = 1:

480 = 7*68+4

7 = 4*1+3

4 = 3*1+1

1 = 4-3*1 = 4-(7-4*1)*1 = 4*2-7*1 = (480-7*68)*2-7*1 = 480*2-7*137

V = 2, u = -137

Прежставим данное сообщение в виде последовательности чисел, содержащихся в интервале 0….526. Для этого буквы, R,S и А закодируемо пятимерными двоичными векторами, воспользовавшись двоичной записью их порядковых номеров в английском алфавите;

R = 18 = (10010)S = 19 =(10011), A = 1 = (00001).

Тогда RSA = (100101001100001). Укладываясь в заданный интервал 0…526, получаем следующее представление:

RSA = (100101001),(100001) = (M1 = 297, M2 = 33). Далее последовательно шифруем M1 и М2.

С1 = ЕКш1) = М1е=2977(mod 527) = 474.

При этом мы воспользовались тем, что

2977= ((2977)3*297)(mod 527) = ((2003(mod 527)*297)(mod 527),

C2= EКш2) – М2е= 337(mod 527) = 407

В итоге получаем шифротекст Y = 474 y 407

При расшифровании нужно выполнить следующую последовательность действий. Во-первых, вычислить

DКр(С1) = (С1)343(mod 527)

Отметим, что при возведении в степень удобно воспользоваться тем, что 343 = 256+64+16+4+2+1. На основании этого представления получаем:

4742(mod 527) = 174,4744(mod 527) = 237

4748(mod 527) = 307,47416(mod 527) = 443

47432(mod 527) = 205,474256(mod 527) = 443, в силу чего

474343(mod 527) = (443*392*443*237*174*474)(mod 527) = 297

Аналогично

407343(mod 527) = 33

Возвращаясь к буквенной записи получаем RSA

Криптоанализ RSA основан на алгоритме разложения числа n на простые множители.

Требования к ключу RSA

· Числа p и q должны быть достаточно большими, не слишком сильно отличаться друг от друга и в то же время быть не слишком близкими друг другу;

Так как на сегодня известно разложение на простые множители состоящих из 150-ти десятичных знаков, то p и q должны содержать в записи не менее 100 десятичных знаков каждый.

· Числа p и q должны быть такими, чтобы наибольший общий делитель чисел p-1 и q-1 был небольшим; желательно, чтобы НОД (p-1, q-1) = 2;

· p и q должны быть сильно простыми числами (сильно простым называется такое простое число r, что r+1 имеет большой простой делитель, r-1 имеет большой простой делитель s, такой, что число s-1 также обладает достаточно большим простым делителем)

 


 

Обеспечение целостности. Код аутентификации сообщения. Требования и средства реализации.

Обеспечение целостности

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

Обобщенный алгоритм работы систем обеспечения целостности информации

· К сообщению M добавляется проверочная комбинация S, называемая кодом аутентификации сообщения или имитовставкой

· По каналу связи передается или записывается на диск пара С=(M,S).

· При получении сообщения M пользователь вычисляет значение проверочной комбинации и сравнивает его с полученным контрольным значением S. Несовпадение говорит о том, что данные были изменены. При совпадении считается, что данные не были изменены.

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

hk(M) = S.

Требования к коду аутентификации:

· Невозможность вычисления значения hk(M) = S. Для заданного сообщения M без знания ключа k; (невозможность фабрикации)

· Невозможность подбора для заданного сообщения M с известным значением hk(M) = S другого сообщения M1 с известным значением hk(M1) = S1 без знания ключа k. (невозможность модификации)

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

Применение хэш-функций в криптографии:

· Построение систем контроля целостности данных при их передаче или хранении;

· Аутентификация источника данных.

 


 


Дата добавления: 2018-08-06; просмотров: 481; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!