ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
2012 Математические методы криптографии №3(17)
УДК 519.7
О СОВЕРШЕННЫХ ИМИТОСТОЙКИХ ШИФРАХ
С. М. Рацеев
Ульяновский государственный университет, г. Ульяновск, Россия E-mail: [email protected] В работе приводятся конструкции совершенных имитостойких шифров.
Ключевые слова: шифр, совершенный шифр, имитация сообщения.
Пусть X, K, Y — конечные множества открытых текстов, ключей и шифрованных текстов соответственно. Обозначим через Sb = (X, K, Y, E,D,P(X),P(K)) вероятностную модель шифра [1], где E и D — множества правил зашифрования и расшифрования соответственно. При этом предполагается, что априорные распределения вероятностей P(X) и P(K) на соответствующих множествах X и K независимы и не содержат нулевых вероятностей. Распределения P(X) и P(K) естественным образом индуцируют распределение вероятностей P(Y) следующим образом:
PY (y) = Е PX (x)PK (k).
(x,k)eXxK,
Ek (x)=V
Обозначим через K(x,y) множество таких ключей k E K, для которых Ek(x) = y. Условная вероятность Py|x(y|x) определяется естественным образом:
f E Pk(k), если K(x,y) = 0,
Py |X (y|x) = < k^K (x>y)
[ 0, если K(x,y) = 0.
С помощью теоремы умножения вероятностей можно определить и условную вероятность Py|x(y|x):
P in PX(x
Px|y (x|y) =-----
Напомним, что шифр Sb называется совершенным по Шеннону, если для любых x E X и y E Y выполняется равенство Px|y(x|y) = Px(x). Для совершенного по Шеннону шифра можно дать и эквивалентные определения.
Утверждение 1. Для произвольного шифра Sb следующие условия эквивалентны:
(г) для любых x E X и y E Y выполнено равенство PX|y (x|y) = PX (x);
(гг) для любых x E X и y E Y выполнено равенство Py|X (y|x) = Py (y);
(ггг) для любых x^x2 E X и y E Y выполнено равенство Py|X(y|xi) = Py|X(y|x2). Для удобства читателей сформулируем и докажем следующее несложное, но важное утверждение.
Теорема 1. Пусть для шифра Sb выполнены следующие условия:
(г) для любой пары (x, y) E X х Y существует, и притом единственный, ключ k E K, такой, что Ek(x) = y, где Ek — правило зашифрования на ключе k;
(гг) распределение вероятностей P(K) является равномерным.
Тогда шифр Sb является совершенным по Шеннону, причём распределение вероятностей P (Y) является равномерным и |K | = |Y |.
Доказательство. Пусть выполнены условия теоремы. Покажем, что в этом случае выполнен пункт (гг) утверждения 1.
Из условий теоремы и определения вероятности Py |x (y|x) следует равенство PY|X(y|x) = P#(k) = 1/|K|. Зафиксируем произвольное значение y G Y. Применяя формулу полной вероятности, получаем
PY (y) = Е PX (x)PY |X (y|x) = E px (x) ■ тК = К.
x€X x€X |K | |K |
Таким образом, для любых x G X и y G Y имеет место равенство PY|X(y|x) = PY(y), распределение вероятностей на множестве Y является равномерным и |K | = |Y |. ■
Будем говорить, что матрица A порядка m x n , m ^ n, над некоторым m-элементным множеством S является латинским прямоугольником относительно столбцов, если транспонированная матрица A является латинским прямоугольником над множеством S.
Пусть матрица A порядка m x n, m ^ n, над множеством шифрованных текстов
Y = {yi,... ,ym} является латинским прямоугольником относительно столбцов. Пусть |K | = m, |X | = n. Занумеруем строки матрицы A элементами множества K, а столбцы— элементами множества X. Если матрица A является матрицей зашифрования для некоторого шифра Sb и распределение вероятностей P(K) является равномерным, то из теоремы 1 следует, что шифр Sb является совершенным по Шеннону.
Рассмотрим вероятностное пространство П = (K, F#, P#). Зафиксируем y G Y. Обозначим через K (y) следующее множество: K (y) = {k G K : y G (X )}. Под обозначением K (y) будем также понимать событие (K (y) G F# ), заключающееся в том, что при случайном выборе ключа k G K шифртекст y можно расшифровать на ключе k, то есть y G Efc (X ). Тогда событию K (y) благоприятствуют все элементы из множества K (y), и только они. Поэтому P (K (y)) = P# (k).
fcGK(y)
Если канал связи готов к работе и на приёме установлены действующие ключи, но в данный момент времени никакого сообщения не передаётся, то противником может быть предпринята попытка имитации сообщения. Вероятность успеха имитации определяется следующим образом:
Pim = maxP (K (y)).
Если же в данный момент передается некоторое сообщение y G Y (которое получено из открытого текста x G X на ключе k G K), то противник может заменить его на у G Y, отличный от y. При этом он рассчитывает на то, что на действующем ключе k криптограмма у будет воспринята как некий осмысленный открытый текст X", отличный от x. Пусть K (y) | K (y) —событие, заключающееся в попытке подмены сообщения y сообщением у. Применяя теорему о произведении вероятностей, получаем, что
E P# (k)
p(k (у) | k (y))=P ^ пк@) = ■
P(K(y)) E P#(k)
fce# (y)
где K (y, y) = K (y) П K (у). Тогда вероятность успеха подмены сообщения вычисляется по следующей формуле:
Ppodm = max P(K(y) | K(y)).
y,y£Y, y = y
Теорема 2 [2]. Для любого шифра Sb справедливы неравенства
P > Щ P > |X|-1
Pim > |Y| , PPodm > |Y|- 1.
При этом Pim = | X| /| Y| тогда и только тогда, когда для любого y G Y выполнено равенство P(K(y)) = |X|/|Y|; Ppodm = (|X| — 1)/(|Y| — 1) тогда и только тогда, когда для любых y,y G Y, y = у, выполнено равенство P (K (у) | K (y)) = (|X | — 1)/(|Y | — 1).
Утверждение 2. Пусть A — некоторая (m x n)-матрица над множеством Y =
= {y1,...,ym}, m > n, которая является латинским прямоугольником относительно столбцов. Тогда если распределение вероятностей P(K) является равномерным, то для шифра Sb с матрицей зашифрования A выполнено равенство Pim = n/m.
Утверждение 3. Для любых натуральных чисел m и n, таких, что m > n и n = m — 1, существует латинский (m x n)-прямоугольник относительно столбцов, в котором имеется ровно n строк, содержащих два различных фиксированных элемента.
Доказательство. Если m = n, то все очевидно. Поэтому пусть m > n + 2. Построим латинский прямоугольник A над множеством {1, 2,... ,m} следующим образом. Расположим число 1 в A на позициях с координатами (1,1), (2, 2), ..., (n, n), а число 2 — на позициях (1, 2), (2, 3), ..., (n — 1, n), (n, 1).
Обозначим через Тг циклический сдвиг на г позиций влево. В матрице A в г-м столбце на свободные позиции поставим элементы Ti-1(3, 4,... ,m), г = 1,..., n. Тогда полученная матрица является латинским прямоугольником относительно столбцов с требуемым свойством. ■
Из данного утверждения следует, что для любых натуральных чисел m и n, m > n и n = m — 1, можно построить такой латинский прямоугольник A размера m x n над множеством Y = {y1,... , ym}, что при равномерном распределении вероятностей P(K) для шифра Sb с матрицей зашифрования A будет выполнено равенство Ppodm = 1. Отдельно рассмотрим случай n = m — 1 .
Утверждение 4. Пусть A = A(n + 1,n) — некоторая матрица над множеством
Y = {y1,... , yn+1}, которая является латинским прямоугольником относительно столбцов. Тогда если распределение вероятностей P(K) является равномерным, то для шифра Sb с матрицей зашифрования A выполнено равенство Ppodm = (n — 1)/n.
Доказательство. Заметим, что из равномерности распределения P(K) следует, что для любых у, y G Y, у = y, выполнено равенство
P (K (y»> = » •
Дополним матрицу A до латинского квадрата B размера (n +1) x (n + 1) [3]. Зафиксируем произвольный элемент уо G Y. Так как матрица B является латинским квадратом, то элемент у0 присутствует в последнем столбце матрицы B. Пусть он находится на позиции (г0, n + 1). Это означает, что в матрице A элемент у0 встречается во всех строках, кроме строки с номером г0, а в г0-й строке матрицы A расположены все элементы множества Y \ {у0}. Поэтому для любого у G Y \ {у0} выполнено равенство |K(у,у0)| = n — 1. Очевидно также, что для любого у G Y выполнено равенство |K(у)| = n. В силу произвольности у0, из теоремы 2 следует, что Ppodm = (n — 1)/n. ■
Несложно проверить также следующее
Утверждение 5. Пусть В — квадрат Виженера над множеством У = |у1,... , ут}. Составим из первых п столбцов матрицы В матрицу А, где 1 ^ п ^ т — 1. Пусть |К| = т, |Х| = п, матрица А является матрицей зашифрования для шифра Хд и распределение вероятностей Р(К) является равномерным. Тогда для шифра Хд выполнено равенство Рроёт = (п — 1)/п.
Определённая вероятностная модель шифра Хд позволяет рассматривать в качестве множества открытых текстов X лишь последовательности в некотором конечном алфавите А, длины которых ограничены некоторой заранее определённой константой. В работе [2] приводятся модели шифров замены с ограниченным и неограниченным ключом, для которых, в частности, на множество X такое ограничение не накладывается. Поскольку в общем случае шифр замены с ограниченным ключом совершенным не является [2], нас будет интересовать шифр замены с неограниченным ключом. Приведем модель данного шифра.
Пусть и — конечное множество возможных шифрвеличин, а V — конечное множество возможных шифробозначений. Пусть имеются г > 1 инъективных отображений (простых замен) из и в V. Пронумеруем данные отображения: Е1, Е2, ..., Е.. Обозначим = {1, 2,...,г}. Опорным шифром шифра замены назовём совокупность Х = (и, N., V, Е, Д), для которой выполнены следующие свойства:
1) для любых и Е и и ] Е N. выполнено равенство Д-(Е-(и)) = и;
2) V = и е(и).
При этом Е = {Е1,..., Е.}, Д = {Д1,..., Д.}, Д- : Е-(и) ^ У/, ] Е N..
Назовём /-й степенью опорного шифра Х совокупность Х1 = (и1, N., ^,Е(1),Д(1)), где и1, N., V1 —декартовы степени соответствующих множеств. Множество Е(1) состоит из отображений Е? : и1 ^ V1, Е N., таких, что для любых и = и1.. .и Е и1, } = ^ ^ Е N. выполнено равенство
Е(и) = Ел (и1)... Ел М = г>1... V Е ^,
а множество Д(1) состоит из отображений : Е?(иг) ^ и1, ] Е N., таких, что для любых V = ^1... V Е V1, = ^'1... ^ Е N. выполнено равенство
Д!(^) = Ы ... (^) = и1... и Е и.
Пусть — случайный генератор ключевого потока, который для любого натурального числа / вырабатывает случайный ключевой поток ^^ Е N..
Обозначим через Хгя следующую совокупность величин:
Хгн = (и1, N., ^,Е(1),Д(1),Р(иг),Р(^)) .
Шифром замены с неограниченным ключом назовем семейство
Хн = (ХН,/ Е N; фс) .
При этом независимые и не содержащие нулевых вероятностей распределения Р(иг) и Р(^) индуцируют распределения вероятностей на множестве V1:
Руь (^) = Е Ри1 (и)РмГ (^).
(и,5)еигхмГ,
Е^(и) = г]
Определим условные вероятности Ри!|УI (и|^) и Ру1\и1 (и|и):
^^ Ри1 (и)Ру1 \тт1 ('Ыи)
РУ г|и1 Ни) = Е РМГ Риг|Уг (иИ = -------------р /_ч-,
(й,и) РУ1 (Ы)
где N. (и, V) = 0 Е N. : Е^(и) = V}. Говорят, что шифр Хн является совершенным тогда и только тогда, когда для любого натурального / шифр Хгя является совершенным по Шеннону.
Утверждение 6. Для шифра Хн следующие условия эквивалентны:
(г) для любого / Е N и любых и Е и1, V Е V1 выполнено равенство
Ри1 |Уг (и|г0 = Ри1 (и);
(гг) для любого / Е N и любых и Е и1, V Е V1 выполнено равенство
Ру1 |и1 (^|и) = РУ1 (^);
(ггг) для любого / Е N и любых й1,й2 Е и1, V Е V1 выполнено равенство
РУ Чи1 (^|и1) = РУ ¡|и1 (^|и2).
Теорема 3. Пусть для шифра замены Хн выполнены следующие условия:
(г) простые замены Е1, Е2,..., Е. шифра Хн обладают тем свойством, что для любого и Е и и любого V Е V найдется, и при том единственный, элемент ] = ] (и, V) Е N., что Е- (и) = V;
(гг) распределение вероятностей Р(^) для случайного генератора ^с является равномерным.
Тогда шифр Хн является совершенным, причём для любого / Е N выполнено равенство | V11 = г1 и распределение вероятностей Р(V1) является равномерным.
Доказательство. Зафиксируем произвольное натуральное число /. Из условия (г) следует, что для любых и = и1... и Е и1 и V = ^1... V Е V1 найдется, и причём единственный, ключевой поток = ^1 ... ^ Е N., зависящий от и и V, что
Е1(и) = Ел (и1)... Е-1М = г>1... V = ^
Из данного свойства и того, что Р^(^) = Р^г (^ ■ ... ■ Р^г (^) = 1/г1 для любого Е N. (условие (гг) теоремы 1), следует справедливость данной теоремы. ■
Обозначим через Р/т и РРойт соответственно вероятности успеха имитации и подмены сообщений для шифра Хгя. Из теоремы 2 следует, что если для некоторого шифра Хн выполнено равенство |и | = |V |, где и, V — множества шифрвеличин и шифр-обозначений соответственно, то Р/т = Рройт = 1 для любого натурального /, то есть такие шифры максимально уязвимы к угрозам имитации и подмены сообщения.
Утверждение 7. Пусть А — некоторая (п + 1, п)-матрица над множеством шиф-робозначений V = {^1,... , гп+1}, которая является латинским прямоугольником относительно столбцов, и пусть матрица А является матрицей зашифрования для опорного шифра замены с неограниченным ключом Хн. Пусть также случайный генератор
ключевых последовательностей из конструкции шифра Ея имеет равномерное распределение. Тогда для любого натурального l шифр ЕЯ является совершенным по Шеннону и выполнены следующие равенства:
P = (—Y P = (—1 Xl
im V n +1J ’ podm V n
то есть pm, Ppodm ^ 0 при l ^ + ГО.
Доказательство следует из теоремы 3 и предложений 2 и 4.
В вероятностной модели шифра Ев множества X и Y конечны, поэтому вероятности Pim и Ppodm имеют достижимые нижние оценки (теорема 2). Так как для любого фиксированного натурального числа l множества U1 и V1 также конечны, то для шифра ЕН вероятности pm и Ppodm также ограничены снизу. Но в модели шифра Ея ограничения на длины сообщений снимаются, поэтому с ростом числа l (длин сообщений) вероятности plm и ppodm стремятся к 0 при выполнении условий предложения 7.
Таким образом, если в качестве матрицы зашифрования A для опорного шифра Е использовать латинский квадрат (например, квадрат Виженера), то при равномерном распределении P(Nr) шифр Ея будет совершенным, но максимально уязвимым к угрозам имитации и подмены. Но стоит в данном квадрате Виженера вычеркнуть, например, последний столбец, как шифр Ея с полученной матрицей зашифрования для опорного шифра Е приобретёт два дополнительных свойства.
ЛИТЕРАТУРА
1. Алферов А. П., Зубов А. Ю., Кузьмин А. С., Черемушкин А. В. Основы криптографии. М.: Гелиос АРВ, 2005. 480 с.
2. Зубов А. Ю. Криптографические методы защиты информации. Совершенные шифры. М.: Гелиос АРВ, 2005. 192 с.
3. Холл М. Комбинаторика. М.: Мир, 1970. 424 с.