Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Ассиметричные криптосистемы. Концепция криптосистемы с открытым ключом.
Эффективными системами криптографической защиты данных являются асимметричные криптосистемы, называемые также криптосистемами с открытым ключом. В таких системах для зашифрования данных используется один ключ, а для расшифрования – другой ключ (отсюда и название – асимметричные). Первый ключ является открытым и может быть опубликован для использования всеми пользователями системы, которые зашифровывают данные. Расшифрование данных с помощью открытого ключа невозможно. Для расшифрования данных получатель зашифрованной информации использует второй ключ, который является секретным. Разумеется, ключ расшифрования не может быть определен из ключа зашифрования.
Ассиметричные криптосистемы. Однонаправленные функции Понятия однонаправленной функции и однонаправленной функции с "потайным ходом" являются центральными понятиями всей криптографии с открытым ключом. Аналогом однонаправленной функции в быту является разбитая вдребезги стеклянная бутылка. Расколотить ее на мелкие осколки очень легко, однако попробуйте снова собрать целую бутылку из осколков! Рассмотрим два произвольных множества X и Y . Функция f: X -> Y называется однонаправленной, если f(x) может быть легко вычислена для каждого x из X, тогда как почти для всех y из Y вычисление такого x из X, что f(x) = y (при условии, что хотя бы один такой x существует), является сложным. Это понятие не нужно путать с функциями, которые являются математически необратимыми из-за того, что они не взаимнооднозначны.
RSA — криптографический алгоритм с открытым ключом, основывающийся на вычислительной сложности задачи факторизации больших целых чисел. Чтобы использовать алгоритм RSA надо сначало сгенерировать открытый и секретный ключи, выполнив следующие шаги: 1. Выберем два очень больших простых числа p и q. 2. Определим n как результат умножения p на q ( n = p*q ). 3. Выберем большое случайное число, которое назовем d. Это число должно быть взаимно простым с результатом умножения (p-1) * (q-1). 4. Определим такое число е, для которого является истинным следующее соотношение: (e * d) mod ((p-1) * (q-1)) = 1. 5. Назовем открытым ключем числа е и n, а секретным ключем числа d и n. Теперь, чтобы зашифровать данные по известному ключу {e,n}, необходимо сделать следующее: • разбить шифруемый текст на блоки, каждый из которых может быть представлен в виде числа M(i) = 0, 1,..., n-1; • зашифровать текст, рассматриваемый как последовательность чисел M(i), по формуле: • С(i) = (M(i)^e) mod n. Чтобы расшифровать эти данные используя секретный ключ {d,n}, необходимо выполнить следующие вычисления: M(i) = (C(i)^d) mod n. В результате будет получено множество чисел M(i), которые представляют собой исходный текст.
Схема Эль-Гамаля (Elgamal) — криптосистема с открытым ключом,основанная на трудности вычисления дискретных логарифмов в конечном поле. Криптосистема включает в себя алгоритм шифрования и алгоритм цифровой подписи. Генерация ключей: 1. Генерируется случайное простое число p. 2. Выбирается целое число g — первообразный корень p. 3. Выбирается случайное целое число x такое, что 1<x<p. 4. Вычисляется y=g^x,mod p. 5. Открытым ключом является тройка (p,g,yt) Сообщение шифруется следующим образом˸ 1. Выбирается сессионный ключ—случайное целое число k такое, что 1<k<p-1 2. Вычисляются числа a=g^k mod p и b=y^k M mod p 3. Пара чисел (a,b ) является шифротекстом.
Нетрудно видеть, что длина шифротекста в схеме Эль-Гамаля длиннее исходного сообщения вдвое.
Идентификация и аутентификация пользователей. Основные понятия
Идентификация позволяет субъекту (пользователю, процессу, действующему от имени определенного пользователя, или иному аппаратно-программному компоненту) назвать себя (сообщить свое имя). Посредством аутентификации вторая сторона убеждается, что субъект действительно тот, за кого он себя выдает. В качестве синонима слова "аутентификация" иногда используют словосочетание "проверка подлинности". Аутентификация бывает односторонней (обычно клиент доказывает свою подлинность серверу) и двусторонней (взаимной). Пример односторонней аутентификации - процедура входа пользователя в систему. В сетевой среде, когда стороны идентификации/аутентификации территориально разнесены, у рассматриваемого сервиса есть два основных аспекта: • что служит аутентификатором (то есть используется для подтверждения подлинности субъекта); • как организован (и защищен) обмен данными идентификации/аутентификации. Субъект может подтвердить свою подлинность, предъявив по крайней мере одну из следующих сущностей: • нечто, что он знает (пароль, личный идентификационный номер, криптографический ключ и т.п.); • нечто, чем он владеет (личную карточку или иное устройство аналогичного назначения); • нечто, что есть часть его самого (голос, отпечатки пальцев и т.п., то есть свои биометрические характеристики).
|
Последнее изменение этой страницы: 2019-04-11; Просмотров: 378; Нарушение авторского права страницы