Ранее мы рассматривали алгебраическую модель шифра К.Шеннона как трехосновную универсальную алгебру А=(М,К,С,Е), где
M - множество открытых текстов,
К - множество ключей,
C - множество криптограмм и
Е – инъективная (взаимно однозначная) функция шифрования:
Е k: МхК ® С E k ( m )= c, где m ÎM, k ÎK, c ÎC.
Для того, чтобы эта модель могла быть применима к асимметричным криптографическим системам, необходимо ее расширение. Основная концептуальная идея построения такой модели, естественна и очевидна. Она состоит в отдельном описании моделей двух шифров: шифра шифрования и шифра расшифрования, совокупность которых и составляет обобщенную алгебраическую модель шифра.
Шифром зашифрования (алгеброй зашифрования) назовем алгебру
Аш=(М, Мс, Кш С, Сс, Е), где
² множество МсÍМ трактуется как подмножество всех содержательных текстов из множества «открытых текстов» M.
² функция шифрования Е осуществляет отображение МхКш на С:
Е: МхКш® С, Ек( m )= c,
то есть является сюрьективной, причем " k ÎКш отображение Е k (m) инъективно (образы двух различных элементов различны), а множество Сс состоит из шифрограмм, которые могут быть получены в результате шифрования содержательных текстов: Сс =Е(McхKш), то есть результатов шифрования тех открытых текстов m, для которых определено значение Е k (m) для всех ключей шифра k ÎКш.
|
|
Введение подмножества МсÍМ как множества содержательных текстов позволяет корректно вводить критерии на содержательные тексты.
Таким образом, шифр зашифрования есть некоторое уточнение модели шифра Шеннона А=(М,Кш,С,Е).
Шифром расшифрования (алгеброй расшифрования) для Аш назовем алгебру
Ар=(Мр, Кр, Ср, D), где
Ø CÍСр и введение множества C p — шифртекстов «правильных» сообщений (а точнее, C p \C — множества искаженных шифртекстов) обеспечивает возможность описания реакции приемной стороны на поступление искаженного шифрованного сообщения c p ÏC;
Ø МÍМр, и введение множества М p \М обеспечивает возможность описания результата расшифрования приемной стороной искаженного шифрованного сообщения c p ÏC;
Ø функция дешифрования D- сюрьективное отображение
D: Cpx Кр® Мр, D k ( с )= m,
для которого выполняются следующие условия:
1) существует биекция f: Кш®Кр;
2) для любых m ÎM, k ÎКш из условия Е k (m)= c вытекает
D(c, f (k))= m.
При отсутствии искажений в канале связи функция расшифрования D полностью определена на всем множестве CхКр.
Отметим, что в определении шифра расшифрования не содержится требований инъективности функции f по переменной k Î K p.
Алгебраической обобщенной моделью шифра назовем тройку
|
|
(Аш,Ар, f).
К положительным свойствам этой модели относится возможность моделирования шифров как с симметричным, так и с асимметричным ключом.
При этом учитываются следующие соображения:
Ø ключ k шÎКш несекретен, а ключ k р= f (k ш)ÎK p является секретным;
Ø определение значения k связано с решением сложных проблем;
Ø синтез пар ключей (kш, kр) проводится достаточно просто.
Заметим, что здесь проявляется возможность классификации шифров по параметру сложности вычисления значения f (kш) ключа расшифрования, что определяет основной параметр криптографической стойкости шифров с ассиметричным ключом.
Односторонние функции
Концепция асимметричных криптографических систем с открытым ключом основана на применении однонаправленных или односторонних функций. Последнее название было дано по ассоциации с односторонним движением, когда легко проехать в одну сторону и нельзя в другую. При этом в криптографии, как в жизни, «нельзя» не означает «невозможно ни при каких условиях», но говорит о том, что это сопряжено с серьезными трудностями.
Определение. Функция f: Х®У называется односторонней (oneway function), если существует эффективный алгоритм для вычисления f(x) " x, но не существует эффективного алгоритма для вычисления хотя бы одного элемента прообраза f -1(у).
Никто не знает, существуют ли вообще односторонние функции. Основным критерием отнесения функции f к классу односторонних или необратимых является отсутствие эффективных с вычислительной точки зрения алгоритмов обратного преобразования Y®X. В криптографии под необpатимостью понимается не теоретическая необратимость функции, а практическая невозможность вычислить обратное значение, используя современные вычислительные средства за заданный интервал времени. Таким образом, проблемы построения односторонних функций связаны с теоретико-вероятностной сложностью алгоритмов и алгоритмическими вопросами теории чисел.
Множество классов необратимых функций и порождает все разнообразие систем с открытым ключом. Большинство предлагаемых сегодня криптосистем с открытым ключом опираются на один из следующих типов необратимых преобразований:
6) Разложение больших целых чисел на простые множители.
7) Вычисление логарифма в конечном поле.
8) Вычисление корней алгебраических уравнений.
Факторизация
В качестве первого примера однонаправленной функции рассмотрим целочисленное умножение. Прямая задача — вычисление произведения двух очень больших целых чисел р и q, т.е. нахождение значения n=p · q, является относительно несложной задачей.
Обратная задача, называемая задачей факторизации, - разложение на множители большого целого числа, т.е. нахождение делителей p и q большого целого числа
n = p · q,
является практически неразрешимой задачей при достаточно больших значениях n. По современным оценкам теории чисел при целом n»2664 и p»q для разложения числа n потребуется около 1023 операций, т.е. задача практически неразрешима на современных ЭВМ.
Если простые сомножители имеют специальный вид, известны более эффективные алгоритмы факторизации. Речь идет о сомножителях р, таких, у которых величины р -1 или р +1 являются «гладкими», т. е. имеют только малые простые делители.
Однако с появлением алгоритма факторизации с использованием эллиптических кривых класс чисел, допускающих быструю факторизацию, расширился и простые критерии проверки принадлежности данному классу утратили свою значимость. Поэтому, как правило, единственным разумным критерием может служить размер простых множителей, поскольку с увеличением размера уменьшается вероятность выбрать число специального вида.
Дискретный логарифм
|
|
Другой пример однонаправленной функции — это модульная экспонента с фиксированными основанием и модулем. Пусть а и n - целые числа, такие, что 1£ a £ n. Тогда модульная экспонента с основанием a по модулю n представляет собой функцию
y = ax mod n,
где х – целое число. Естественно записать х = loga (у).
Задачу обращения этой функции в множестве целых чисел называют задачей нахождения дискретного логарифма.
Определение. Число х называют дискретным логарифмом числа y по основанию a и модулю n, если для всех а Î Zn найдется такое целое y, что
y = ax mod n.
Вычисление дискретных логарифмов (когда заданы a, y и n) примерно такая же труднорешаемая задача, как и разложение на множители.
Определение. Односторонняя функция f: X ® Y называется односторонней функцией с ловушкой, если f -1(у) можно вычислить за полиномиальное время, имея некоторую дополнительную информацию, т. е. существует функция g (у,t), вычислимая за полиномиальное время и такая, что g (y,t) = f -1(у) для некоторой ловушки t.
Эффективное вычисление обратной функции возможно, если известен "потайной ход" (секретное число, строка или другая информация, ассоциирующаяся с данной функцией). В качестве примера однонаправленной функции с "потайным ходом" можно привести использование функции Эйлера в криптосистеме RSA.
Криптосистема RSA
Алгоритм RSA стал первым полноценным алгоритмом с открытым ключом, который может работать как в режиме шифрования данных, так и в режиме электронной цифровой подписи. Основанная на этом алгоритме популяpная криптосистема RSA pазpаботана в 1977 году и получила название в честь ее создателей: Рональда Ривеста (в настоящее вpемя он возглавляет компанию RSA Data Security), Ади Шамира и Леонарда Эйдельмана.
В настоящее время RSA является наиболее распространенной криптосистемой с открытым ключом — стандартом де-факто для многих криптографических прложений. Статус де-факто послужил причиной включения криптосистемы RSA в принятые ранее криптографические стандарты, например в финансовые стандарты США и Франции, австралийский стандарт управления ключами и многие другие. Криптосистема RSA применяется в различных протоколах Internet. В криптографические стандарты, действующие на территории России, RSA не входит, что осложняет ее применение с точки зрения правовых норм. Тем не менее, выбор этой криптосистемы признается оправданным отечественными авторами [7].
|
|