2020 Математические методы криптографии №50
УДК 519.1+519.719.2+519.712
КРИПТОСИСТЕМА ШИФРОВАНИЯ С АУТЕНТИФИКАЦИЕЙ С ПРОИЗВОДНЫМИ РАЗОВЫМИ КЛЮЧАМИ
А. Ю. Зубов
OOO «Центр сертификационных исследований», г. Москва, Россия
Продолжается исследование предложенной автором математической модели криптосистемы шифрования с аутентификацией на основе кода аутентификации с секретностью. Алгоритм шифрования использует вычисления в полях характеристики два, счётчиковую последовательность, зависящую от ключа, одноразовые производные ключи, определяемые основным ключом и вектором инициализации с помощью ортогональных латинских квадратов, а также имитовставку полиномиального типа. Предлагается байтовый метод реализации алгоритма, проводится его сравнение со стандартизованным криптоалгоритмом GCM. Предлагается выбор параметров модели, гарантирующих доказуемую стойкость к атакам на основе шифртекста. Проводится анализ стойкости к атакам с выбранным открытым текстом.
Ключевые слова: криптосистема шифрования с аутентификацией, GCM, квазигруппа, ортогональные латинские квадраты, доказуемая стойкость, атаки на основе шифртекста, атаки с выбранным открытым текстом.
DOI 10.17223/20710410/50/3
AUTHENTICATION ENCRYPTION CRYPTOSYSTEM WITH DERIVED ONE-TIME KEYS
A. Yu. Zubov
Certification Research Center, Moscow, Russia E-mail: zubovanatoty@yandex.ru
A research of the previously proposed by the author mathematical model of authenticated encryption cryptosystem based on authentication code with secrecy is continued. An encryption algorithm uses calculations in the fields of characteristics two, a counters sequence depending on the key, one-time derived keys defined by the main key and initialization vectors using orthogonal Latin squares, and a polynomial-type MAC. A byte method for implementing the algorithm is proposed and compared with the standardized GCM cryptographic algorithm. The choice of model parameters that guarantee provable security to ciphertext-based attacks is proposed. The analysis of the cryptosystem's security to chosen-plaintext attacks is performed.
Keywords: authenticated encryption cryptosystem, GCM, quasigroup, orthogonal Latin squares, provable security, ciphertext-based attacks, chosen-plaintext attacks.
1. Базовая конструкция криптосистемы CS
В [1] предложена модель криптосистемы CS шифрования с аутентификацией на основе кода аутентификации с секретностью. Настоящая работа продолжает начатые в [1] исследования этой модели. Приведём её описание.
Будем использовать обозначения а, а, а для элемента поля а Е F2n = ОЕ(2га), строки а Е {0,1}п коэффициентов многочлена, представляющего а как элемент фактор-кольца F2[ж]/(h(ж)) = F2n, и числа а Е Ъ2п, двоичная запись которого совпадает с а.
Криптосистема С§ использует для зашифрования открытых текстов з(т\ т = 1, 2, ... , N, секретный ключ
к = (а, Ь) Е ^)2,
векторы инициализации
iv(T) = (7(t),£(t)) Е (F2n)2, отображения
fx : F2n ^ F2n, x Е (F2n)2, ^ : F2n ^ F2n, g : (F2n)4 ^ (F2n)2
и наборы констант
{Wi Е F2n : Wi = (i + io) (mod 2n)} , {c (k), di(k)} , Ci(k) = fk (wi), di(k) = ^(ci(k)), i = 1, 2,...,
где io ^ 0 — число, определяющее начальное значение счётчиковой последовательности {wi}.
Вектор инициализации должен содержать счётчик, который делает вектор неповторяющимся, метку времени и атрибуты передаваемого сообщения. Текст s(T), представленный строкой
S(t ) = (4T },...,sr: >)
элементов из F2n, шифруется на производном ключе
k(T) = (a(T),b(T)) = g (k,iv(T)) Е (F2n)2.
Результат зашифрования т(т) = \ ..., т!^, т^ — это строка элементов из F2n где
т|т) = ^т) 0 сДк)а(т) 0 ^(к)Ь(т), г = 1, 2,...,Гт, Гт > 1; (1)
т^- = а(т) 0 т1т) (Ь(т))Гт 0 ... 0 тГТ) (Ь(т))1. (2)
Отправитель посылает сообщение (гг,т). Получатель сообщения (гг,т) , где т = = (т1,... , тг ,тг+1), вычисляет производный ключ
к' = (а',Ь') = £(к,гг).
Критерий аутентичности сообщения — равенство
тг+1 = а' 0 т1 ■ Ь'г 0 ... 0 тг ■ Ь'1.
Если оно выполнено, то получатель вычисляет сг (к), ¿г(к) и текст 5 = (в1,... , ) , где
5 = т 0 с*(к)а' 0 ^(к)Ь', г = 1, 2,..., г.
При случайном выборе ключа к не исключается случай, когда к(т) = (0, 0). Он нежелателен, поскольку все блоки гаммы становятся равными 0П. Избавиться от этого
недостатка можно следующим образом. При вычислении ключа к(т) вводится дополнительный шаг — проверка равенства к(т) = (0, 0). Если оно выполняется, то нужно сменить гу(т\ Для этого, например, в гу(т) выделить один бит и в случае, когда равенство выполняется, инвертировать этот бит.
На рис. 1 представлена упрощённая схема алгоритма С§ (без использования ассоциированных данных и дополнения последнего неполного блока).
Рис. 1. Схема алгоритма С8
Выбор отображений <р, /к,д диктуется следующими условиями:
a) /к инъективно;
b) Сг(к)в,](к) = (к)^(к) при г = ];
c) разным т отвечают разные к(т);
ё) при случайном равновероятном выборе к случайно равновероятно выбирается и к(т).
Требования (а)-(ё) необходимы для получения оценок стойкости криптосистемы к атакам на основе шифртекста (см. далее п. 5).
2. Выбор отображений
В [1] предложен следующий выбор отображений /к, д для к = (а, Ь) и гу = (7, 8):
<^(§) = §2 либо <^(§) = § 0 а,
где а — любой ненулевой элемент из Е2п;
/к(ш) = Л (ш * а) *' Ь; д (к, гу) = (Л(а * 7) *' а, Л(Ь * 8) *' Ь), (3)
в которых используются квазигрупповые операции *, *', определяемые значениями подходящих многочленов Р(х,у) Е Ъ2п [ж, у], и биективное преобразование Л : Е2п ^ ^ Е2п .
Анализ выбора параметров алгоритма в варианте (3) обнаружил его недостатки. Так, оказалось, что отображение д, определённое формулой (3), может не гарантировать свойство (ё), поскольку не всякие квазигрупповые операции указанного типа
обеспечивают равномерное распределение на множестве производных ключей. Кроме того, производные ключи достаточно сложно вычисляются. В связи с этим предлагается новый вариант, устраняющий указанные недостатки. Определим ^ и Л так же, как в (3), и положим
/(ад) = Л (ад * а) * 6, д (к, ¿V) = (а 6, а &) , (4)
где к = (а, 6); ¿V = (7,5); , —операции на , определяемые ортогональными латинскими квадратами ¿1, ¿2 на Е2п следующим образом.
Пусть ¿1, ¿2 — таблицы Кэли квазигрупп (Е2п, *), (Е2п, *') соответственно; (ж, у) — элемент латинского квадрата расположенный в клетке (ж, у). Тогда положим
а(т) = а 6 = ¿1 (Л (а * 7), Л (6 * 5)) , 6(т) = а 4 6 = ¿2 (Л (а * 7) , Л (6 * 5)). (5)
В (4) предлагается использовать ту же операцию *, что ив (5).
Несложно видеть, что для любого вектора инициализации ¿V таблицы Кэли операций и , определённых формулами (5), являются ортогональными латинскими квадратами на Е2п. Это следует из того, что ¿1, ¿2 —ортогональные латинские квадраты и Л — биективное преобразование поля Е2п. Далее мы уточним выбор ¿1, ¿2.
Заметим, что вариант (4) выбора отображений гарантирует выполнение свойств (а)-(ё). Свойства (а), (Ь) обеспечиваются выбором отображений ^ и /. Пусть —
операции, определённые формулами (5). Тогда при любых м,^ Е F2 п система уравнений
а 6 = м,
/а (6)
а 6 = V
имеет единственное решение (а, 6) для любого ¿V. Отсюда следует свойство (ё). Из формул (5) также очевидно, что разным векторам инициализации и ¿у(т ) отвечают разные производные ключи к(т) и к(т ), поэтому выполняется условие (с).
3. Байтовый метод
Рассмотрим следующий вариант квазигрупповых операций в формулах (4) и (5). Пусть ж, у — элементы поля F2n и ж, у — соответствующие им векторы из {0,1}п. Представим ж, у в виде последовательности байтов ж = ж1|| ... ||жп/8, у = у1|| ... ||уп/8. Будем интерпретировать байты ж и у как элементы ж^, у^ поля F28 = СЕ(2)/(ж8 + ж7 + + ж6 + ж +1) и использовать запись ж = (ж1,..., жга/8), у = (у1,... , уга/8).
Пусть * — квазигрупповая операция на F28. Определим на F2n операцию * как
ж * у = (ж! * у1,...,ж„/8 * у„/8) . (7)
Ясно, что * является квазигрупповой операцией на F2n.
В (4) произведение Wi * а будем вычислять в соответствии с (7), а /—следующим образом. Пусть Л — матрица размера п/8 х п/8 над F28, обладающая хорошими рассеивающими свойствами. Например, при п = 128 в качестве Л можно выбрать максимально рассеивающую матрицу, используемую в шифрсистеме «Кузнечик». Пусть у = ^ * а = (уь ... ,у„/8) и
г = (¿1,...,^) = (уь... ,у„/8) Л. (8)
Тогда / = г * 6 будем вычислять в соответствии с формулой (7).
В описании байтового метода остаётся объяснить выбор квазигрупповой операции *.
Построим пару ортогональных латинских квадратов Ы\, Ы2 на Е2з, используя, например, метод Боуза [2], который состоит в следующем: пусть
^2« = {ао = 0, а1 = 1, а2,..., а2«-1} .
Тогда матрицы
Мг = (а^) , г = 1,..., 2* - 1,
где
а^ = аг • аг 0 а^, г,] = 0,1,..., 2* — 1,
образуют полную систему ортогональных латинских квадратов на . Произвольную пару таких квадратов при £ = 8 выберем в качестве М1 ,М2. Вместе с ними можем получить порядка (256!)3 других пар м1п),м2П ортогональных латинских квадратов путём одинаковых перестановок в М1 , М2 строк, столбцов и перенумераций элементов. Каждая из пар М(П, М2(п) определяет квазигрупповые операции * и * на Е2з.
Недостатком латинских квадратов М1 , М2, построенных методом Боуза, является достаточно простое алгебраическое задание соответствующих операций * и * , позволяющее аналитическое исследование связи между основным и производным ключами. Поэтому предлагается выбрать пару латинских квадратов для которых операции * и * не будут обладать «хорошими» алгебраическими свойствами, например свойствами коммутативности, ассоциативности, дистрибутивности относительно 0 и т. д. Это сделать нетрудно. Для наших целей целесообразно также выбирать такую операцию *, чтобы функция ^ : (Е2з)2 ^ Е2з, определённая формулой ^(и, у) = = и*у, имела как можно большую нелинейность в том смысле, как это принято в теории дискретных функций. Её выбор представляет предмет отдельного исследования. Отметим, что число возможных пар М(ж\ М2п) делает практически невозможной попытку восстановления исходных латинских квадратов М1 , М2 по выбранным латинским квадратам м1п), м2п).
После того как сделан выбор М(П, М2п), используем соответствующие им операции * и *' для определения операций *, *' по формуле (7). В качестве Ь1,Ь2 в формуле (5) будем использовать таблицы Кэли операций *, *'. Для хранения и использования выбранных квадратов потребуется память объёма 2 • 2562 байтов.
Недостатком байтового метода является необходимость использования достаточно большого объёма памяти в 131072 байта. Значительно меньший объём памяти потребуется для «полубайтового» метода, который строится аналогично байтовому путём замены байтов на полубайты. В этом случае объём памяти уменьшается до 512 байтов.
4. Анализ эффективности реализации алгоритма С§
Преимущество байтового (полубайтового) метода состоит в том, что вычисления в Е2з (соответственно в Е24) реализуются значительно проще, чем в Е2п при п ^ 64. Кроме того, необходимые операции задаются таблично. Например, при п = 128 для этого потребуется память объёма 131328 байтов для байтового и 768 байтов для полубайтового методов для записи двух латинских квадратов
и матрицы Л.
Обращения в такую память при выполнении операций алгоритма сравнимы по сложности с булевыми операциями. Единственными «сложными» операциями алгоритма С§ в таком случае остаются операции умножения в поле Е2п в формулах (1) и (2). Число
операций умножения в поле Е2п, выполняемых алгоритмом С§, сопоставимо с числом аналогичных операций стандартизованного алгоритма ОСМ [3, 4].
Чтобы убедиться в этом, приведём схему алгоритма ОСМ (рис. 2) и оценим сложность двух алгоритмов в сопоставимых операциях, пользуясь при реализации С§ формулами (5) в качестве метода вычисления производного ключа и байтовым методом.
Рассмотрим лишь упрощённые схемы алгоритмов (не использующие ассоциированные данные), полагая, что открытые тексты состоят из полных п-битовых блоков.
Рис. 2. Схема алгоритма ОСЫ
Пусть Тд,Tf, Тф, Т©,Т^,Тр — соответственно трудоёмкости выполнения операций 9у, ¡х, Ф, ©, ^ и обращения в память, где ф — операция ХОИ,; © — операция умножения в поле ; ^ — операция сдвига двоичного вектора.
В случае, когда = $2, трудоёмкость Тс§ алгоритма зашифрования сообще-
ния в, состоящего из г блоков, выражается формулой
Тс§ = [Тд + гТ7 + 2гТф + 3гТ©] + г (Тф + Т©), (9)
где слагаемое в квадратных скобках — трудоёмкость получения г блоков шифртекста, а второе слагаемое — трудоёмкость получения имитовставки.
Из схемы алгоритма ОСМ находим аналогичную величину для Тссм:
Тоом = [(г + 2) Те + гТф] + г (Тф + Т©). (10)
Здесь Те — трудоёмкость зашифрования одного блока данных для ОСМ.
Для сравнения Тс§ и ТоСМ сделаем грубую прикидку. Сошлёмся на работы [3, 4], в которых указывается, что в случае, когда ОСМ использует для шифрования АЕБ, имеет место соотношение Те ~ 3Т©. В свою очередь будем полагать, что операция © равносильна 3п операциям типа ^ и ф. Это можно пояснить следующим образом.
Пусть, например, Е212в порождается многочленом ж128 + ж7 + ж2 + х +1. Тогда для а = (а127,..., а1, а0) произведение а • ж можно вычислить, пользуясь формулой
а ^ 1, если а127 = 0,
аж
1 (а < 1) 0 0120||10000111, если а127 = 1.
Представив в = (в127,... , въ в0) в виде многочлена в127ж127 + ... + в1 ж + в0, вычислим произведение а • в не более чем за 3 • 128 операций указанного типа.
Заметим, что произведение (8) вычисляется за п/8 операций обращения в память и п/8 — 1 операций ХОИ,. С учётом этого из (4), (5), (7), (8) получаем
Тд = (п — 4)Тр + (п/4)Те; (11)
Tf = (3п/8) Тр + (п/8 — 1) Тф. (12)
Будем также полагать, что Тф, Т^, Тр равносильны (по сложности или времени выполнения). Поскольку основные операции алгоритмов выражаются через эти операции, будем каждую из них считать элементарной. Выразим Тс§ и Тссы в элементарных операциях. Непосредственно из (9)-(12) получаем
Тс§ = 12,5гп + 1,25п + 2г — 5, Тосм = 12гп + 18п + 2г, или приближённо (с учётом того, что г достаточно велико)
Тс§ ^ 12,5гп, Тосм ~ 12гп.
Отметим возможность повышения эффективности алгоритма С§ за счёт использования дополнительной памяти для хранения констант Сг(к), ^г(к).
Пусть необходимо зашифровать ряд сообщений длины г (где г не слишком велико) с помощью основного ключа к. Будем записывать вычисленные при зашифровании первого сообщения константы Сг(к), ^г(к), г = 1, 2,... , г, в память объёма 2гп битов, а при шифровании второго и следующего сообщений обращаться в эту память, извлекая из неё необходимую информацию. Такой способ позволит сэкономить за счёт того, что обращение в память значительно проще, чем вычисление констант сг(к),^г(к).
Аналогичный расчёт для случая, когда в алгоритме С§ используется отображение <^(§) = § + а, а € F2n, даёт следующие результаты:
Тс§ = 9,5гп, Тосм = 12гп.
Конечно, при сравнении величин Тс§ и Тосм необходимо учитывать поправку на то, что при реализации С§ операция умножения © «стоит» несколько «дороже», чем при реализации ОСМ. Дело в том, что при шифровании каждого сообщения с помощью С§ приходится вычислять произведения элементов поля F2n на компоненты а(т), Ь(т) очередного производного ключа к(т), а для ОСМ — лишь произведения элементов поля на один и тот же ключ аутентификации Н = Ек (0).
Более точное сравнение алгоритмов возможно лишь для конкретных реализаций.
5. Анализ стойкости криптосистемы С§
Рассмотрим возможность определения ключа к = (а, Ь) криптосистемы С§ в атаке с выбранным открытым текстом. Ключ к находится из системы уравнений
'сг(к) • а(т) 0 ^(к)Ь(т) = и(т),
а(т) 0 т<т) (Ь(т))Гт 0 ... 0 тГТ) (Ь(т))1 = т^+ъ (13)
г = 1, 2,..., гт, т = 1, 2,...,Ь,
в которой и(т) = ) ф т(т\ а(т), Ь(т) определяются формулами (5), Сг(к) = Л (ад * а) * Ь, ^¿(к) = (сг(к))2 либо ^¿(к) = Сг(к) ф а. Несмотря на то, что эта система содержит много уравнений и всего две переменные (а и Ь), её аналитическое решение не представляется возможным в силу разнородности используемых операций.
Вид уравнений системы (13) приводит к естественной задаче нахождения из этой системы хотя бы одного производного ключа. Если эта задача будет успешно решена, то это облегчит нахождение основного ключа. Рассмотрим этот подход.
Находить производный ключ к(т) = (а(т), Ь(т^ можно перебором возможных значений Ь(т), вычислением из второго уравнения соответствующего а(т) и проверкой получившегося допустимого варианта к(т) с помощью первого уравнения. Сложность этого вычисления оценивается величиной 0(2П). Проверка допустимого варианта невозможна, если неизвестны сДк). Чтобы найти их, требуется ключ к. Но если при этом, имея допустимый вариант к(т), удастся найти к с помощью метода, основанного на взаимной зависимости констант сДк), с^(к), с трудоёмкостью меньшей 0(2П), то можно получить метод определения ключа со сложностью меньше полного перебора ключей. Покажем, что использование в формуле сДк) = Л (ад * а) * Ь рассеивающего преобразования Л устраняет указанную возможность при использовании байтового метода.
Пусть константа сДк) определяется формулой сДк) = (ад * а) * Ь. Тогда заметим, что если векторы ад^ и ад^+1 отличаются лишь одним байтом, то и векторы (ад^), ¡^ (^+1) также отличаются лишь одним байтом, т. е. сумма ¡^ (ад^) ф ¡^ (и^+1) = ад принадлежит известному множеству, мощность которого не превосходит 28. В случае, когда = = $2, из первого уравнения системы (13) получаем равенства
Л М а(т) ф ¡2 (адг) Ь(т) = и(т\ ¡Л (^+1) а(т> ф ¡2 (адг+1) Ь(т) = «¡+1,
складывая которые, получаем ад • а(т) ф ад2 • Ь(т) = и, где и = и(т) ф и(+\. Аналогично, при = г получаем ад' • а(т) фад'2 • Ь(т) = и', где и' = и(т) фи^+1, а ад' принадлежит известному множеству, мощность которого не превосходит 28. В результате имеем систему уравнений
ад • а(т) ф ад2 • Ь(т) = и, ад' • а(т) ф ад'2 • Ь(т) = и'
относительно а(т\Ь(т) с частично известными ад,ад'. Перебирая не более чем 216 возможных значений пары (ад, ад ), мы можем определить ключ к(т), решая эту систему.
Аналогично в случае, когда = $ ф а, а Е F2 п, из первого уравнения систе-
мы (13) следуют равенства
Д (адг) а(т) ф (А (адг) ф а) Ь(т) = и(т\ А (^¿+1) а(т) ф (А (адт) ф а) Ь(т) = и(+\.
Полагая
А (^¿) ф А (^¿+1) = ад, и = и(т) ф и(+)1,
получаем равенство
ад (а(т) ф Ь(т)) = и
(с частично известным ад). Выражая а(т) через Ь(т), из (13) получаем полиномиальное уравнение относительно Ь(т). Хотя такое уравнение может не иметь эффективного решения, мы получаем полезную информацию о производном ключе.
Использование рассеивающего преобразования Л в формуле сг(к) = Л (ш * а) * Ь делает описанный метод неприменимым, поскольку в таком случае каждый байт вектора Л (ш * а) будет зависеть от каждого байта вектора ш * а (как при максимально рассеивающем преобразовании в шифрсистеме «Кузнечик»). Отметим, что по той же причине для «разрушения» байтовой структуры рассеивающее преобразование применяется и в формуле (5). Использование неявной зависимости констант сг(к) и с^ (к) иным образом не представляется возможным.
Предположим, что тем или иным образом стал известен ключ к(т). Насколько сложно тогда получить ключ к? Поскольку компоненты ключа к(т) вычисляются по формуле (5) как элементы а(т) = (а, Ь), Ь(т) = Ь2 (а,Ь) заданных таблично ортогональных латинских квадратов Ь1,Ь2, найти ключ к можно лишь следующим образом. Будем перебирать возможные значения одной из переменных, например а, и находить соответствующие значения Ь из (6). Средняя сложность такого метода оценивается величиной 0(2П). Учитывая сложность определения ключа к(т), можно сделать вывод, что предложенный метод выбора производного ключа не опасен.
С§ является блочной криптосистемой. Применимы ли к ней известные методы анализа блочных шифров?
Линейный и разностный методы используются для анализа итерационных блочных шифров. Для их реализации требуется значительное число известных пар блоков открытых и шифрованных текстов, полученных в результате шифрования на общем ключе. Та же ситуация имеет место при атаках различения. Для анализа многораун-довых шифров применяются также атаки со связанными ключами. Известные версии всех этих методов не работают в нашем случае, поскольку С§ построена не по итерационному принципу и каждое сообщение шифруется на своём ключе, а связь между ключами выражается сложной неявной зависимостью.
В алгебраических атаках исследуется зависимость между битами блоков открытых и шифрованных текстов, полученная путём линеаризации нелинейных перемешивающих преобразований ¿"-боксов. Задача нахождения ключа сводится к составлению и решению системы уравнений, число неизвестных в которой растёт экспоненциально от размеров ¿-боксов. В нашем случае потребуется, в частности, линеаризовать нелинейное перемешивающее преобразование )2 ^ F28, реализуемое квазигрупповой операцией * (аналог ¿-бокса). Число неизвестных в соответствующей системе уравнений будет непомерно велико.
Приведённый анализ позволяет сделать вывод о том, что предлагаемые варианты выбора параметров криптосистемы С§ не имеют «видимых» слабостей в различных вариантах атак с выбранным открытым текстом. Более детальный анализ шифрси-стемы возможен лишь при конкретном выборе параметров ортогональных латинских квадратов Ь1, Ь2, рассеивающего преобразования Л и соотношения, связывающего константы сг(к) и ^г(к).
Каковы возможности проведения противником активных атак? Как, наблюдая ряд аутентифицированных сообщений, построить подделку, т. е. новое сообщение, снабжённое корректной имитовставкой?
Для этого нужно хотя бы что-то знать о следующем производном ключе, например то, что он — тот же, что и предыдущий, иначе корректную имитовставку можно лишь угадывать. Но в силу того, что для С§ выполняется условие (ё), для противника следующий производный ключ выбирается случайно равновероятно из всего множества возможных ключей. Даже имея перехват многих сообщений, зашифрованных на общем основном ключе, противник не сможет ограничить для себя выбор следующего
производного ключа. Зная открытые и шифрованные тексты ряда сообщений, можно попытаться вычислить текущий производный ключ из системы уравнений (13). Но, как уже отмечено, эта задача сложна, даже если противник имеет возможность подбирать открытые тексты. Таким образом, успех в активной атаке возможен лишь в тех случаях, когда противник умеет определять производные ключи (ещё лучше, если основной ключ). Отсюда следует, что для проведения успешных активных атак противник должен уметь решать те же задачи, что и при проведении пассивных атак.
Рассмотрим теперь вопрос об оценке стойкости криптосистемы С§ к атакам на основе шифртекста. Речь идёт о возможности решения противником следующих задач:
Задача 1: по шифртексту произвольного сообщения найти его открытый текст.
Задача 2: подменить перехваченное шифрованное сообщение таким образом, чтобы модифицированное сообщение было принято получателем как аутентичное.
Задача 3: составить такое поддельное шифрованное сообщение и имитировать его передачу от легального пользователя, чтобы оно было принято получателем как аутентичное.
В этих задачах криптосистема С§ может рассматриваться как код аутентификации с секретностью при одноразовом использовании секретного ключа, поскольку противник не имеет практической возможности учесть взаимную зависимость производных ключей, обладая лишь перехватом шифртекстов. В этой постановке указанные задачи решались в [5, 6]. Результат решения задач 1-3 сформулирован в [6]. В [1] этот результат продублирован для варианта криптосистемы (теорема 2). Приведём здесь эти результаты, которые имеют место для каждого из рассмотренных в данной статье вариантов выбора параметров криптосистемы С§, дополнив их ещё одной оценкой.
Обозначим через р1т и р8иь вероятности успеха имитации и подмены (т. е. вероятности успешного решения задач 3 и 2 соответственно), а ) — вероятность успеха имитации при условии, что противник наблюдает сообщения т(1),... , ), зашифрованные с помощью общего основного ключа к.
Теорема 1. Пусть ключ к криптосистемы С§ выбирается случайно равновероятно, а распределение вероятностей Рх на множестве открытых текстов X таково, что для действительных чисел а, в, о, удовлетворяющих неравенствам 0 <а, в < 1 ^ о, выполняются условия а ^ (х) ^ в, в/а ^ о для каждого х € X. Тогда С§ реализует е-совершенное шифрование очередного текста в(т), т ^ 1, состоящего из г(т) > 1 блоков, для е < о2-п. При этом р1т = 2-п, р8иь ^ г(т Кроме того, при N < 2П
справедлива оценка ) ^ 2П/ (22п - N).
Приведённая в теореме 1 оценка величины ) дополняет утверждение теоремы 2 в [1]. Она следует из того, что рассматриваемые варианты выработки производного ключа гарантируют свойство (с).
Теорема 1 свидетельствует о доказуемой стойкости криптосистемы С§ к атакам на основе шифртекста, так как при подходящих значениях п, г, о гарантируется как е-совершенное шифрование, так и достаточно малые значения вероятностей успеха активных атак. Так, при п = 128, о = 232, г ^ 232 криптосистема реализует е-совершенное шифрование текстов длины не больше 232 блоков для е < 2-96 и их имитозащиту со значениями р1т = 2-128, р8иЬ < 2-64. В частности, ) < 1/(2128 - 1) при N = 2128 - 1.
Получение этих оценок для криптосистем, реализующих шифрование информации и её аутентификацию, оказалось возможным вследствие того, что для шифрования используется не традиционная блочная шифрсистема, а параметризованная ключом
система отображений, порождённая комбинаторной структурой, в данном случае — кодом Рида — Соломона.
В заключение отметим, что предложенные варианты параметров модели криптосистемы выбирались, исходя из соображений разумной минимизации их сложности, не приводящей к «видимым» криптографическим недостаткам. Можно предложить варианты усиления схемы, усложняющие задачу нахождения ключа в атаке с выбранным открытым текстом, для которых остаются в силе оценки сформулированной теоремы.
ЛИТЕРАТУРА
1. Зубов А. Ю. Криптосистема шифрования с аутентификацией на основе кода аутентификации с секретностью // Прикладная дискретная математика. 2019. №43. С. 60-69.
2. Сачков В. Н. Введение в комбинаторные методы дискретной математики. М.: МЦНМО, 2004. 424 с.
3. McGrew D. and Viega J. The security and performance of Galois/Counter mode of operation // LNCS. 2004. V. 3348. P. 343-355.
4. Viega J. and McGrew D. Galois/Counter mode (GCM) overview fibre channel security protocols. Cisco Systems Inc., 2005. 32 p.
5. Зубов А. Ю. Почти совершенные шифры и коды аутентификации // Прикладная дискретная математика. 2011. №4(14). С. 28-33.
6. Зубов А. Ю. О понятии е-совершенного шифра // Прикладная дискретная математика. 2016. №3(33). С. 45-52.
REFERENCES
1. Zubov A. Yu. Kriptosistema shifrovaniya s autentifikatsiey na osnove koda autentifikatsii s sekretnost'yu [Authentication encryption based on authentication code with secrecy]. Prikladnaya Diskretnaya Matematika, 2019, no. 43, pp. 60-69. (in Russian)
2. Sachkov V. N. Vvedenie v kombinatornye metody diskretnoy matematiki [Introduction to Combinatorial Methods of Discrete Mathematics]. Moscow, MCCME Publ., 2004. 424p. (in Russian)
3. McGrew D. and Viega J. The security and performance of Galois/Counter mode of operation. LNCS, 2004, vol. 3348, pp. 343-355.
4. Viega J. and McGrew D. Galois/Counter mode (GCM) overview fibre channel security protocols. Cisco Systems Inc., 2005. 32 p.
5. Zubov A. Yu. Pochti sovershennye shifry i kody autentifikatsii [Almost perfect ciphers and authentication codes]. Prikladnaya Diskretnaya Matematika, 2011, no. 4 (14), pp. 28-33. (in Russian)
6. Zubov A. Yu. O ponyatii e-sovershennogo shifra [On the concept of a e-perfect cipher]. Prikladnaya Diskretnaya Matematika, 2016, no. 3(33), pp. 45-52. (in Russian)