Особенности симметричных и ассиметрич. систем шифрования данных

По назначению используемого ключа современ. криптогр. системы дел. на:

1) симметричн. В прям. и обратн. преобраз. (зашифр./ расшифр.) используется одинаковый ключ. Ключ является тайным. Алгоритм известен.

Например пусть используется симметричный блочный алгоритм, длина блока 4 символа. Алгоритм преобразования основывается на вычислении по mod 2, расшифрование тоже.

М = 10101100 К = 0101 (тайная информация) Т.к. длина блока 4, то К тоже 4.

Зашифрование:

Сообщение М делим на блоки в соотв. С принятой длиной m1 = 1010, m2 = 1100.

C = f (алгоритм, К, М) – шифртекст (шифрограмма), справедливо для любой криптограф. системы.

При использовании блочного алгоритма шифрования текста С = с1…сl

В нашем случае С= с1с2

с1 = m1 + К = 1010+0101=1111 (!!! Здесь и до конца шпоры + это сложение по mod 2).

с2 = m2 + К = 1100+0101=1001

С = 11111001 такой шифртекст по открытым каналам поступает к получателю.

Обратное преобразование (расшифрование):

M’ = f (C, K, алгоритм)

M’ = m1’m2’

m1’ = c1 + K = 1111+0101=1010= m1

m2’ = c2 + K = 1001+0101=1100= m2

M’ = 10101100 = M

В реальн. системах помимо вычислит. операций исп-ся множествен. подстановки и перестановки. Наи> известн. и 1 из стандартизован. — стандарт. DES, принят в США и позднее исп-ся во всем мире. Длина ключа = 64 bit из кот. 54 вычислительных, 8 — биты чётности (CRC). Особ-ти этой системы: 1) хранение/ обмен ключами; 2) «+» сравнит-но не > длина ключа; вычисл. производ-ся быстрее, т.к. не > длина ключа; 3) «-» при < длине ключа проще его найти хотя бы методом простого перебора.

2) асимметр. Системы предполагают, что при прям. и обратн. преобраз. исп-ся различн. ключи, взаимосвязан. м-у собой по известн. законам. Известный метод RSA.

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

В RSA n представляет собой составное число , числа p и q – большие целые простые (примерно одного порядка), n – открытое число, p и q – тайные.

Задача злоумышленника – разложить n (известное) на простые сомножители.

Система предполаг., что кажд. пользователь может независ. создать свой ключ.

Математической основой системы является теорема:

Для целых чисел e и d, удовлетворяющих соотношению e*d mod =1, где

1) (ф-ция Эйлера) и M (сообщение) должны быть взаимно простыми;

2) должны быть взаимно простыми пары чисел e и n, d и n;

выполняется равенство (M^e mod n) ^d mod n = M.

Процедура генерации (создания) ключа:

1. Выбрать сопоставимые по величине 2 простых числа p и q.

2. Вычислить (n является открытым числом).

3. Вычислить функцию Эйлера [определяет количество целых положительных чисел, меньших n и взаимно простых с n; n>1; если n – простое число, то ; если , где p и q – простые числа, то ]:

( является закрытым числом).

4. Случайным образом выбирается число e (или d), которое должно быть взаимно простым с .

5. Вычисляется мультипликативное инверсное значение к величине, определенной в п. 4 в соответствии со следующими формулами:

Если в п. 4 выбрано e, то в п. 5 используют соотношение: .

Принято считать, что пара (e,n) – открытый ключ пользователя, а число d – закрытый ключ (d,n).

Пример1: 1. Пусть p = 3, q = 7.

2. Тогда .

3. Вычисляем .

4. Выбираем e = 17 (взаимно простое с 12).

5. Решаем уравнение или .

Открытый ключ: (17,21); закрытый: (5) или (5,21).

А отправляет сообщение В. Используются ключи получателя В и при зашифровании и при расшифровании. e и n – общедоступны и находятся на специализированных сайтах.

Действия А: 1. Создание шифр-текста: .

Если М поделено на блоки одинаковой длины (m1, m2, …, mL), то С = с1, с2, …, сL, где .

2.Отправка на адрес В шифр-текста С.

Действия В: 1. Получение: С = с1, с2, …, сL.

2.Расшифрование:

В использует соответствующий тайный ключ d.

Если сообщение разделено на блоки: .

Пример2: Открытый ключ: (17,21); закрытый: (5,21). Предполагается, что сообщение М состоит из 5 символов.

Сообщение М делится на блоки одинаковой длины по одному символу.

Пусть М = 12345 и m1 = 01, m2 = 02, …, m5 = 05.

Процедура зашифрования:

, , ,

, .

Шифр-текст: С = 01 11 12 16 17.

Процедура расшифрования:

, , ,

, . Имеем: М = 12345.