The design of the UNIX Operating System 131 страница



 

de mod m = 1.

 

Здесь d легко можно найти по обобщенному алгоритму Евклида (см., например, Д. Кнут. Искусство про-граммирования на ЭВМ, т.2, 4.5.2). Известно, что вычислительная сложность алгоритма Евклида ~ ln n.

 

Подставляя Φ(n) вместо m, получим de modΦ(n)=1

 

или

 

de = kΦ(n)+1

 

Тогда прямой функцией будет

 

Φ(x) = xe mod n

 

где x – положительное целое, x<n=pq, p и q – целые простые числа и, следовательно,

 

Φ(n)=(p-1)(q-1)

 

где e – положительное целое и e<Φ(n). Здесь e и n открыты. Однако p и q неизвестны (чтобы их найти, нужно выполнить разбиение n на множители), следовательно, неизвестна и Φ(n), а именно они и состав-ляют потайной ход.

 

Вычислим обратную функцию

 

Φ-1(y) = yd mod n = xed mod n = xkΦ(n)+1 mod n = x


Основы операционных систем 166

Последнее преобразование справедливо, поскольку x<n и x и n взаимно просты.

 

При практическом использовании алгоритма RSA вначале необходимо выполнить генерацию ключей. Для этого нужно:

 

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

 

2. Вычислить произведение n=pЧq;

3. Выбрать большое случайное число d, не имеющее общих сомножителей с числом (p-1)Ч(q-1);

 

4. Определить число e, чтобы выполнялось

 

(eЧd)mod((p-1)Ч(q-1))=1.

 

Тогда открытым ключом будут числа e и n, а секретным ключом – числа d и n.

 

Теперь, чтобы зашифровать данные по известному ключу {e,n}, необходимо сделать следующее.

 

• Разбить шифруемый текст на блоки, где i-й блок представить в виде числа M, величина которого меньше, чем n. Это можно сделать различными способами, например используя вместо букв их номера в алфавите.

 

• Зашифровать текст, рассматриваемый как последовательность чисел m(i), по формуле c(i)=(m(i)e)mod n.

 

Чтобы расшифровать эти данные, используя секретный ключ {d,n}, необходимо вычислить: m(i) = (c(i)d) mod n. В результате будет получено множество чисел m(i), которые представляют собой часть исходного текста.

 

Например, зашифруем и расшифруем сообщение "AБВ", которое представим как число 123.

 

Выбираем p=5 и q=11 (числа на самом деле должны быть большими).

 

Находим n=5Ч11=55.

 

Определяем (p-1)Ч(q-1)=40. Тогда d будет равно, например, 7.

 

Выберем e, исходя из (eЧ7) mod 40=1. Например, e=3.

 

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

 

C1 = (13) mod 55 = 1

C2 = (23) mod 55 = 8

C3 = (33) mod 55 = 27

 

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

 

M1 = (17) mod 55 = 1

M2 = (87) mod 55 = 2097152 mod 55 = 2

M3 = (277) mod 55 = 10460353203 mod 55 = 3

 

Таким образом, все данные расшифрованы.

 

Заключение

 

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

 

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


Основы операционных систем 167

Основные понятия информационной безопасности регламентированы в основополагающих документах.

 

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

 

 

16. Лекция: Защитные механизмы операционных систем

 

Решение вопросов безопасности операционных систем обусловлено их архитектурными особенностями и связано с правильной организацией идентификации и аутентификации, авторизации и аудита.

 

Перейдем к описанию системы защиты операционных систем. Ее основными задачами являются иден-тификация, аутентификация, разграничение доступа пользователей к ресурсам, протоколирование и ау-дит самой системы . Более подробную информацию об этом можно найти в [Дейтел, 1987], [Столлингс,2001], [Таненбаум, 2002] и ряде других источников.


Дата добавления: 2021-01-21; просмотров: 95; Мы поможем в написании вашей работы!

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






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