Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты ОИТ.docx
Скачиваний:
216
Добавлен:
26.03.2015
Размер:
807.27 Кб
Скачать

25 Подстановочные и перестановочные шифры

Классификация методов криптопреобразования по принципу размещения символов в шифре: подстановочные, перестановочные и подстановочно-перестановочные шифры.

Подстановочные шифры. Сущность подстановочного шифрования состоит в том, что, как правило, исходный (М) или зашифрованный текст (С) используют один и тот же алфавит, а ключом является алгоритм подстановки. Такой шифр называется простым, или моноалфавитным. Если используется несколько алфавитов – полиалфавитным.

Пример моноалфавитного шифра – шифр Цезаря: символы исходного алфавита заменяются символами того же алфавита со сдвигом на 3 символа вправо: «A» меняется на «D», «B» – на «E», «W» – на «Z», «X» – на «A» и т. д. (в некоторых случаях во внимание принимается 27-й символ – пробел). Для расшифрования необходимо выполнить обратную замену.

Пример1.

Имеем открытый текст М = «cade». На основе шифра Цезаря С = «gdqh».

Недостаток: такие шифры легко взламываются, поскольку не скрывают частоту (вероятность) применения различных символов в открытом тексте.

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

Пример2. М = «ИНФОРМАТИКА». Запишем этот текст как показано левее.

и

н

ф

о

р

м

а

т

и

к

а

Считывание по столбцам снизу вверх приводит к такому шифр-тексту: С = «КАОИАТРН_ИМФ».

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

Пример3. Открытый текст М = «ВАСЯ_ЛЮБИТ_МАШУ», а запишем его так, как показано на рис. ниже.

Осуществляя считывания по уровням, начиная с верхнего, получим следующий шифртекст: С = «СЮ_УАЯЛБТМШВ_ИА».

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

26. Особенности алгоритма rsa

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

Алгоритм RSA состоит из следующих пунктов:

  • Выбрать простые числа p и q

  • Вычислить n = p * q

  • Вычислить m = (p - 1) * (q - 1)

  • Выбрать число d взаимно простое с m

  • Выбрать число e так, чтобы e * d = 1 (mod m)

Hазовем открытым ключем числа e и n, а секретным - d и n.

Числа e и d являются ключами. Шифруемые данные необходимо разбить на блоки - числа от 0 до n - 1. Шифр-е и дешифровка данных произв-ся след. Обр.:

Шифрование: b = ae (mod n)

Дешифровка: a = bd (mod n)

Следует также отметить, что ключи e и d равноправны, т.е. сообщение можно шифровать как ключом e, так и ключом d, при этом расшифровка должна быть произведена с помощью другого ключа.

Зашифруем и расшифруем сообщение "САВ" по алгоритму RSA.

Выберем p=3 and q=11.

Определим n= 3*11=33.

Hайдем (p-1)*(q-1)=20. Следовательно, d будет равно, например, 3: (d=3).

Выб-м число е по след-й формуле: (e*3) mod 20=1. Значит е будет равно, например, 7: (e=7).

Представим шифруемое сообщение как последовательность чисел в диапозоне от 0 до 32 (незабывайте, что кончается на n-1). Буква А =1, В=2, С=3.

Теперь зашифруем сообщение, используя открытый ключ {7,33}

C1 = (3^7) mod 33 = 2187 mod 33 = 9;

C2 = (1^7) mod 33 = 1 mod 33 = 1;

C3 = (2^7) mod 33 = 128 mod 33 = 29;

Теперь расшифруем данные, используя закрытый ключ {3,33}.

M1=(9^3) mod 33 =729 mod 33 = 3(С);

M2=(1^3) mod 33 =1 mod 33 = 1(А);

M3=(29^3) mod 33 = 24389 mod 33 = 2(В);

На 2009 г. система шифр-я на основе RSA считается надёжной, начиная с размера в 1024 бита. Группе учёных удалось успешно вычислить данные, зашифр-е при помощи криптогр-го ключа стандарта RSA длиной 768 бит. Причём от шифря ключом длиной в 1024 бит стоит отказаться в ближайшие три-четыре года.

На случ-е простые числа p и q наклад-ся след-е дополнительные ограничения:

Они не д.б. слишком близки друг к другу, иначе можно будет их найти.

26. Особенности алгоритма RSA. (а/в)

Асимметричные методы шифрования (криптосистемы с открытым (публичным) ключом) созданы для решения проблем, характерных для симметричных систем: длина ключа и проблема распространения ключа по открытым каналам.

Идея асимметричных систем принадлежит Диффи и Хеллману – 1976 г.

Основная идея: 2 пользователя (А и В) по открытому каналу обмениваются ключом, который остаётся известным только им.

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

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

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

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

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

1) иM должны быть взаимно простыми;

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

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

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.