Научная статья на тему 'О вероятностях разностных траекторий sponge-функции Bash-f'

О вероятностях разностных траекторий sponge-функции Bash-f Текст научной статьи по специальности «Математика»

CC BY
50
8
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
SPONGE-ФУНКЦИЯ / S-БЛОК / РАЗНОСТНЫЙ КРИПТОАНАЛИЗ / РАЗНОСТНАЯ ТРАЕКТОРИЯ / SPONGE FUNCTION / S-BOX / DIFFERENTIAL CRYPTANALYSIS / DIFFERENTIAL TRAIL

Аннотация научной статьи по математике, автор научной работы — Агиевич Сергей Валерьевич, Маслов Александр Сергеевич, Ярошеня Юлия Сергеевна

Предлагаются два метода оценки снизу весов разностных траекторий sponge-функции Bash-f. Оценки ограничивают сверху вероятности траекторий и могут использоваться при обосновании стойкости основанных на Bash-f криптографических алгоритмов к разностным атакам. Для полных 24-тактовых траекторий лучшая из оценок ограничивает вероятности величиной 2-386.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

On probabilities of differential trails in the bash-f sponge function

We propose two methods to obtain lower bounds on the weights of differential trails in the Bash-f sponge function. Our bounds restrict the probabilities of the trails from above and can be used to justify the security of cryptographic algorithms based on Bash-f against differential attacks. For the full 24-round trails, our best bound on the probabilities is 2-386.

Текст научной работы на тему «О вероятностях разностных траекторий sponge-функции Bash-f»

соответственно. Условия обратимости этих двух типов выглядят следующим образом: 3fVqVaV5{f (p(a5,q)) = а) и 3fVqVaV5{f (р(а5, q), q) = a).

Пример ещё одного типа обратимости автомата A содержится в условии

3fVa3ÖVq(f (р(а5, q),q, ф(а5, q),5) = а).

Это есть условие обратимости степени Va3$Vq и порядка v(q,a,ö) = (q,^(aö,q),ö). В нём утверждается возможность восстановления функцией f префикса а входного слова а5 автомата по его выходному слову ф(а5, q) при известных начальном состоянии q, заключительном состоянии t = ф(а5, q) и суффиксе 5 входного слова в предположении, что в автомате для каждого префикса а входного слова суффикс 5 этого слова не любой, но свой, и для этого входного слова а5 начальное состояние q может быть любым.

Каждому типу обратимости с фиксированной задержкой ставится в соответствие класс автоматов, обратимых этого типа. Показано, что граф отношения включения между этими классами представляет собой объединение двадцати девяти решёток, где каждая решётка по определению есть частично упорядоченное множество с точными верхней и нижней гранями для каждой пары его элементов. Доказано, что автомат A обратим типа (VqVaV5, v(q, а, 5)), если и только если

VqVaV5VsVßVe(а = ß ^ (ф(а5^),и^,а,5)) = (p(ße,s),v(s,ß,e)),

и что для любых символов кванторов Qi Е {V, 3}, i Е {1, 2, 3}, если автомат A обратим типа (QiX1Q2X2Q3X3,и^,а,5)), то

QiXiQ2X2Q3X3QiyiQ2y2Q3V3^ = ß ^ (р(а5, q),v(q, а, 5)) = (p(ße,s),v(s,ß,e)),

где xi,x2,x3 и yi,y2,y3 — различные переменные из множеств {q^,5} и {s,ß,e} соответственно, такие, что если Xi есть q, а или 5, то yi есть s, ß или e соответственно, и если xi = а, то Qi = V.

ЛИТЕРАТУРА

1. Agibalov G. P. Cryptanalytic concept of finite automaton invertibility with finite delay // Прикладная дискретная математика. 2019. №44. С. 34-42.

2. Агибалов Г. П. Конечные автоматы в криптографии // Прикладная дискретная математика. Приложение. 2009. №2. С. 43-73.

3. Tao R. Finite Automata and Application to Cryptography. N.Y.: Springer, 2009. 406 p.

УДК 519.7 DOI 10.17223/2226308X/12/27

О ВЕРОЯТНОСТЯХ РАЗНОСТНЫХ ТРАЕКТОРИЙ SPONGE-ФУНКЦИИ BASH-F

С. В. Агиевич, А. С. Маслов, Ю. С. Ярошеня

