УДК 519.6
О БЛОЧНЫХ ШИФРАХ, ПОСТРОЕННЫХ НА ОСНОВЕ РЕГИСТРОВ СДВИГА С ДВУМЯ ОБРАТНЫМИ СВЯЗЯМИ
А. М. Коренева
Получены условия биективности и инволютивности алгоритма блочного шифрования, построенного на основе регистра сдвига с двумя обратными связями над пространством двоичных векторов. Построен пример алгоритма блочного шифрования с указанными свойствами на основе регистра сдвига длины 4.
Ключевые слова: биективность, итеративные симметричные блочные шифры, инволютивность алгоритма шифрования, регистры сдвига.
При построении и анализе блочных шифров Фейстеля и более общих моделей регистрового типа необходимо ответить на ряд актуальных вопросов. К таким вопросам относятся определение инволютивности алгоритма шифрования (инволютивность важна для удобства технической и программной реализации), перемешивающих свойств алгоритма (важных с точки зрения противодействия методам последовательного опробования элементов ключа и дифференциального криптоанализа) и др. При усложнении модели алгоритма блочного шифрования необходимо сохранить биектив-ность шифрующих преобразований. В продолжение исследований алгоритмов блочного шифрования, обобщающих шифры Фейстеля [1], в работе рассмотрены алгоритмы, построенные на основе регистров сдвига с двумя обратными связями над пространством двоичных векторов. Такие алгоритмы представляют интерес в связи с тем, что имеют более сильные перемешивающие свойства по сравнению с регистрами с одной обратной связью [2]. Получены условия биективности преобразования регистра сдвига с двумя обратными связями и условия инволютивности соответствующего алгоритма блочного шифрования. На примере алгоритма блочного шифрования на базе регистра сдвига длины 4 показана практическая возможность обеспечения ряда положительных криптографических свойств блочного шифра.
Рассмотрим функции ^(х^..., хп) : Xп ^ X, г = 1, 2, X — конечное множество. Система функций ^ = |^1(ж1,..., хп), ^2(х1,..., хп)} биективна по множеству переменных {xi,xj}, если ^ реализует биективное преобразование множества X2 при любой фиксации переменных {х1,.. .,хп}\^^-}. Далее X — векторное пространство.
Утверждение 1. Если <£1 = Xi + Л(хЬ . . .,х^1,хт, . . .,Хп), ^2 = Xj + /2(х1, . . ., х^1, х^1,..., х.^1, х.^+1 ,...,хп), то система ^ биективна по множеству переменных
{х^х-}.
Автономным регистром сдвига длины п над X с обратными связями ^т(х1,..., хп) и ^п(х1,..., хп) назовём преобразование множества X”-, задаваемое системой координатных функций {^(хь .. .,хп),..., <£п(хъ .. .,хп)}, где щ (хь...,хп) = хт для всех г € {1,...,п — 1}\{т}, ^ = {^т(х1,..., хп), ^п(х1,..., хп)}. Здесь т — параметр регистрового преобразования, 1 ^ т ^ п — 1.
Теорема 1. Преобразование регистра сдвига биективно, если и только если система ^ биективна по множеству переменных {х1,хт+1}.
В соответствии с утверждением 1 преобразование биективно, если при т < п — 1 имеет место = хт+1 + /т(х2, . . .,хт,хт+2, . . .,хп), ^п = х1 + /п(х2, . . .,хп) или при
п 1 выполняется хп + /m(x2, . . .,хп-1^ ^п х1 + /*п(x2, . . .,хп).
Пусть X = V — множество двоичных г-мерных векторов. Рассмотрим блочный шифр С (д^,д) с раундовой подстановкой д^,д множества Xn, задаваемой системой координатных функций {^1(х1 ,...,хп, ?),..., ^п(х1,...,хп,?)}, где ^ (х1, . . ., х^ = хт для всех г € {1,.. .,п — 1}\{т}, 1 ^ т < п — 1; д — бинарный раундовый ключ; координатные функции и ^п имеют вид = хт+1 0 /т(х2, . . ., хт, хт+2, . . ., хп, д), ^п = х1 0 /п(х2, . . .,хп,?).
Определим условия инволютивности рассматриваемого шифра — условия, при которых расшифрование отличается от зашифрования только порядком использования раундовых ключей. Обозначим через /п инволюцию степени п вида 1п(х1 ,...,хп) = = (хп,.. .,х1). Функцию /п назовем инвариантной относительно инволюции /п-1, если /п(х2,..., хп, д) = /п(хп,... , х2, д). Функцию /т назовем инвариантной относительно
инволюции /п—2, если /т(х2, . . ., хто хт+2, . . ., хп, д) Ут (хп, . . ., хт+2, хто . . ., х2, д).
Лемма 1. Если функция /п инвариантна относительно инволюции /п—1, а функция /т инвариантна относительно инволюции /п—2, то для раундовой подстановки выполнено равенство (д^,д) —1 = /пд^,д/п.
Теорема 2. Пусть Н-раундовый блочный шифр С(д^,д) при шифровании реализует произведение раундовых подстановок д^,91,.. .,д^,дй и инволюции /п. Тогда если функция /п инвариантна относительно инволюции /п— 1 и функция /т инвариантна относительно инволюции /п—2, то алгоритм шифрования инволютивен и расшифрование отличается от зашифрования использованием раундовых ключей в обратном порядке.
Пример (инволютивный алгоритм блочного шифрования на основе регистра сдвига с двумя обратными связями). Пусть п = 4, т = 2, г =16. Рассмотрим алгоритм, который реализует произведение Н раундовых подстановок (с раундовыми ключами д1,..., д^) и инволюции /4. Функция усложнения раундовой подстановки представлена парой функций /4 (х2, х3, х4, д) и /2 (х2, х4, д). Раундовая подстановка д^,д при использовании ключа д имеет вид д^,д = (х2, х3 0 /2(х2, х4, д), х4, х1 0 /4(х2, х3, х4, д)).
Из теоремы 2 следует, что для обеспечения инволютивности рассматриваемого алгоритма шифрования функции /4(х2, х3, х4, д) и /2(х2, х4, д) должны быть инвариантны относительно инволюций /3 и /2 соответственно, иначе говоря, инвариантны относительно перестановки переменных х2 и х4. Рассмотрим варианты построения функций /4(х2,хз,х4,д) и /2(х2,х4,д).
Используемый 32-битовый раундовый ключ д разобъём на два 16-битовых подключа: д = (д1,д2). Тогда указанным требованиям удовлетворяют, в частности, функции вида /4(х2,хз,х4,д) = (у2 V У4) 0 $4(уз), /2(х2,х4, д) = $(х2 0 х4) 0 д2, где
(у2,у3,у4) = (х2 0 д1,х3 0 д2,х4 0 д1), V — покоординатная дизъюнкция 16-битовых векторов, $2, 54 —нелинейные преобразования множества У16 (например, четвёрки 5-боксов У4 ^ У4). Применяя Н раундов шифрования открытого текста (х1(0),х2(0), х3(0),х4(0)) и инволюцию /4, получаем шифрованный текст в режиме ЕСВ, равный (х4(Н),х3(Н),х2(Н),х1(Н)). В соответствии с теоремой 2 данный алгоритм шифрования инволютивен, расшифрование отличается от зашифрования использованием раундо-вых ключей в обратном порядке. Другие положительные криптографические свойства шифра могут быть обеспечены с помощью выбора числа циклов шифрования Н, преобразований $2, $4, ключевого расписания и др.
ЛИТЕРАТУРА
1. Коренева А. М., Фомичев В. М. Об одном обобщении блочных шифров Фейстеля // Прикладная дискретная математика. 2012. №3. С. 34-40.
2. Коренева А. М., Фомичев В. М. Криптографические свойства блочных шифров, построенных на основе регистров сдвига // Прикладная дискретная математика. Приложение. 2012. №5. С. 49-51.
УДК 519.151, 519.725, 519.165
КОНСТРУКЦИИ ИДЕАЛЬНЫХ СХЕМ РАЗДЕЛЕНИЯ СЕКРЕТА
Н. В. Медведев, С. С. Титов
Работа посвящена исследованию вопросов разграничения доступа к информации при помощи линейных идеальных однородных схем разделения секрета. Приведена конструкция таких схем над любым полем GF(q). Путём добавления участников показано, что такие схемы сводятся к схемам на проективных пространствах.
Ключевые слова: однородные схемы разделения секрета, структуры доступа, матроиды, код Рида — Маллера, идеальные схемы.
Неотъемлемыми атрибутами современных компьютерных систем и сетей передачи данных являются криптографические протоколы защиты информации. На этом пути часто возникают сложные проблемы, требующие привлечения серьёзного математического аппарата. Одна из таких актуальных и активно исследуемых западными специалистами областей — разграничение доступа [1] при помощи протоколов (схем) разделения секрета (СРС) [2, 3].
Механизм работы СРС заключается в предоставлении участникам долей секрета таким образом, чтобы заранее заданные коалиции участников (разрешённые коалиции) могли однозначно восстановить секрет [4]. Особый интерес вызывают однородные СРС [5-7], которые допускают идеальную реализацию. При этом ограничиваются рассмотрением разделяющих СРС, т. е. таких, где нет незаменимых участников [6].
Разрешённые коалиции идеальной совершенной схемы разделения секрета определяются циклами некоторого связного матроида, изучение которого и даёт структуру доступа [8]. В терминах циклов аксиом всего две. Представляется естественным рассмотреть двойственный вариант аксиоматизации матроида, а именно использовать не циклы C матроида M, а его нуль-множества Z, т. е. Z = M\ C, которые можно назвать «антициклами». Тогда аксиомы матроида в терминах антициклов имеют следующий вид: 1) нет антицикла в антицикле, т. е. если Zi, Z2 — антициклы и Zi С Z2, то Zi = Z2; 2) если e Е M, e Е Z1 U Z2 и Z1, Z2 — антициклы, причём Z1 = Z2, то существует такой антицикл Z, что ({e} U (Z1 П Z2)) С Z.
Перейдём к рассмотрению матроидов в проективном m-мерном пространстве M над GF(q). Возьмём в качестве нуль-множеств Z гиперпространства в M. Как известно [9], |M| = (qm+1 — 1)/(q — 1) и |Z| = (qm — 1)/(q — 1). Поскольку любые два гиперпространства Zj и Zj всегда пересекаются, т. е. (Zj П Zj) = 0, причём dim Z = m — 1, dim(Z^ П Zj) = m — 2, то для любой точки e Е (Zj П Zj) существует единственное гиперпространство Z, натянутое на {e} и на пересечение гиперпространств Zj и Zj, так что Z = ({e}, Zi П Zj). А это — не что иное, как вторая аксиома матроида в терминах антициклов, которую можно назвать усиленной, так как существует единственное такое гиперпространство. Следовательно, вторая аксиома матроида выполняется. Первая аксиома матроида с очевидностью выполняется, так как размерности гиперпространств одинаковы и антицикла в антицикле быть не может.