Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bezopasnost_operatsionnykh_sistem_Nastya.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
846.67 Кб
Скачать

10. Шифр rsa.

Рассмотрим первый из них, т.е. шифр RSA.

1) Выбираются 2 больших простых целых числа p и q и определяется их произведение p*q=N.

2) Выбирается большое целое число d, которое должно быть взаимопростым с числом M=(p-1)*(q-1). Взаимопростыми называются числа, неимеющие общих делителей кроме 1.

3) Вычисляется число e из условия e*d mod M=1. Сразу коротко отметим, что такое число не является единственными, это значит что чисел, отвечающих этому условию бесконечно много.

4) N – всегда общеизвестна – часть открытого ключа. 2ое можно выбрать e или d. Оставшееся число автоматически становится закрытым ключом в момент своего опубликования. Часто в алгоритмах указывается что мы берем текст определенной длины и шифруем. На самом деле алгоритм дается для взаимодействия с числами (число и текст – взаимооднозначное соответствие).

5) Но для того, чтобы алгоритм работал, это число должно отвечать условию 1<S<N. Текст предварительно разбивается на блоки, каждый блок имеет числовую форму, эта числовая форма должна отвечать условию 1<S<N. Замечание – само значение N должно быть максимально приближено к максимальному целому числу, представленному в 32 битах. Если мы выполнили все условия, после этого наступает сам шаг шифрования.

6) S’=S^e modN(e-открытый, может быть d).

7)Расшифрование – S=(S’)^d mod N(d – ключ).

На самом деле в основе этого алгоритма лежит малая теорема Ферма. Авторы доказали частный случай теоремы и из нее получили этот алгоритм.

Р ассмотрим, какая система связи возникнет при использовании этого алгоритма. Алгоритмы с открытым ключом всегда используют 2 ключа – один для шифрования, один для расшифрования, при этом у пользователя А есть РШа – ключ для расшифрования, и есть Ша – открытый ключ.

Т.е зашифровать может любой, а расшифровать только пользователь А. Для дуплексного обмена нужно, чтобы пользователь B точно также распространил свой ключ для шифрования открытый ключ (передал пользователю А). Если много пользователей возникает система связи с открытым ключом, которая работает после обмена открытыми ключами. И когда получилась эта система, появилась бурная внедрение, как в экономику, так и в защиту. Криптография стала общедоступной. Это вызвало недовольство со стороны криптоаналитиков. Идея квантового компьютера появилась из необходимости расшифровывать эти шифры. Если этих шифров не будет, жизнь откатится в 50-60е года, т.к. все структуры, их защита, основаны на этих алгоритмах.

Несмотря на то, что удалось расшифровать 150 десятичных знаков, сдвинули планку и это уже стало невозможных. Для сегодняшнего развития ВЧ рекомендуется использовать числа с не менее 300 десятичными разрядами.

11. Шифр Эль Гаммаля.

Алгоритм Эль-Гомера может использовать общую формулировку:

1) задается целое большое простое число P.

2)сообщение должно удовлетворять условию 1<S<P. P-открытый общедоступный ключ.

3)А генерирует случайное число Х, 1<X<P, B генерирует случайное число Y, 1<Y<P.

4)А шифрует сообщение S S1=S^X mod P и отправляет его В.

5) В шифрует сообщение своим ключом S2=S1^Y mod P и возвращает его А.

6)А снимает свой ключ и S3=S2^(-x) mod P и возвращает результат Р.

7)В расшифровывает сообщение, снимая с него свой ключ S=S3^(-y) mod P. Особенность – никогда не находится в канале сообщения незащищенной информации. Такая технология позволяет присоединяя свои собственные сообщения организовывать связь на принципе игры в шахматы или в карты. А и В не могут знать чужие ключи, знают только свои. Для более простых шифров часть шагов объединяется в виде дополнительно общего ключа.

Здесь есть особенность – для определенных чисел очень легко определить числа x и y. К счастью таких чисел немного и их необходимо избегать. Если при раскрытии ключа пострадает 1 один абонент системы в 1ом алгоритме, то во втором пострадают оба.

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

1) p=3, q=11, N=33.

2) (p-1)(q-1)=20; d=3.

3) Выберем e (e*3)mod20=1. e=7, существуют другие числа.

4) Зашифруем сообщение используя ключ e и N [7,33].c1=3^7 mod 33 = 9, c2=1^7 mod 33=1, c3=2^7 mod33=29; Получим такой код {9,1,29}.

5) Расшифрование m1=9^3 mod 33 = 729 mod 33 = 3; m2=1 mod 33 =1; m3=29^3 mod 33 = 24389 mod 33 = 2.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]