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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!