Предлагаются два метода оценки снизу весов разностных траекторий sponge-функции Bash-f. Оценки ограничивают сверху вероятности траекторий и могут использоваться при обосновании стойкости основанных на Bash-f криптографических алгоритмов к разностным атакам. Для полных 24-тактовых траекторий лучшая из оценок ограничивает вероятности величиной 2-386.

Ключевые слова: sponge-функция, S-блок, разностный криптоанализ, разностная траектория.

1. 8ро^е-функции и разностные траектории

Бро^е-функция — это бесключевая подстановка, действующая на двоичные слова достаточно большой (по криптографическим меркам) размерности. Располагая эро^е-функцией, можно построить целую линейку симметричных криптографических алгоритмов разнообразного назначения — от древовидного хэширования до аутен-тифицированного шифрования. Эти алгоритмы достаточно просты и имеют высокий потенциал быстродействия на распространённых аппаратных платформах.

Обычная эро^е-функция ^ преобразует слово X € {0,1}п в слово У € {0,1}п, выполняя d тактов (итераций)

X. = ), г = 1, 2,...Д

с Хо = X и У = Х^. Здесь Fi — тактовые подстановки.

Слова Xi интерпретируются как векторы над двоичным полем ¥2. Преобразования Fi представляют собой композиции линейных и нелинейных преобразований этих векторов. Нелинейные преобразования, как правило, действуют локально на подвек-торы х € где т невелико. Действие задаётся подстановками Б: ^ которые в криптографии принято называть Б-блоками.

В разностном криптоанализе рассматривается обработка не одного, а сразу двух слов: X и X'. Пусть АХ = X ф X' — их сумма, АХ. — сумма слов, полученных в результате применения г тактов к X и X', г = 1, 2,...^. Поскольку сложение по модулю два равносильно вычитанию, суммы АХ. являются также разностями (отсюда и название — «разностный криптоанализ»). Ненулевые биты разностей будем называть активными.

Последовательность разностей АХ, АХ1, ДХ2, ..., АХГ называется (г-тактовой разностной) траекторией. Траектории с нулевой входной разностью АХ тривиальны (состоят из нулей), мы их далее не рассматриваем. Пусть траектория порождается случайными X и X' с фиксированной разностью АХ. Возможность достаточно точного прогнозирования АХГ при г, близких к d, является предпосылкой для разностных атак. При обосновании стойкости F требуется оценить точность прогнозов и, в частности, получить оценки сверху для вероятностей траекторий.

Мы строили разностную траекторию, суммируя промежуточные результаты обработки входных слов. Можно поступить по-другому. Представим себе вероятностную машину М, которая работает исключительно с разностями, последовательно применяя к ним преобразования F1,..., Fr, точнее, их композиционные элементы. Линейные преобразования применяются к разностям (или их фрагментам) так же, как если бы речь шла о первоначальных словах. Остаётся рассмотреть действие Б-блока Б на фрагмент разности Ах. Если Ах = 0, то разность А у на выходе Б также нулевая. Если же Ах = а = 0, то М выбирает А у случайным образом в соответствии с вероятностным распределением

Р{Ау = в | Ах = а} = Е !{Б(и Ф а) ф Б(и) = в},

2 «екр

индуцируемым Б (здесь !!{£} —индикатор наступления события Е).

Случайный выбор Ау мотивируется случайным выбором входов F, которые порождают разностную траекторию. Следует понимать, что М только моделирует разностные траектории. Но это моделирование достаточно точно, точность считается удовлетворительной в практических случаях.

Подача на вход Б ненулевой разности Ах называется активацией Б-блока. Активация является точкой ветвления — после неё выходная разность А у определяется неоднозначно. Если активация произошла во время обработки разности АХ._1, то речь идёт о нескольких вариантах следующей разности АХ.. Во время обработки АХ. могут происходить новые активации, которые приводят к новым ветвлениям, и так далее. Другими словами, М на фиксированном входе АХ порождает несколько вариантов траекторий. Число вариантов, как правило, экспоненциально быстро растёт с увеличением длины траектории г.

Пусть во время генерации траектории АХ, АХ1,... , АХГ произошло за активаций Б-блоков и р — произведение соответствующих вероятностей Р{Ау = в | Ах = а}. Величина р и есть интересующая нас вероятность траектории.

