- •Глава 36. Схемы шифрования rsa, Эль Гамаля, Полига-Хеллмана
- •Часть 5. Шифры с открытым ключом шифрования
- •Глава 36.
- •36.1. Основные понятия модулярной арифметики
- •Основные способы нахождения обратных величин a–1 1 (mod n).
- •36.2. Криптосистема шифрования данных rsa
- •X((Pх)) y (modQ).
- •36.3. Схема шифрования Эль Гамаля
- •36.4. Схема шифрования Полига-Хеллмана
- •Глава 37.
- •Глава 38.
- •38.1. Основные принципы построения протоколов идентификации и аутентификации
- •Доказательство проверяемого a:
- •38.3. Типовые схемы идентификации и аутентификации пользователя информационной системы
- •38.4. Особенности применения пароля для аутентификации пользователя
- •38.5. Взаимная проверка подлинности пользователей
- •38.6. Протоколы идентификации с нулевой передачей знаний
- •38.7. Упрощенный вариант схемы идентификации с нулевой передачей знаний. Протокол Фиата-Шамира
- •38.8. Параллельная схема идентификации с нулевой передачей знаний (с нулевым раскрытием)
- •38.9. Модифицированный протокол Фиата-Шамира
- •38.10. Схема идентификации Шнорра
- •38.11. Схема идентификации Гиллоу-Куискуотера
- •38.12. Способ проверки подлинности, где не требуется предъявлять секретный пароль
- •38.13. Проверка подлинности с помощью систем шифрования с открытым ключом
- •38.14. Биометрическая идентификация и аутентификация пользователя
- •Глава 39.
- •39.1. Основные понятия
- •39.4. Однонаправленные хэш-функции
- •Схемы безопасного хэширования, у которых длина хэш-значения равна длине блока
- •39.5. Отечественный стандарт хэш-функции
- •Глава 40.
- •40.1. Электронная цифровая подпись для аутентификации данных
- •40.2. Алгоритмы электронной цифровой подписи
- •40.3. Алгоритм цифровой подписи rsa
- •Обобщенная схема цифровой подписи rsa
- •40.4. Недостатки алгоритма цифровой подписи rsa
- •40.5. Алгоритм цифровой подписи Эль – Гамаля
- •40.6. Цифровая подпись Эль-Гамаля
- •40.7. Особенности протокола Эль-Гамаля
- •40.8. Алгоритм цифровой подписи dsa
- •40.10. Цифровые подписи с дополнительными функциональными свойствами
- •40.11. Алгоритм неоспоримой цифровой подписи д.Чома
- •40.12. Протокол подписи, позволяющий отправителю сообщения не предоставлять право получателю доказывать справедливость своей подписи
- •Глава 41.
- •41.1. Генерация ключей
- •41.2. Концепция иерархии ключей
- •41.3. Распределение ключей
- •41.4. Протокол аутентификации и распределения ключей для симметричных криптосистем
- •41.5. Протокол для асимметричных криптосистем с использованием сертификатов открытых ключей
- •41.6. Использование криптосистемы с открытым ключом для шифрования и передачи секретного ключа симметричной криптосистемы
- •Длины ключей для симметричных и асимметричных криптосистем при одинаковой их криптостойкости
- •41.7. Использование системы открытого распределения ключей Диффи-Хеллмана
- •41.8. Протокол skip управления криптоключами
- •Глава 42.
- •42.1. Основные понятия конечных полей
- •42.2. Криптографические протоколы. Протокол Диффи-Хеллмана
- •42.3. Протокол электронной цифровой подписи
36.3. Схема шифрования Эль Гамаля
Схема Эль Гамаля, предложенная в 1985 г., может быть использована как для шифрования, так и для цифровых подписей. Безопасность схемы Эль Гамаля обусловлена сложностью вычисления дискретных логарифмов в конечном поле.
Для того чтобы генерировать пару ключей (открытый ключ – секретный ключ), сначала выбирают некоторое большое простое число Р и большое целое число G, причем G < P. Числа Р и G могут быть распространены среди группы пользователей.
Затем выбирают случайное целое число X, причем X<P. Число X является секретным ключом и должно храниться в секрете.
Далее вычисляют Y = GX mod P. Число Y является открытым ключом.
Для того чтобы зашифровать сообщение M, выбирают случайное целое число K, 1< K< P –1, такое, что числа К и (Р –1) являются взаимно простыми.
Затем вычисляют числа
a = GK mod P,
b = YK M mod P.
Пара чисел (a,b) является шифртекстом. Заметим, что длина шифртекста вдвое больше длины исходного открытого текста М.
Для того чтобы расшифровать шифртекст (a,b), вычисляют
M = mod P. ()
Поскольку
aX GKX mod P,
YK GKX M (mod P),
то соотношение (*) справедливо.
Пример. Выберем P=11, G=2, секретный ключ X=8. Вычисляем
Y = GX mod P = 28 mod 11 = 256 mod 11 = 3.
Итак, открытый ключ Y=3. Пусть сообщение М=5. Выберем некоторое случайное число К=9. Убедимся, что НОД (К, Р–1) =1. Действительно, НОД (9, 10) =1. Вычисляем пару чисел a и b:
a = GK mod P = 29 mod 11 = 512 mod 11 = 6,
b =YK M mod P = 39∙5 mod 11 = 19683∙5 mod 11 = 9.
Получим шифртекст (a, b) = (6, 9). Выполним расшифрование этого шифртекста. Вычисляем сообщение М, используя секретный ключ X:
M = b/aX mod P = 9/68 mod 11.
Выражение M = 9/68 mod 11 можно представить в виде 68 M 9 mod 11 или 1679616 M 9 mod 11. Решая данное сравнение, находим М = 5.
36.4. Схема шифрования Полига-Хеллмана
Шифр Полига – Хеллмана похож на RSA. Она представляет собой несимметричный алгоритм, поскольку используются различные ключи для шифрования и расшифрования. В то же время эту схему нельзя отнести к классу криптосистем с открытым ключом, так как ключи шифрования и расшифрования легко выводятся один из другого. Оба ключа (шифрования и расшифрования) нужно держать в секрете.
Аналогично схеме RSA криптограмма С и открытый текст Р определяются из соотношений:
С = Ре mod n,
P = Cd mod n,
где e∙d 1 (по модулю некоторого составного числа).
В отличие от алгоритма RSA в этой схеме число n не определяется через два больших простых числа; число n должно оставаться частью секретного ключа. Если кто-либо узнает значения e и n, он сможет вычислить значение d. Не зная значений e или d, противник будет вынужден вычислять значение e=logP C (mod n). Известно, что это является трудной задачей.
Глава 37.
Идентификация пользователя
С каждым объектом компьютерной системы (КС) связана некоторая информация, однозначно идентифицирующая его. Это может быть число, строка символов, алгоритм, определяющий данный объект. Эту информацию называют идентификатором объекта. Если объект имеет некоторый идентификатор, зарегистрированный в сети, он называется законным (легальным) объектом; остальные объекты относятся к незаконным (нелегальным).
Идентификация объекта – одна из функций подсистемы защиты. Эта функция выполняется в первую очередь, когда объект делает попытку войти в сеть.
1 шаг. Идентификация объекта. Если подсистема защиты приняла идентификатор объекта, то данный объект считается законным для данной сети.
2 шаг. Подтверждение подлинности объекта. Проверка подлинности объекта (его аутентификация) устанавливает, является ли данный объект именно таким, каким он себя объявляет.
3 шаг. Предоставлением полномочий (авторизация) объекта. Устанавливается сфера действия и доступные объекту ресурсы КС.
Перечисленные три процедуры инициализации являются процедурами защиты и относятся к одному объекту КС. Для получения доступа к ресурсам компьютерной системы, пользователь должен пройти процесс представления компьютерной системе, который включает две стадии:
-
идентификацию – пользователь сообщает системе по ее запросу свое имя (идентификатор);
-
аутентификацию – пользователь подтверждает идентификацию, вводя в систему уникальную, не известную другим пользователям информацию о себе (например, пароль).
Обычно процедуры идентификации и аутентификации проводятся совместно в комплексе. Для проведения процедур идентификации и аутентификации пользователя необходимы:
-
наличие соответствующего субъекта (модуля) аутентификации;
-
наличие аутентифицирующего объекта, хранящего уникальную информацию для аутентификации пользователя.