- •Оглавление
- •Понятие информационной безопасности
- •Виды, факторывозникновения, способы воздействия и защитыот угроз информационным объектам
- •Методы и средства защиты информации
- •Подходы к обеспечению информационной безопасности
- •Основные понятия криптологии
- •Симметричные криптосистемы
- •Односторонние функции
- •Асимметричные криптосистемы
- •Предыстория вопроса
- •Сравнение вычислений прямой и обратной функций
- •Использование односторонней функции для решения задач
- •Электронная цифровая подпись (эцп)
- •Шифр rsa
- •Электронная цифровая подписьRsa
- •Передача секретной информации по открытым каналам
- •Система Диффи-Хеллмана
- •Шифр Шамира
- •Шифр Эль-Гамаля
- •Электронные деньги
- •Механизм электронных наличных
- •Преимущества электронных денег
- •Компьютерные вирусы
- •Правовая защита программных продуктов и бд
- •Общие положения
- •Авторское право.
- •Лицензии
- •Авторское право
- •Стандарты информационной безопасности
- •Международные стандарты
- •Защита в Интернет
- •Государственные российские стандарты
Асимметричные криптосистемы
Их еще называют системами с открытым ключом. Для шифрования используется один ключ, а для расшифровки другой. Полный ключ расшифровки состоит из первого и второго ключей. Первый ключ открытый, второй – секретный. Открытый ключ формируется с помощью секретного ключа. Однако получить секретный ключ с помощью открытого невозможно.
Асимметричная схема секретной связи показана на рис 7.1.
Рис 7.1. Асимметричная схема секретной связи
Заметим, что закрытый канал связи в симметричной схеме отсутствует.
Предыстория вопроса
Рассмотрим три задачи, имеющие важное практическое значение.
Хранение паролей в компьютере.
При входе в компьютерную сеть пользователь выбирает имя и затем вводит секретный пароль. Проблема состоит в следующем: если хранить пароли в компьютере, то злоумышленник Е может прочитать их и использовать. Особенно легко это можно сделать, еслиЕ является администратором сети. Необходимо организовать хранение паролей так, чтобы прочитать их было невозможно.
Банк-клиент.
Задача возникает в компьютерных банковских сетях с удаленным доступом. В начале сеанса банк спрашивает у клиента имя, а затем секретный пароль. ПротивникЕможет узнать пароль, т.к. линия связи между клиентом и банком открытая – городская телефонная сеть.
Свой-чужой самолет.
Задача связана с появлением радиолокаторов и систем ПВО. При пересечении самолетом границы ПВО спрашивает у него пароль. Если пароль верный, то самолет свой, а если неверный, то чужой. Здесь возникает проблема: пароль должен передаваться по открытому каналу связи – воздушной среде. Противник Е прослушивает все разговоры и может перехватить пароль. Затем чужой самолет повторит пароль и будет пропущен.
Решение всех трех задач основано на понятии односторонней функции.
Односторонние функции
Функция y=f(x) называется односторонней, если вычисление обратной к ней функции x=f-1(y) происходит гораздо труднее, чем вычисление прямой функции.
Например: у=x2 – прямая функция, – обратная функция. Обратная функция корня вычисляется труднее, чем функция возведения в квадрат. x – это блок исходного сообщения, у – зашифрованный блок. Прямая функция представляет шифрование, обратная функция – расшифровку. Существуют односторонние функции, которые сами вычисляются за доли секунды, а обратные к ним вычисляются за тысячи лет на суперкомпьютере.
В качестве односторонней функции в криптологии чаще всего применяется степень числа «а» по модулю «р», обозначается «y=axmod p». Здесь «р» – большое простое число (делится только на себя и на единицу). а<p,x<p,y<p. Длина числа «р» ограничивает размер блока сообщения. При определенных сочетаниях «а, р» функция y=axmod p – взаимно-однозначная. Поэтому возможна однозначная расшифровка«x» по известному «y».
При возведении в степень ax в каждом умножении берется остаток от деления результата на число «р», частное отбрасывается.
Пример вычисления:
31mod 7 =3,
32mod 7 =2,
33mod 7 = (32*31)mod 7 =2*3 =6,
34mod 7 = (32*32)mod 7 =2*2 =4,
35mod 7 = (34*31)mod 7 =(4*3) mod 7 =5,
36mod 7 = (34*32)mod 7 =(4*2) mod 7 =1,
При вычислениях не получается огромных чисел. Остаток от деления на число pвсегда меньше р.
Обратная функция называется дискретным логарифмом и обозначается x=logay mod p.
Эффективное возведение в степень.
Сначала кажется, что для возведения в степень ax требуется (x-1) умножение. Действительно a16 = a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*- 15 умножений. Однако a16 = (((a2) 2) 2) 2– 4 умножения. Для эффективного возведения в степень предлагается следующий алгоритм.
Представить степень х как двоичное число с разрядами xi={0,1}, т.е. x=(хtxt 1…x1x0)2. Тем более, что число х в компьютере уже хранится в двоичном виде.
Вычислить а, а2, а4, а8, а16, а32,…,а2t. Здесь t умножений. t< log2p.
Вычислить произведение тех степеней а2i, для которых xi=1. ax=П а2i│ xi=1. Здесь меньше или равно t умножений.
Число умножений при эффективном возведении в степень не превосходит 2*log2p (axmodp, x<p).
