Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции по ИБ.docx
Скачиваний:
11
Добавлен:
01.05.2025
Размер:
139 Кб
Скачать
☆
  1. Асимметричные криптосистемы

Их еще называют системами с открытым ключом. Для шифрования используется один ключ, а для расшифровки другой. Полный ключ расшифровки состоит из первого и второго ключей. Первый ключ открытый, второй – секретный. Открытый ключ формируется с помощью секретного ключа. Однако получить секретный ключ с помощью открытого невозможно.

Асимметричная схема секретной связи показана на рис 7.1.

Рис 7.1. Асимметричная схема секретной связи

Заметим, что закрытый канал связи в симметричной схеме отсутствует.

    1. Предыстория вопроса

Рассмотрим три задачи, имеющие важное практическое значение.

  1. Хранение паролей в компьютере.

При входе в компьютерную сеть пользователь выбирает имя и затем вводит секретный пароль. Проблема состоит в следующем: если хранить пароли в компьютере, то злоумышленник Е может прочитать их и использовать. Особенно легко это можно сделать, еслиЕ является администратором сети. Необходимо организовать хранение паролей так, чтобы прочитать их было невозможно.

  1. Банк-клиент.

Задача возникает в компьютерных банковских сетях с удаленным доступом. В начале сеанса банк спрашивает у клиента имя, а затем секретный пароль. ПротивникЕможет узнать пароль, т.к. линия связи между клиентом и банком открытая – городская телефонная сеть.

  1. Свой-чужой самолет.

Задача связана с появлением радиолокаторов и систем ПВО. При пересечении самолетом границы ПВО спрашивает у него пароль. Если пароль верный, то самолет свой, а если неверный, то чужой. Здесь возникает проблема: пароль должен передаваться по открытому каналу связи – воздушной среде. Противник Е прослушивает все разговоры и может перехватить пароль. Затем чужой самолет повторит пароль и будет пропущен.

Решение всех трех задач основано на понятии односторонней функции.

    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 умножения. Для эффективного возведения в степень предлагается следующий алгоритм.

  1. Представить степень х как двоичное число с разрядами xi={0,1}, т.е. x=(хtxt 1…x1x0)2. Тем более, что число х в компьютере уже хранится в двоичном виде.

  2. Вычислить а, а2, а4, а8, а16, а32,…,а2t. Здесь t умножений. t< log2p.

  3. Вычислить произведение тех степеней а2i, для которых xi=1. ax=П а2i│ xi=1. Здесь меньше или равно t умножений.

Число умножений при эффективном возведении в степень не превосходит 2*log2p (axmodp, x<p).