Далее вместо р будет удобнее использовать характеристику —а = — 1<^2 р, которую называют весом траектории [1, 2]. Мы получим оценки снизу для веса траекторий яро^е-функции ВаяМ.

2. 8ро^е-функция БавЬ-Г

Бро^е-функция ВаяЬ-Г введена в работе [3]. Функция преобразует двоичные слова длины п = 1536, называемые состояниями. Состояние разбивается на 24 подслова длины 64. Слова записываются в матрицу размера 3 х 8. Строки и столбцы матрицы называются плоскостями: горизонтальными и вертикальными.

Функция ВаяЬ-Г построена как многократная композиция преобразований усложнения и перемешивания. За усложнение отвечает преобразование Б3, которое применяется к тройке 64-разрядных слов. Тройки соответствующих друг другу битов этих слов (вертикальные линии) одновременно подвергаются действию фиксированного трёхби-тового Б-блока. Одновременность достигается формульным заданием Б3 с помощью логических операций АКБ, ОИ, КОТ и сложения ХОИ.

За перемешивание в ВаяМ отвечают преобразования ¿3 и Р. Первое преобразование также применяется к тройке 64-разрядных слов. Слова суммируются по правилу ХОИ, циклически сдвигаются, снова суммируются и т. д. Всего выполняется шесть сложений и четыре сдвига. Преобразование Р переставляет местами 24 обрабатываемых слова.

Выполняется d =24 такта. На каждом такте сначала к вертикальным плоскостям применяется ¿3, затем Б3, затем плоскости перемешиваются с помощью Р. Дополнительно, для разрушения однородностей, к 24-му слову добавляется тактовая константа.

Б-блок Б: ^ ¥2 выбран так, что для любого ненулевого а € существует в точности четыре ненулевых в € ¥2, для которых

Р{Ау = в | Ах = а} = 4.

Таким образом, вес —а и число активных Б-блоков за связаны соотношением —а = 2за.

Пусть За(г) —минимальное число активных Б-блоков на нетривиальных траекториях ВаяЬ-Г длины г и —а(г) = 2за(г) —минимальный вес траекторий.

3. Результаты

Мы получили оценки снизу для величины —а(24) двумя различными методами. Первый метод почти полностью автоматизирован, он реализуется компьютерной программой и, как всякий автоматизированный метод, имеет перспективы быстрого улучшения и точной верификации результатов. Второй метод почти полностью ручной, он

реализуется прямыми расчётами на основе известных свойств ¿3 и Р и, как всякий ручной метод, опережает автоматизированный, если не требует вычислений большого объема. Методы появились в ходе разработки ВаэЬ-Г, в настоящей работе они усиливаются.

В [1, 2] получены аналогичные оценки для величины —а(24), только применительно к эро^е-функции Кеееак-Г (точнее, Кеееак-:Р[1600]). Эта функция является ядром известного семейства алгоритмов хэширования БНА-3. В Кеееак-Г также выполняется d =24 такта, длина состояния несколько больше: п = 1600.

Оценки представлены в таблице. Как видим, на сегодняшний день оценки для ВаэЬ-Г лучше оценок для Кеееак-Г.

Оценки снизу для 24)

Год, источник Bash-f Keccak-f

метод 1 метод 2

2012 [1] 296

2015 (разработка Bash-f) 300 324

2017 [2] 368

2019 (настоящая работа) 386 372

Опишем суть наших методов. Будем работать с характеристиками За(г).

Метод 1. Оценивание за (г) предполагает перебор разностных траекторий длины г. Прямой перебор затруднён уже при г = 3. Для сокращения перебора использовано сжатое описание траектории, фиксирующее только частичную информацию об их разностях. Такую частичную информацию мы назвали проекцией.

Использовались следующие проекции:

1) а¥1 —число активных Б-блоков (вертикальных линий);

2) а¥р — число активных (т.е. хотя бы с одним активным битом) вертикальных плоскостей;

3) а¥1э — число активных Б-блоков для каждой из вертикальных плоскостей (упорядоченный набор из восьми чисел).

Пусть [р](г) —проекция р разности г-го такта; [р1,...,рк](г,...,^') —набор проекций ([РщК'у)), 1 ^ и ^ к, г ^ V ^

