Для того чтобы иметь возможность доказывать в криптографии точные результаты, нужны математические модели основных исследуемых объектов, к которым относятся в первую очередь шифр и открытый текст. Введем сначала алгебраическую модель шифра (шифрсистемы), предложенную К.Шенноном. С моделями открытых текстов мы познакомимся ниже.
Как мы уже знаем, криптография защищает информацию с помощью шифрования – процедуры, использующей некое обратимое преобразование. При этом преобразование открытого текста в шифрованный называется зашифрованием, а обратный процесс – расшифрованием. Шифрование предполагает наличие множества обратимых преобразований. Выбор преобразования из указанного множества для зашифрования данного сообщения осуществляется с помощью ключа. Имеется однозначное соответствие между множеством ключей и множеством преобразований.
Выбор ключа естественным образом определяет функцию (вообще говоря, многозначную), отображающую множество возможных открытых текстов в множество возможных шифрованных текстов. Способ вычисления значения этой функции для произвольного аргумента будем называть правилом зашифрования. Выбранный ключ будем называть ключом зашифрования. Требование однозначности расшифрования определяет обратную функцию, отображающую множество возможных (при выбранном ключе) шифрованных текстов в множество возможных открытых текстов. Способ вычисления значения этой функции для произвольного аргумента будем называть правилом расшифрования. Ключ, определяющий выбор правила расшифрования, будем называть ключом расшифрования.
Формализуем сказанное.
Пусть X,K,Y – конечные множества возможных открытых текстов, ключей и шифрованных текстов соответственно; Еk: Х —> Y – правило зашифрования на ключе k Î К. Множество {Еk : k Î К} обозначим через Е, а множество {Еk(х): хÎX}– через Еk(X). Пусть Dk :Еk (X) —> Х – правило расшифрования на ключе k Î К, и D – множество {Dk : k Î K}.
Здесь и далее мы будем предполагать, что если k Î К представляется в виде k=(kkз, kkр), где kз – ключ зашифрования, a kр – ключ расшифрования (причем kз¹kр), то Еkпонимается как функция Еkз , a Dk– как функция Dkр.
Определение 1.Шифром (шифрсистемой) назовем совокупность
åА=(X,K,Y,E,D)
введенных множеств, для которых выполняются следующие свойства:
1) для любых х Î Х и k Î К выполняется равенство
Dk (Еk (х)) = х;
2)Y= È Еk (X).
kÎK
Неформально, шифр – это совокупность множеств возможных открытых текстов (то, что шифруется), возможных ключей (то, с помощью чего шифруется), возможных шифр-текстов (то, во что шифруется), правил зашифрования и правил расшифрования.
Отметим, что условие 1) отвечает требованию однозначности расшифрования. Условие 2) означает, что любой элемент у Î Y может быть представлен в виде Еk(х) для подходящих элементов х Î Х и k Î К . Отметим также, что в общем случае утверждение "для любых k Î К и у Î Еk(X) выполняется равенство Ek(Dk(y)) = у" является неверным.
Легко проверить, что из условия 1) следует свойство инъективности функции Еk. Другими словами, если х1, х2 Î Х , причем х1 ¹ х2, то при любом k Î К выполняется неравенство Еk (х1) ¹Еk (х2).
По сути дела определение 1 вводит математическую модель, отражающую основные свойства реальных шифров. В силу этого мы будем отождествлять реальный шифр с его моделью åА, которую будем назвать алгебраической моделью шифра. Для подавляющего большинства известных шифров несложно составить такую модель, как это будет видно из дальнейшего.
Введем теперь вероятностную модель шифра. Следуя К. Шеннону, определим априорные распределения вероятностей Р(Х), Р(К) на множествах Х и К соответственно. Тем самым для любого х Î Х определена вероятность рХ(х) Î Р(Х) и для любого k Î К – вероятность рК(k) Î Р(К), причем выполняются равенства
и
В тех случаях, когда нам требуется знание распределений Р(Х) и Р(К), мы будем пользоваться вероятностной моделью åВ, состоящей из пяти множеств, связанных условиями 1) и 2) определения 1, и двух вероятностных распределений:
åВ = (X, К, Y, Е, D, Р(Х), Р(К)).
Забегая вперед, отметим, что вероятностные характеристики шифров используются лишь в криптоанализе – разделе криптографии, посвященном решению задач вскрытия (или взлома) шифров.
В большинстве случаев множества Х и Y представляют собой объединения декартовых степеней некоторых множеств А и В соответственно, так что для некоторых натуральных L и L1,
Множества А и В называют соответственно алфавитом открытого текста и алфавитом шифрованного текста. Другими словами, открытые и шифрованные тексты записываются привычным образом в виде последовательностей букв.
Введем шифр простой замены в алфавите А.
Определение 2. Пусть K Í S(A), где S(A) – симметрическая
группа подстановок множества А. Для любого ключа kÎK, открытого текста х=(х1,...,хm) и шифрованного текста у =(у1,..., уm) правила зашифрования и расшифрования шифра простой замены в алфавите А определяются формулами:
Еk(х)= (k(х1),...,k(хm)),
Dk(y)= (k -1(у1),..., k-1(уm)),
где k-1 – подстановка, обратная к k.
В более общей ситуации для шифра простой замены
причем |А|=|В|, а К представляет собой множество биекций множества А на множество В. Правила зашифрования и расшифрования определяются для
k Î К, х Î X, у Î Y (и обратной к k биекции k -1) формулами (1).
Определим еще один шифр, называемый шифром перестановки.
Определение 3. Пусть Х = Y = АL и пусть К Í SL, где SL – симметрическая группа подстановок множества {l,2,...,L}. Для любого ключа k, открытого текста х=(х1,...,хL) и шифрованного текста у=(у1,...,уL) правила зашифрования и расшифрования шифра перестановки определяются формулами:
Еk(х)= (хk(1)),...,хk(L))),
Dk(y)= (уk-1(1)),...,уk-1(L))),
где k-1 – подстановка, обратная к k.
Шифры, введенные определениями 2 и 3, являются представителями двух наиболее важных классов симметричных шифров, а именно шифров замены и шифров перестановки, которые будут подробно рассматриваться ниже. Другими симметричными шифрами являются композиции (или последовательные применения) некоторых шифров замены и шифров перестановки.
Приведем пример асимметричного шифра. В следующем определении шифра RSA мы будем пользоваться общепринятыми в алгебре терминологией и обозначениями.
Определение 4. Пусть п = pq, где р и q – простые числа. Пусть Х = Y = Zn – кольцо вычетов по модулю п. Положим
К= {(п,р, q, а, b): а,b Î Zn , п =pq, ab º 1(modj(n))},
где j –функция Эйлера. Представим ключ k Î К в виде k=(kз,kр), где kз=(n,b) и kр=(n,p,q,a) –ключи зашифрования и расшифрования соответственно. Правила зашифрования и расшифрования шифра RSA определим для
х Î Х и у Î Y формулами:
Еkз(х) = хbmod п, Dkр (у) = уаmod п. (2)
Аббревиатура RSA определяется начальными буквами фамилий создателей этого шифра – Rivest, Shamir, Adleman. Корректность формул (2) следует из малой теоремы Ферма.
Введенные определения и термины не исчерпывают полный перечень необходимых нам понятий, которые будут вводиться далее по необходимости.