ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА
2011 Математические методы криптографии №4(14)
МАТЕМАТИЧЕСКИЕ МЕТОДЫ КРИПТОГРАФИИ
УДК 519.7
ПОЧТИ СОВЕРШЕННЫЕ ШИФРЫ И КОДЫ АУТЕНТИФИКАЦИИ
А. Ю. Зубов
Московский государственный университет им. М. В. Ломоносова, г. Москва, Россия
E-mail: [email protected]
Предлагаются конструкции почти совершенных шифров с экономным расходом ключа, совмещающие функции шифрования и аутентификации при равновероятном выборе ключей и открытых текстов.
Ключевые слова: почти совершенный шифр, код аутентификации.
Пусть Е = (S, K, M, E,D) —шифр1, для которого S, M — множества открытых и шифрованных текстов; K — множество ключей; E — множество правил зашифрования, состоящие из инъективных отображений Efc : S ^ M для каждого k Е K; D — множество правил расшифрования, состоящее из отображений Dk : M ^ M U {0}, таких, что
Js, если Efc(s) = m,
Dk (m) = <
y0, если m Е Ek(S).
Пусть на множествах S, K определены распределения вероятностей P(S), P(K), состоящие соответственно из вероятностей Ps(s) и Pk (k), строго больших нуля для каждого s Е S и k Е K. Будем полагать, что при шифровании ключи и открытые тексты выбираются независимо друг от друга. Тогда P(S), P(K) естественным образом индуцируют распределение P(M) на множестве M, состоящее из вероятностей
Pm (m) = Y, Pk (k) ■ ps (Dk (m)), m Е M, (1)
k€K(m)
где K(m) = {k Е K : Dk(m) = 0}.
Так же естественно вводятся условные распределения P(S | M) и P(M | S). Для каждой пары (s,m) вероятности pS| M(s | m) и pM | S(m | s) определяются соответственно формулами
Pm |s(m | s) = £ pk(k); (2)
kGK(s,m)
t I ч PS(s) ■ Pm | s(m 1 s) ,Q,
pS|M (s 1 m) = —PM(m— • (3)
где K(s,m) = {k Е K : Ek(s) = m}.
К. Шеннон назвал шифр Е совершенным, если для любых s Е S, m Е M имеет место равенство
Ps| м(s | m) = ps(s). (4)
1 Пользуемся определением шифра, приведённым в [1, 2].
Интерес к таким шифрам связан с тем, что шифртекст не даёт вероятностной информации об открытом тексте. В этом смысле не менее интересны шифры Е, для которых величина
Д(Е) = тах |р£ | м(з | т) - (з)
(5,т)
не превосходит достаточно малого действительного числа е ^ 0. Назовём такие шифры почти совершенными, или е-совершенными. Совершенный шифр является е-совер-шенным при е = 0. Ясно, что такие шифры относятся (как и совершенные шифры) к классу теоретически стойких шифров, поскольку, независимо от используемых потенциальным противником вычислительных ресурсов, они не позволяют определить по шифртексту открытый текст с вероятностью, превосходящей е. Как известно, недостатком совершенного шифра является большой расход ключа, поскольку для совершенного шифра должны выполняться неравенства |£| ^ |М| ^ |К| (см. [1]). В связи с этим возникает вопрос о возможности сокращения расхода ключа при переходе от жёсткого условия (4) к менее жёсткому условию Д(Е) ^ е.
В работе предлагаются некоторые классы е-совершенных шифров с равномерными распределениями Р(£), Р(К), допускающие эффективную реализацию, для которых |К| ^ |£1 . Помимо стойкого шифрования, рассматриваемые шифры гарантируют также стойкую аутентификацию.
Заметим, что для равномерных распределений Р($), Р(К) вероятность р^| м(з | т) представляется в виде
|к (з,т)| й'м (з' т) = тктг
Это следует из формул (1)-(3). Таким образом, в рассматриваемых условиях величина
выражается формулой
Д(в,т) = 1 м(в | т) - р^(в)
|К (в,т)| 1
Д(з, т) =
5)
|К(т)| |Б|
Приведём примеры почти совершенных шифров, построенных на основе кодов из [3].
Пример 1. Пусть ^ — поле характеристики 2, состоящее из д элементов, и г — произвольное натуральное число. Рассмотрим шифр Еі, для которого Б = (^)г, К = (^)2 и М = (^)г+1. Правило зашифрования строки в = (з1,...,зг) на ключе к = (а, Ь) определим формулой
Е(в) = (м1,..., иг, а + и1 ■ Ь1 + ... + иг ■ Ьг) ,
где
и = + Сг ■ а + ■ Ь, % = 1, . . . , Г,
а С1,... , сг , ^1,... , —произвольные ненулевые константы из ^, такие, что
Сг ' ^7 = С; ' (6)
при % = >
Утверждение 1. Шифр Е1 с равномерными распределениями Р($), Р(К) является е-совершенным шифром для е < д-1.
Доказательство. Заметим, что для любого т = (и1,..., и, ад) € М выполняется равенство |К(т)| = д. В самом деле, пусть Е(а,Ь)(з1,..., зг) = (и1,... ,иг, ад). Тогда
зг = + сг ■ а + ■ Ь, % = 1,..., г, и ад = а + и1 ■ Ь + ... + иг ■ Ьг. Нужное утвержде-
ние следует из того, что для любого Ь € ^ однозначно определяется параметр а из последнего равенства.
Покажем теперь, что для любых з € Б и т € М справедливо неравенство |К(з,т)| ^ 1. В самом деле, пусть для двух различных пар (а,Ь) и (а',Ь') выполняются равенства = зг + сг ■ а + ■ Ь = зг + сг ■ а' + ■ Ь', % = 1,..., г. Из этих равенств
получаем, в частности, следствия для любых различных %, ] = 1,... , г :
Константы сг, ненулевые, поэтому а + а' = 0, так как в противном случае Ь + Ь' = = 0, и тогда (а, а') = (Ь, Ь'), что противоречит условию. В таком случае из последних
= с^ ■ ^г, что противоречит условию (6). Полученное противоречие доказывает требуемое свойство.
Теперь, используя (5), получаем неравенства Д(з,т) ^ д-1 — д-г < д-1, откуда Д(Е1) = тахД(з,т) < д-1, что и требуется. ■
Рассмотрим вопрос об использовании шифра Е1 для обеспечения аутентификации данных. Формально речь идёт об оценке имитостойкости шифра Е1, то есть его стойкости к атакам типа имитации и подмены в случае, когда каждый ключ используется для передачи не более одного сообщения. Этот вопрос подробно рассмотрен в [2], где мерой стойкости служит вероятность успеха атаки. Тот же вопрос можно рассматривать и с других позиций. Шифр Е1 представляет собой код аутентификации с секретностью [4]. В случае, когда распределения Р(Б), Р(К) равномерны, стойкость кода аутентификации к активным атакам определяется вероятностями р0 и р1, где (см., например, [5, 6])
Как код аутентификации Е1 работает следующим образом. Получатель сообщения т = (и1,... , и, ад), владеющий секретным ключом к = (а, Ь), восстанавливает передаваемое состояние источника з = (з1,...,зг), пользуясь соотношениями
Критерием аутентичности сообщения служит равенство w = а + и1 ■ Ь + ... + иг ■ Ьг.
Утверждение 2. Для кода аутентификации Е1 с равномерными распределениями Р(Б), Р(К) выполняются соотношения
С ■ (а + а') = ^ ■ (Ь + Ь'),
с, ■ (а + а') = ^ ■ (Ь + Ь').
соотношений получаем равенства сг ■ 1 = (Ь + Ь')(а + а') 1 = с, ■ ф 1, или сг ■ ф
(5,т)
Р1 =
|К(т, п) | = |К(т) | П |К(п) |.
зг = и + сг ■ а + ■ Ь, % = 1,..., г.
11 ро = д , р1 < г ■ д .
Доказательство. Как отмечалось в доказательстве утверждения 1, для любого т € М имеет место равенство |К(т)| = д. Пусть (а, Ь) € К(т,п), где т = = (и1,... ,иг+1), п = (^1,..., ^г+1). Тогда а и Ь находятся из системы уравнений
а + Мі ■ Ь + а + м1 ■ Ь + .
Г + 1 .
Поскольку уравнение (и 1 + ^1) • Ь +... + (иг + V-) • Ьг = мг+1 + ^г+1 имеет в поле ^ не более г решений, системе (10) может удовлетворять не более г значений Ь. Для каждого из них из первого уравнения системы однозначно находится значение а. Это доказывает неравенство |К(т)| ^ г для любых т, п € М. Соотношения (9) следуют теперь из формул (7), (8). ■
Проиллюстрируем уровень стойкости шифра Е1 числовым примером. Пусть д = 264, г = 216. Тогда Е1 при использовании 128-битного ключа обеспечивает (2-64)-совершенное шифрование сообщений длины, не превосходящей 216 • 64 = 4194304 бит, и их аутентификацию с уровнем стойкости, определяемым параметрами р0 = 2-64, р1 < 2-48.
Пример 2. Пусть д = 2Г, ^ = 2Г+*, г, Ь — натуральные числа, такие, что 2Ь ^ г. Рассмотрим шифр Е2, для которого Б = (Ед)2^1, К = Ед X Ед X ^, М = (Ед)2<+2. Правило зашифрования строки з = (з2( ,...з1,з0) на ключе к = (а, Ь, с) определим формулой
М24,
, Мо, с +
4 • а + ... + Мі • а + Мо
где м — + Лг-а+д-Ь, і — 0,1,... , 2*, а Л0,... , Л24, д0,... , д24 —произвольные константы
из ^д, такие, что ■ д — Л ■ д при і — ^. Запись [а]ч означает приведение элемента а по модулю д, то есть вычёркивание і старших координат двоичного представления а.
Утверждение 3. Шифр Е2 с равномерными распределениями Р(Б), Р(К) является е-совершенным шифром для
1
1
2Г+2* 2(г+1)^(24+1)
е
Доказательство. Для любого т = (м2«,..., и0, ад) € М выполняется равенство
|К (т)| = 2Г+2*. (12)
В самом деле, пусть Е(адс)(з2«,... , з0) = (м2*,..., и0, ад). 'Тогда зг = + Л,г • а + дг • Ь,
% = 0,1,... , 2*, и ад = с + [Ь • (м2( • а2 + ... + и1 • а + и0)] . Для любых а, Ь € Ед из последнего равенства однозначно определяется параметр с € . Равенство (12) сле-
дует теперь из того, что для любого 7 € число пар (а, в) € Ед X Ед, таких, что [а, в]д = 7, равно ф2/д.
Точно так же, как и в утверждении 1, доказывается, что для любых з € Б и т € М
|К(з,т)| ^ 1. (13)
Теперь из (5 Д (Е2) = тах Д(в,т) = тах
(5,т)
12) и (13) получаем равенства 1
2(г+1)-(2‘+1)
1 1 = = 1 1
2^+24 2(г+1М2‘+1) 2Г+24 2(г+1М2‘+1)
откуда следует (11). ■
Как и Е1, шифр Е2 можно рассматривать как код аутентификации с секретностью. Утверждение 4. Для кода аутентификации Е2 с равномерными распределениями Р(Б), Р(К) выполняются равенства
2-г, р = 2-(г-1) - 2-2г. (14)
Ро =
Доказательство. Вероятности р0, р1 можно вычислить непосредственно, как и в утверждении 2. Вместо этого воспользуемся известным утверждением. В [3] изучается код аутентификации Е с теми же, что и у Е2, множествами Б, К, М. Отличие состоит лишь в том, что правило кодирования кода Е задаётся формулой
Е
(а,ад(в) = (в,с + На) ■ &]9
С15)
где в = (в2«,... , в0) определяет коэффициенты многочлена в(х) = в2« ■ X + ... + в0. В [3] доказано, что для кода Е вероятности успеха имитации и подмены определяются формулами (14). Покажем, что вероятности р0, р1 одинаковы для Е и Е2. Для этого достаточно заметить, что одинаковы матрицы инцидентности кодов.
Напомним, что матрица инцидентности кода аутентификации (г(к,т)) размера |К| х |М| , состоящая из элементов
это матрица
г(к, т)
1, если Ек(в) = т для некоторого в € Б,
0 в противном случае.
Заметим, что правила кодирования (11) и (15) связаны соотношением
Ек(в) = Ек (^(в)),
Г16)
где ^ : Б ^ Б — биекция для каждого к € К. Очевидно, что матрицы инцидентности кодов, связанных соотношением (16), одинаковы. Это позволяет сделать вывод о том, что для любых сообщений т, п € М величины |К(т)| и |К(т, п)|, определяющие вероятности р0, р1 по формулам (7), (8), одинаковы для Е и Е2 при условии, что распределения Р(Б), Р(К) равномерны. ■
Проиллюстрируем уровень стойкости шифра Е2 примером. Пусть 4 = 32, г = 64. Тогда Е2 при использовании 256-битного ключа обеспечивает (2-128)-совершенное шифрование сообщений длины, не превосходящей (64 + 32) ■ (232 + 1) = 412316860512 бит,
2
-64
и
и их аутентификацию с уровнем стойкости, определяемым параметрами р0 р1 < 2-63.
Шифры Е1 и Е2 допускают эффективную реализацию, поскольку операции сложения и умножения в полях характеристики 2 реализуются несложно. Выбор констант с*, ^ (так же как и констант д^, Л^), удовлетворяющих соотношениям (6), не представляет труда. Например, в качестве с можно выбрать элемент, двоичная запись которого представляет число 2г, а в качестве ^ — элемент, двоичная запись которого представляет число 2г + 1.
Интересен вопрос об оценке стойкости рассмотренных шифров в случае, когда распределение Р(Б) неравномерно.
ЛИТЕРАТУРА
1. Алфёров А. П., Зубов А. Ю., Кузьмин А. С., Черёмушкин А. В. Основы криптографии. М.: Гелиос АРВ, 2005. 480 с.
2. Зубов А. Ю. Криптографические методы защиты информации. Совершенные шифры. М.: Гелиос АРВ, 2005. 192 с.
3. Kabatianskii G. A., Johansson T., and Smeets B. On the cardinality of systematic A-codes via error correcting codes // IEEE Trans. Inform. Theory. 1996. V. IT-42. No. 2. P. 566-578.
4. Зубов А. Ю. Математика кодов аутентификации. М.: Гелиос АРВ, 2007. 480 с.
5. Зубов А. Ю. Оценка стойкости кода аутентификации с двумя состояниями источника при случайном и равновероятном выборе ключей // Безопасность информационных технологий. 2008. №2. С. 92-96.
6. Зубов А. Ю. О выборе оптимальной стратегии защиты для кода аутентификации с двумя состояниями источника // Дискретная математика. 2009. Т. 21. №4. С. 136-147.