Некоторые проекции однозначно определяют другие. Например, сумма чисел в [а¥1в](г) совпадает с [а¥1](г), количество ненулевых чисел в [а¥1в](г) —с [а¥р](г). В этом смысле а¥1э можно считать расширением проекций а¥1 и а¥р. Очевидно, что сумма

[а¥1](1) + ... + [а¥1](г) (*)

представляет собой число активных Б-блоков подразумеваемой г-траектории, а минимум суммы (*) по всем допустимым наборам проекций и есть искомое значение м(г).

Оценивание За(г) выполняется в три этапа по схеме метода ветвей и границ. На первом (подготовительном) этапе рассчитываются характеристики линейного преобразования ¿3, которые позволяют отсеивать недопустимые наборы проекций на третьем этапе. На втором этапе перебираются проекции [а¥1, а¥р](1,... , г) и вычисляется минимум суммы (*). При этом наборы проекций, на которых он достигается, сохраняются. На третьем этапе перебираются расширенные проекции [а¥1э](1,... , г), соответствующие проекциям, сохранённым на втором этапе. Если для некоторых г и ] не существует

допустимого набора [avls](i,... ,j), соответствующего [avl, avp](i,... ,j) из сохранённого набора, то набор [avl, avp](i,... ,j) помечается как недопустимый и вычисления возвращаются ко второму этапу для уточнения минимума.

Метод 2. Во втором методе оценивается снизу число активных S-блоков на четырёх тактах. Использованы свойства преобразований L3, S3, P, заложенные при проектировании Bash-f [3]. Особую важность имеет следующий факт: если на выходе L3 получена вертикальная плоскость с малым числом активных линий, то на вход была подана плоскость с большим числом активных линий. Базовые свойства преобразований выступают в роли аксиом, из которых аналитически выводятся теоремы — новые свойства, имеющие отношение к оцениванию.

Затем просматриваются допустимые конфигурации, представляющие собой пары «число активных вертикальных линий на входах L3 на втором такте, проекция [avp](2)». Для каждой конфигурации оценивается снизу проекция [avl](1) (как будто бы от второго такта мы возвращаемся к первому) и проекции [avl](3, 4). В итоге получена оценка

SA(4) = min([avl](1) + [avl](2) + [avl](3) + [avl](4)) ^ 31,

откуда sa(24) ^ 6sa(4) ^ 186.

ЛИТЕРАТУРА

1. Daemen J. and Van Assche G. Differential propagation analysis of Keccak // FSE'2012. LNCS. 2012. V. 7549. P. 422-441.

2. Mella S., Daemen J., and Van Assche G. New techniques for trail bounds and application to differential trails in Keccak // IACR Trans. Symmetric Cryptology. 2017. No. 1. P. 329-357.

3. Agievich S., Marchuk V., Maslau A., and Semenov V. Bash-f: another LRX sponge function // Математические вопросы криптографии. 2017. Т. 8. №2. С. 7-28.

УДК 519.7 DOI 10.17223/2226308X/12/28

КРИПТОАНАЛИЗ ШИФРСИСТЕМЫ ACBF1

И. В. Боровкова, И. А. Панкратова

Рассматривается асимметричная шифрсистема на булевых функциях с функциональным ключом. Предлагаются атаки с известным открытым текстом для двух подмножеств ключевых параметров.

Ключевые слова: криптосистема ACBF, векторные булевы функции, асимметричная криптосистема, криптоанализ.

Рассматривается шифрсистема ACBF (Asymmetric Cryptosystem on Boolean Functions) [1]. Она строится на основе двух операций — перестановки и отрицания,— применяемых к переменным и координатам обратимой векторной булевой функции. Открытый ключ f (x) получается по формуле f (x) = n2(ga2 (n\(xai))), где g: F^ ^ — биективная векторная булева функция; функции g и g-1 известны; а\,а2 Е F^ — операции отрицания; п1,п2 Е — операции перестановки. Закрытый ключ — функция f-1.

Ключевыми параметрами криптосистемы являются элементы любого непустого подмножества J С {п1 ,п2, а1,а2}; операции из {п1,п2, a1,a2}\J считаются тождественными. Таким образом, существует 15 различных подмножеств ключевых параметров.

1 Работа поддержана грантом РФФИ, проект №17-01-00354.

i Надоели баннеры? Вы всегда можете отключить рекламу.