Научная статья на тему 'КЛЮЧЕВОЙ КРИПТОАЛГОРИТМ ПО СХЕМЕ «СЭНДВИЧ» НА ОСНОВЕ ХЕШ-ФУНКЦИИ «СТРИБОГ»'

КЛЮЧЕВОЙ КРИПТОАЛГОРИТМ ПО СХЕМЕ «СЭНДВИЧ» НА ОСНОВЕ ХЕШ-ФУНКЦИИ «СТРИБОГ» Текст научной статьи по специальности «Математика»

CC BY
9
1
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
Стрибог / PRF / НМ АС / доказуемая стойкость / Streebog / PRF / HMAC / provable security

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

Предложен способ преобразования хеш-функции «Стрибог» в ключевой криптоалгоритм, условно называемый Стрибог-С («сэндвич» — ключ в начале и ключ в конце) и не требующий изменений в самой хеш-функции. Особенности криптоалгоритма упрощают реализацию мер защиты от атак по побочным каналам. Доказано, что Стрибог-С, а также НМАС-Стрибог и Стрибог-К являются стойкими псевдослучайными функциями (PRF) и алгоритмами имитозащиты (MAC) в условиях, когда (почти все) их внутренние состояния становятся известными противнику. От функции сжатия, итеративно применяемой внутри хеш-функции, в таких условиях требуются дополнителвные свойства — стойкости к атакам на построение коллизий и прообраза.

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

Похожие темы научных работ по математике , автор научной работы — Кирюхин Виталий Александрович, Сергеев Андрей Михайлович

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

“SANDWICH”-LIKE KEYED ALGORITHM BASED ON THE “STREEBOG” HASH FUNCTION

We propose a keyed cryptographic algorithm based on the “Streebog” hash function. We do not make any structural changes to the hash function itself, but only introduce a special type of padding. As a result, the key appears on both sides of the message in so-called “sandwich” manner — hence the name Streebog-S for our construction. “Sandwich” properties make it possible to simplify defenses against side-channel attacks while maintaining their effectiveness. We prove that Streebog-S and other algorithms based on “Streebog”, HMAC-Streebog and Streebog-K, remain secure as pseudorandom functions (PRF) and message authentication codes (MAC) even when almost all internal states are leaked to the adversary. This leakage resistance requires additional properties from the underlying compression function, namely collisionand preimage-resistance.

Текст научной работы на тему «КЛЮЧЕВОЙ КРИПТОАЛГОРИТМ ПО СХЕМЕ «СЭНДВИЧ» НА ОСНОВЕ ХЕШ-ФУНКЦИИ «СТРИБОГ»»

ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА

2024

Математические методы криптографии

№ 63

МАТЕМАТИЧЕСКИЕ МЕТОДЫ КРИПТОГРАФИИ

КЛЮЧЕВОЙ КРИПТОАЛГОРИТМ ПО СХЕМЕ «СЭНДВИЧ» НА ОСНОВЕ ХЕШ-ФУНКЦИИ «СТРИБОГ»

E-mail: vitaly.kiryukhin@sfblaboratory.ru, andrey.sergeev@sfblaboratory.ru

Предложен способ преобразования хеш-функции «Стрибог» в ключевой криптоалгоритм, условно называемый Стрибог-С («сэндвич» — ключ в начале и ключ в конце) и не требующий изменений в самой хеш-функции. Особенности криптоалгоритма упрощают реализацию мер защиты от атак по побочным каналам. Доказано, что Стрибог-С, а также НМАС-Стрибог и Стрибог-К являются стойкими псевдослучайными функциями (PRF) и алгоритмами имитозащиты (MAC) в условиях, когда (почти все) их внутренние состояния становятся известными противнику. От функции сжатия, итеративно применяемой внутри хеш-функции, в таких условиях требуются дополнительные свойства — стойкость к атакам на построение коллизий и прообраза.

Ключевые слова: Стрибог, PRF, НМАС, доказуемая стойкость.

"SANDWICH"-LIKE KEYED ALGORITHM BASED ON THE "STREEBOG" HASH FUNCTION

V. A. Kiryukhin*'**, A.M. Sergeev*

*LLC "SFB Lab", Moscow, Russia

**

We propose a keyed cryptographic algorithm based on the "Streebog" hash function. We do not make any structural changes to the hash function itself, but only introduce a special type of padding. As a result, the key appears on both sides of the message in so-called "sandwich" manner — hence the name Streebog-S for our construction. "Sandwich" properties make it possible to simplify defenses against side-channel attacks while maintaining their effectiveness. We prove that Streebog-S and other algorithms based on "Streebog", HMAC-Streebog and Streebog-K, remain secure as pseudorandom functions (PRF) and message authentication codes (MAC) even when almost all internal states are leaked to the adversary. This leakage resistance requires additional properties from the underlying compression function, namely collision- and preimage-resistance.

Keywords: Streebog, PRF, HMAC, provable security.

УДК 519.7

DOI 10.17223/20710410/63/2

*'** *

* **

*

Введение

Российская бесключевая хеш-функция «Стрибог» (ГОСТ 34,11-2018) [1] основана на модифицированной схеме Меркла — Дамгарда (МЛ) [2, 3]. Хешируемое сообщение M дополняется специальным образом и разбивается на блоки по n = 512 бит, затем к n-битному состоянию хеш-функции h и блоку сообщения m итеративно применяется функция сжатия g(h, m) = h'. Начальное состояние хеш-функции является предопределённой константой, последнее состояние — результат хеширования (хеш-значение).

Примечательной особенностью отечественной хеш-функции, отличающей её от оригинальной схемы МД, является использование контрольной суммы (КС), Последний хешируемый блок —сумма всех блоков сообщения M по модулю 2П (операция «Ш»),

Указанный механизм играет важную роль, когда «Стрибог» (И) используется в качестве основы для ключевых криптоалгоритмов. Примерами таковых могут служить НМАС-Стрибог [4] (двойное хеширование) и Стрибог-К [5] (ключ K перед сообщением— И(K||M)), Эти алгоритмы являются стойкими псевдослучайными функциями (PRF) [5, 6] и применяются для защиты целостности (имитозащиты), т.е. служат для выработки кодов аутентификации сообщений (MAC —Message Authentication Code),

K

ним из хешируемых блоков, тогда последним блоком (назовём его финализирующим ключом) будет K Ш о, Значение о может выбираться противником, так как в типовой модели угроз у атакующего есть возможность выбора текста M, Сообщения Mi,..., Mq

дают КС о1; ,,,, oq и соответственно связанные ключи K Ш о1; ,,,, K Ш oq,

g

PRF в условиях атак со связанными ключами (PRF-RKA), Конструктивные исследо-

g

не найдено атак лучше универсальных. Проблема в том, что в общем случае вероятность успеха универсального метода (тотального опробования) при r связанных ключах в r раз больше, чем при их отсутствии. До определённого объёма обрабатываемых данных (нагрузки на ключ), как показано в [6], специфика хеш-функции позволяет уйти от указанной проблемы, но значительное превышение этой границы приводит к эффективным атакам [9, 5], Известны методы определения секретного ключа для НМАС-Стрибог со сложностью порядка 24n/5 по времени и данным [9], аналогично и для Стрибог-К [5],

Второе следствие носит позитивный характер, Финализацию нельзя осуще-K

пример по побочным каналам, противнику становится известно внутреннее состояние криптоалгоритма (состояние хеш-функции после обработки первых блоков некоторого

K

но вычислить имитоветавку (хеш-значение). Здесь и далее считаем, что КС не является частью состояния, а ключ K складывается с о однократно при вычислении последней функции сжатия. При «наивной» реализации хэш-функции частью состояния является блок вида K Ш m1 Ш ... Ш mj (сумма ключа и первых j блоков сообщения), утечка которого немедленно приводит к раскрытию ключа.

Третье следствие — для защиты от атак по побочным каналам часто псполь-

Ш

(при вычислении КС) и «ф» (сложение по модулю 2 внутри самой функции сжатия) приводит к дополнительным накладным расходам, требует применения специальных алгоритмов [10, 11], что снижает скорость работы и усложняет реализацию.

В настоящей работе предлагается простой способ построения ключевого криптоалгоритма, сохраняющий положительные свойства контрольной суммы и устраняющий отрицательные, К сообщению M приписывается специальный блок C так, чтобы КС от их конкатенации M||C была равна нулю. При хешировании H(K||M||C) ключ K будет и первым блоком (в силу явного расположения), и последним (из-за КС), В саму хеш-функцию, как видно, не вносится никаких изменений. Получившийся криптоалгоритм по своей идее схож со схемой «Сэндвич-МАС» [12], отсюда условное наимено-

C

зависит от ключа, может вычисляться по ходу хеширования сообщения.

Стойкость схемы «сэндвич» требует более слабых предположений о функции сжатия (PRF вместо PRF-RKA), чем требуются для Стрибог-К и для НМАС-Стрибог, Эвристические оценки преобладания противника в задаче различения «криптоалгоритм или случайная функция» (а равно, оценки вероятности навязывания [13]) у трёх упомянутых криптоалгоритмов почти одинаковы.

Отсутствие связанных ключей позволяет доказать, что даже при утечке внутреннего состояния (но без утечки дополнительных сведений о ключе1) единственным эффективным способом определения секретного ключа для Стрибог-С является тотальное опробование (в предположении, что ключ функции сжатия также нельзя определить эффективнее тотального опробования). Для Стрибог-К и НМАС-Стрибог аналогичное утверждение верно только при длине ключа k ^ п/2 = 256 бит. При k ^ п и q выбранных сообщениях определение ключа в таких условиях потребует порядка (2k/q + 2n/2) операций [5],

При раскрытии внутреннего состояния три рассматриваемых криптоалгоритма остаются стойкими PRF и стойкими к атакам на ключ (модель KR —Key Recovery), В настоящей работе описываются соответствующие формальные модели PRF-LEAK и KR-LEAK, От функции сжатия в таких условиях дополнительно требуется стойкость к атакам на построение коллизий (модель CR — Collision Resistance) и прообраза к зафиксированному значению (модель TPR —Target Preimage Resistance), Отдельное рассмотрение моделей KR (и KR-LEAK) обусловлено возможностью получения более точных оценок.

Реализация маскирования для Стрибог-С упрощается — последним обрабатываемым блоком является ключ K, а не сумма K Ш а, При этом, в силу стойкости к утечке состояния, защищать необходимо только последний вызов функции сжатия, а точнее, используемый в ней LPSX-шифр, Соответствующие способы хорошо известны и рассматриваются, например, в [14-16],

Изложение результатов построено следующим образом: в п, 1 вводятся обозначения и приводятся общие сведения о математическом аппарате теории доказуемой стойкости, Пункт 2 содержит описание хеш-функции «Стрибог» и ключевых криптоалгоритмов, построенных на её основе, В п, 3 даётся формальное описание вычислительно сложных базовых задач, к которым сводится стойкость анализируемых алгоритмов. Пункт 4 посвящён описанию схемы «сэндвич», её основным эксплуатационным и криптографическим свойствам. Пункты 5 и 6 содержат соответственно описание моделей угроз PRF-LEAK и KR-LEAK, Для рассматриваемых криптоалгоритмов приводятся доказательства стойкости и соответствующие эвристические оценки, В п, 7 с учётом результатов анализа в моделях PRF-LEAK и KR-LEAK обсуждаются общие подходы

1 Дополнительные сведения о ключе, например из побочных каналов, могут позволить действовать эффективнее тотального опробования.

к обеспечению защиты от атак по побочным каналам. Показывается, какие сведения

0 процессе вычислений должны быть защищены от утечек, а какие могут быть раскрыты противнику,

1. Обозначения и общие сведения

Обозначим:

— п, к, т — битовый размер состояния/блока, ключа и выхода соответственно (п = = 512, k ^ п, т ^ п);

— Уп — множество всех п-битных строк (элементы Уп могут естественным образом интерпретироваться как целые числа и наоборот);

2п

— 0й — строка из u пулевых бит;

— || — конкатенация битовых строк;

— тзЬад(Х) и 1зЬад(Х) —усечение строки X Е Уп до и старших и младших бит соответственно;

— ф — сложение по модулю 2;

— Ш и В — сложение и вычитание по модулю 2п соответственно;

— Рипе(Х, V) — множество всех функций, отображающих конечное множество X в конечное множество V;

— X А X — случайный и равновероятный выбор элемента X из множества X;

— Р : X ^ V — детерминированный алгоритм, отображение из множества входов X в множество выходов V, Р Е Бшс^, V),

Под противником будем понимать интерактивный вероятностный алгоритм Л, взаимодействующий с другими алгоритмами (оракулами) [17]. В рамках модели угроз ТМ для криптоалгоритма Д^ количественную характеристику успешности противника Л обозначаем А^А^(Л). В зависимости от модели ТМ значение А^А^ может определяться как преобладание в задаче различения реальной криптоехемы от идеальной или как вероятность реализации угрозы (пример — восстановление ключа). Вероятностное пространство каждой рассматриваемой модели угроз определяется равновероятным

Л

альных алгоритмов», соответствующий выбор обозначается символом « А».

Максимум значения А^А^ (Л) среди противников, возможности которых ограничены вычислительно (числом операций £ в некоторой модели вычислений) и информа-

ТМ

и алгоритмом Д^ параметрами ргтз) обозначаем А^А|М(¿,ргтз).

Результатом вычислений Л после взаимодействия с оракулом О является значение х обозначаем это Л° ^ x, Для моделей угроз, в которых целью противника яв-

Л

Ь Е {0,1} где «реальному» алгоритму соответствует 1 (Л° ^ 1), а «идеальному» — 0 (Л° ^ 0). Противник Л может формировать запросы к оракулу адаптивным образом, г-й запрос к оракулу может зависеть от ответа на запросы с номерами 1,2,,,,, г — 1,

1 ^ г ^ ? (осуществляется атака с адаптивно выбираемыми сообщениями). Содержимое запроса полностью определяется противником, ограничение задаётся только на

Л

гда использует максимально возможное число запросов и среди них нет совпадающих

Л

ходного кода) ограничен некоторым малым значением, что позволяет исключить из рассмотрения отдельные атаки, основанные на «бесплатных» предвычнсленнях [18].

Неформально называем Д^ стойким в модели угроз ТЫ (ТЫ-стойкнм), если ЛауАМ(¿,ртшв) ^ е, где е не превосходит некоторого малого значения, определяемого требованиями к стойкости криптосистемы, а ресурсы ¿и ртшв сопоставимы с доступными противнику на практике.

Символ используем с целью демонстрации практической значимости результатов, подразумевая под ним: «меньше или равно, если соответствующие эвристические предположения истинны».

Приведём здесь определения часто упоминаемых моделей угроз, остальные дадим по тексту работы.

Определение 1. Преобладанием противника А в модели РИР (РНЕ-СМА — неотличимость от случайной функции при атаке с выбранными сообщениями) для ключевой функции Р : К х X ^ V назовём

AdvPRF (A) = pr

K Д K : AFk => 1

pr

R A Func(X, Y) : Ar ^ 1

Противник A делает к оракулу q запросов, Eели X = V<2™, то в pecvpсы A включается l — максимальная длина запроса (в n-битных блоках),

A

CPA, Key Recovery — восстановление ключа в условиях атаки с выбранными открытыми текстами) для ключевого алгоритма F : K х X ^ Y назовём вероятность восстановления ключа

AdvpR (A) = Pr

K Д K : AFkK', K = K'

Ресурсы противника определяются как в модели РЕЕ, Хорошо известна связь этих моделей [17]:

Лау^(¿, д) ^ (¿', д + и) + |У|-и, Ь = Ь + д + и,

т, е, преобладание в задаче различения является верхней оценкой вероятности восстановления ключа (здесь и далее считаем, что вычислительная сложность передачи одного блока между противником и оракулом не превосходит сложности вычисления Р

2. Хеш-функция «Стрибог»

Приведём описание хеш-функции «Стрибог» [1], пользуясь часто применяемым эквивалентным представлением [19], подробности можно найти также в [5],

Хешируемое двоичное сообщение Ы Е V<2 дополняется битовой строкой 10 ... 0, чтобы длина текста была кратна и: Ы' = Ы|| 10 ... 0, Дополнение выполняется, даже если длина Ы кратна и.

Далее Ы' разбивается па (I + 1) блоков по и = 512 бит, Ы' = ш0||ш!||ш2||... ||ш1. С помощью функции сжатия g : Vn х Vп ^ Vn выполняется их последовательная обработка:

hi+1 = g(hi, mi) 0 Ai, 0 ^ i ^ l - 1, hi+1 = g(hi, mi) 0 Ai.

Здесь Д,, ДI Е Уп — некоторые константы, при этом Д, = Дг, г = 0,..., I — 1, Начальное состояние хеш-функции й0 = /"У- Е Уп зависит от дайны выхода т Е {256,512},

После обработки блоков из М' выполняется финализация, обрабатываетея блок Ь (битовая длина сообщения М) и блок контрольной суммы Е = эитШ(М) = ш0Ш.. .ЕШг:

Н = д(д(Ь1+1,Ь),Г).

Результатом хеширования является Нт(М) = тзЬт(Н), ири т = 512 усечение фактически не выполняется. Если длина выхода не играет роли, то соответствующий индекс в обозначениях опускаем.

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

Функция сжатия реализована с помощью 12-раундового блочного шифра ЬРБХ-типа Е : Уп х Уп ^ Уп с использованием конетрукциии Миагучи — Пренеля:

Ш,) = Е(й,, И,) ф й, ф Ж, = ^¿+1.

Блочный шифр Е состоит из 12 полных раундов и одного усечённого (всего 13 раун-довых ключей)

Е(й, ш) = Х131 Р Б Х12... I Р Б Х2Ь Р Б Х1 (Ш),

а каждый раунд содержит четыре операции:

Xj — сложение блока по модулю 2 с э'-м раундовым ключом й(:?), 1 ^ Э ^ 13; Б — параллельное применение зафиксированной подстановки к каждому байту; Р

1_ — параллельное применение линейного преобразования к 64-битным подблокам, Раундовые ключи формируются схожим образом:

й(1) = ЬРБ(й), = 1РБ(й(Л ф гс(Л), 1 ^ э ^ 12.

Здесь гс(^) Е Уп — раундовые константы.

На основе хеш-функции «Стрибог» в [4] определено ключевое преобразование

НМДС-Стрибог-т(К, М) = Нт (К ф орас11| Нт (К ф!рас1|| М)),

где ключ К = К || 0п-й, к ^ п; орас! и 1рас1 — различные ненулевые константы.

Особенности хеш-функции позволяют построить ключевое преобразование более простым способом [5] за счёт однократного хеширования:

Стрибог-К (К, М) = Н(К || М).

Для упрощения обозначений положим К = ш0 и М' = ш1|| ... и определим каскадное преобразование следующим образом:

Сбс(Ксзс, М) = §(... §(§(Ксбс ф До, Ш1) ф Д1, Ш2)... ф Д1, Ь).

Здесь каскадный ключ Кс5С Е Уп. Полагаем, что входные данные М Е У<2" дополняются в Сбс строкой 10 ... 0 а даина Ь увеличивается па п из-за приписывания ключа. Ключевая хеш-функция примет следующий вид (рис, 1):

Н (К|| М) = §(СБС(§(/У, К), М), К Ш а),

а = эитШ(М) = ш1 Ш ш2 Ш ... Ш шг.

Csc

K = K ||0

n—k

IV—>

Kcs

m 1

mi

L

Л Aq

>

-^зн

Л

>

Ai_

ii

Л

A i

K Ш а

Y

H

g

g

g

g

g

Рис. 1. Ключевая хеш-функция

Для краткости записи иногда сокращаем наименование Стрибог-К до КН, а НМАС-Стрнбог —до НМАС; их областью определения считаем Ук х V<2 А Ут.

3. Базовые задачи

Стойкость рассматриваемых ключевых криптоалгоритмов сводится к ряду вычислительно сложных базовых задач, зависящих от функции сжатия g в соответствующих моделях угроз. Результаты конструктивного криптоанализа свидетельствуют, что g действительно является стойкой, а базовые задачи, следовательно, сложными. Приведём определения формальных моделей и дадим эвристические оценки преобладания противника, атакующего g,

Определение 3. Преобладанием противника А в модели РНР-НКА® для ключевого криптоалгоритма Р : К х X А V назовём

AdvpRF RKА® (A) = Pr

K R K : AFk® (0 ^ 1

Pr

K A K, Ri A Func(X, Y), Vi G K : ARk®(0 ^ 1

где К, X, V — множества ключей, входов и выходов соответственно; К С К. Символом «®» обозначена ^-арная операция, определённая над К и являющаяся параметром модели. Запрос от А состоит из входа х Е X и «связи» к Е К™-1. Ответом является значение у = Рк©к(х) (соответственно у = RK®к(х)). Противник А делает к оракулу д запросов, их содержимое ограничено по числу «связей» (г) и по максимальному числу различных «связей» с которыми преобразуется одно и то же значение х ^ г ^ д).

А

НКА® для ключевого алгоритма Р : К х X А V назовём вероятность восстановления ключа

Adv™Ae (A) = Pr

K А K : AFk® (0 ^ K'K = K'

Параметры модели и ресурсы противника определяются как в PRF-RKA®,

Отметим, что при K = K и использовании в качестве «®» унарного тождественного преобразования модель PRF-RKA® эквивадептпа модели PRF, а модель KR-RKA® — модели KR. При одинаковых параметрах («®» и K) модели PRF-RKA® и KR-RKA® соотносятся так же, как PRF и KR.

В качестве «®» обычно используется бинарная операция ® G (Ш, ф}, Анализ криптоалгоритма НМАС-Стрибог требует рассмотрения тернарной операции, определяемой композицией Ш о ф, в этом случае подразумеваем, что операндом для ф служат

только два различных значения (1рас1 и орас1), Множество К введено исключительно

п

случае дополняется нулями.

Секретным ключом функции сжатия может выступать как блок сообщения, так и блок состояния, обозначаем это соответственно

gK(■) = g(-,K), k ^ n, K e K = {K || 0n-k : K e },

n-fc

■) = g(h, ■), h e K = K = Vn

С учётом конструктивных результатов анализа [7, 8, 20] в работе [6] для gv и g> приводятся следующие эвристические оценки (по вероятности успеха универсальных атак):

Adv™.< ^ i tf « (1)

Adv™™A« (t,q,r = 2) < | + . (2)

Оценку (1) используем в таком же виде для модели KR-RKAg, Оценку для g> в аналогичном случае можно несколько уточнить, так как второе слагаемое в (2) соответствует различителю по парадоксу дней рождения, а не атаке на ключ. Одной операцией (из / возможных) здесь и далее считается вычисление функции сжатия.

Предположение о стойкости g> в модели PRF-RKAe нужно для оценки каскадного преобразования [5]:

Adv£sRcF(t, q, l) ^ q ■ I' ■ Advg>R™A® (t',q,r = 2), t' = t + ql, I' = I + 1.

В n, 5 показано, что анализируемые ключевые хеш-функции остаются PRF-етой-кими даже при реализации угроз, связанных с утечкой внутреннего состояния криптоалгоритма (модель PRF-LEAK), От функции сжатия в таких условиях необходимо потребовать стойкости к атакам CR и TPR,

Определение 5. Характеристикой успешности противника A в модели CR для хеш-функции F : S х X ^ Y назовём вероятность построения коллизии

AdvpR(A) = Pris a S : A(S) ^ (M, M'), F(S, M) = F(S, M') & M = M'

A

хеш-функции F : S х X A Y назовём вероятность построения прообраза

AdvTPR(A) = pr |S A S : A(S) ^ M, F(S, M) e T

множество целевых образов T является параметром модели,

S

вести из рассмотрения алгоритмы, в которых «зашита» найденная заранее пара сооб-(M, M )

явить эту пару. Указанный алгоритм, разумеется, существует, обладает малым описанием и требует пренебрежимо мало вычислительных ресурсов, но если смотреть с практической точки зрения, требует огромного объёма предварительно выполняемых операций для своего явного построения. Введение случайного выбора S делает подобные предвычиеления бессмысленными. При этом реальные алгоритмы построения

коллизий обычно не используют существенным образом конкретное значение S и эффективны при любом выборе. Аналогичные соображения верны для модели TPR,

Для g множеством входов является X = (Vn х Vn) — множество пар (блок состояния, блок сообщения). Множеством S можно условно считать все значения, которые могут принимать раундовые константы rc(1\ ..., rc(12\ g : S х (Vn х Vn) A Vn.

С учётом отсутствия специфических методов построения коллизий в открытой литературе [22-26] (атакуется не более 9,5 из 12 полных раундов [25]), эвристическая оценка равна

t2

AdvgR(t) £ ^ (3)

— по вероятности успеха универсального метода — р-метода Полларда [27] (по парадоксу дней рождения).

Для пол норну н дог,oii функции сжатия не представлены нетривиальные методы построения прообраза [23, 24, 28-30] (атакуется не более 8,5 раундов [30]), поэтому эвристическая оценка вероятности успеха

Adv™ (t) £ ^ = L (4)

g w ~ 2n 2'п

даётся по методу полного перебора, в качестве T используется только одноэлементное множество целей (образов), T = {IV},

Для каскадного преобразования, которое здесь для формальности определяется как Csc : S х (Vn х V<2) A Vn, верпы следующие неравенства:

Advgfc(t) ^ AdVgCR(t'); (5)

AdvCfcR(t) ^ AdvgPR(t'), t' = t +1. (6)

Csc

содержит длину сообщения L (МД-усиление), а значит, коллизия каскада —это колли-

g

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

стойкости к коллизиям специального вида «Constrained CR» [31], но для упрощения изложения ограничимся оценкой (5),

Неравенство (6) для модели TPR следует из простого наблюдения. Пусть тройка (S, KCsc, M) такова, что Csc(S, (KCsc, M)) е T, тогда g(S, (x, L)) e T, где x — состояние

Csc

SS

обозначение,

4. Схема «сэндвич»

Стрибог-С (обозначаем для краткости SH) дополняет хешируемый текст M так, чтобы в последнем хешируемом блоке был именно ключ K = K || 0n-k, а не сумма K Ш ст. Таким образом, ключ K является и первым хешируемым блоком, и последним — отсюда наименование «сэндвич». Напомним, что у хэш-функции «Стрибог» двумя последними хэшируемыми блоками являются битовая длина и контрольная сумма хэшируемых данных (рис, 2),

Различные варианты схемы «сэндвич» были предложены в [12] для «простой» конструкции Меркла — Дамгарда (т, е, без контрольной суммы). Сами схемы анализировались только в модели PRF, доказательства опирались на результат [32], практическая

неприменимость которого показана в |33|. Отметим также, что в предложенных вариантах схемы |12| первый и последний хешируемые блоки содержали ключ, по были заведомо различны.

Дня хеш-функции «Стрибог» схема «сэндвич» реализуется за счёт специального блока С е V"-:

БН(К,М) = Н(К || М || С), С = сб(м).

Алгоритм сб : V<2" А V" не зависит от секретного ключа и может выполняться по

М

Определим необходимую «поправку» к контрольной сумме

С Ш эитШ(М) = 0, С = 0 В эитШ(М) = 0 В В т2 В ... В тг,

при расчёте эитШ текст М дополняется рбитной строкой 10 ... 0(1 ^ р ^ и).

Если р = и, то С располагается в одном и-битном блоке, С = С а если р < и, то биты С попадают в два блока — старшие (тэЬ) в последний, а младшие ( 1бЬ) — 13 предпоследний (рис.2):

С = Сьь || Ст5б = 1зЬр(С7) || тзЬп-р(С7),

случай р = и также описывается этой формулой: С = 1бЬп(С7) = С = Ст5Ь || С^,

р = п

К С1.вЪ 10...0 ь К

1 < р < п

К шх Ш2 С1.вЪ 10... 0 ь К

Рис. 2. Блоки на входе функции сжатия для случаев р = п и 1 ^ р < п. Серым выделены биты, которые являются входом хеш-функции, белым биты, формируемые хеш-функцией. Ь - битовая длина входа хэш-функции

С

тоалгоритма. Вычисление КС в любом случае выполняется в рамках хеш-функции, Стрибог-С лишь заменяет сложение по модулю 2" на вычитание — Ш на & Значение С

В

инверсии (обозначаем «~» ) и сложения с единицей: С = ~ эитШ(М) Ш 1.

Таким образом, па вычислительную эффективность существенно влияет лишь необходимость одного дополнительного обращения к функции сжатия. В таблице сравнивается число обращений к § для случая, когда длина со общения М меньше и бит. Под предвычислепиями понимается возможность заранее вычислить и хранить каскадный ключ Кс5с = К) (для НМАС-Стрибог соответственно два каскадных ключа, К<~5с = §(/^К ф 1рас1) и К?с = §(1^К ф орас!)).

Как можно видеть, «сэндвич» порождает меньше накладных расходов, чем двойное хеширование, но требует на один вызов § больше, чем Стрибог-К, Референсные реализации перечисленных в таблице криптоалгоритмов представлены в репозитории |34|,

Минимальное число вызовов g, необходимое для обработки сообщения

Предвычисления Стрибог-К Стрибог-С НМАС-Стрибог-256 НМАС-Стрибог-512

Нет 4 5 8 9

Есть 3 4 6 7

Необходимость использования «альтернативной» КС вызвана желанием оставить саму хеш-функцию «Стрибог» без каких-либо изменений, что, как представляется, позволяет использовать существующие реализации алгоритмов и в целом упрощает процесс внедрения. Безусловно, ключевую хеш-функцию по схеме «сэндвич» можно построить «с нуля» так, чтобы рассматриваемые криптографические свойства оставались такими же, а минимальное число обращений к g составляло 3 (ключ —блок с дополнением — ключ) и 2 (с предвычиелениями),

Отметим, что аналогичный способ преобразования в схему «сэндвич» можно применить к хеш-функции ГОСТ Р 34.11-94 [35].

В [5, 6] показано, что Стрибог-К и НМАС-Стрибог являются PRF-етойкими, в частности, доказана

Теорема 1 [6]. Преобладание любого противника, атакующего Стрибог-К в модели PRF, ограничено следующим образом:

AdvKHF(t,q,l) ^ AdvgP™Affl(t',q',r,d) + AdvPsf (t',q,l') + ^ (7)

Здесь t' = t + ql; r = q' = q + 1; l' = l + 1; d =1.

Эвристическая оценка преобладания противника

Advr (t',q,l) S 2k + + ^■ t' - t, l' = l + 1, (8)

получена в [6] в предположении об отсутствии для функции сжатия атак, которые были бы лучше универсальных. Оценка (8) является точной — каждому слагаемому оценки соответствует атака, действующая с сопоставимой вероятностью успеха: тотальное опробование ключа; атака за счёт деградации каскада; атака по парадоксу дней рождения.

PRF-етойкоеть схемы «сэндвич» является прямым следствием теоремы 1. В самом деле, из равенства

SH(K, M) = KH(K, M || cs(M)) = H(K || M || C)

следует, что любой запрос к SH может быть выражен через запрос к KH, Пусть существует алгоритм A, эффективно атакующий SH в модели PRF, Построим алгоритм B, который будет атаковать KH с такой ж эффективностью. На любой запрос M от A, адгоритм B вычпеляет C = cs(M), ^тоему оракулу O G {KH, R} запрос

M||C, ^^^^^^^а ^^мращает алгоритму A ^^^^^^^^^ ^^оты алгоритма B равен

результату работы A. Алгоритм B идеально симулирует для A оракул SH ми R, следовательно, в силу произвольности алгоритма A верно неравенство

AdvSHF(t, q, l) ^ AdvKHF(t', q, l + 1), t' = t + ql.

Кроме этого, у SH все блоки на входе функции gv обрабатываются при ключе K, а не при различных связанных ключах. Значение r снижается с q + 1 до 1 — вместо модели PRF-RKAh фактически используется модель PRF,

Следствие 1. Преобладание любого противника, атакующего Стрибог-С в модели РНК. ограничено:

ла^(ь, 4, /) ^ (Ь, 4) + л^(Ь, 4, V) + (9)

Здесь Ь' = Ь + д/; 4 = 4 + 1; /' = / + 2.

Оценка (8) является точной и для схемы «сэндвич», для которой могут быть применены три соответствующие атаки.

5. Стойкость при раскрытии состояния

Рассматриваемые ключевые криптоалгоритмы (БН, КН, НМДС) обладают важным и полезным на практике свойством — они остаются стойкими псевдослучайными функциями, даже если противник получает доступ к внутреннему состоянию хеш-функции. Сам ключ, разумеется, не считается частью состояния. Контрольная сумма не зависит от ключа и сама по себе известна противнику (также не является частью состояния).

КН

ции сжатия (в НМДС соответственно двукратно), а в БН не происходит вообще.

Определение 7. Преобладанием противника А в модели РНЕ-ЬЕАК для ключевого криптоалгоритма Р : К х X А V при утечке, определяемой функциями 1еак1 : К А и 1еак2 : К х X А Ь2, назовём

Ла^™кК2(А) = Рг[к А К : А£(!еак1(К)) ^ 1 - Рг[К А Еипе(Х, У х Ь2), /к А Г : АК(/к) ^ 1

Оракул £ на запрос X е X возвращает ответ (Р(К, X), !еак2(К, X)), состоящий из результата работы криптоалгоритма Р и утечки, зависящей от ключа К и запроса X.

Нетрудно видеть, что при любом виде утечки модель РНК-ЬКЛК расширяет модель РНЕ, При Г = Ь2 = 0 модели РИГ и РНЕ-ЬЕАК эквивалентны. !еак1 !еак2

них можно использовать вероятностные алгоритмы. В пользу противника считаем тем самым, что он получает достоверную «незашумлённую» информацию.

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

5.1. Стрибог-С и Стрибог-К

Для Стрибог-С и Стрибог-К в качестве !еак1 выберем §▽ (IV) — до начала взаимодействия с оракулом раскрывается каскадный ключ Кс5С. Противник, таким образом, может вычислить любое состояние хеш-функции, исключение составляет последний вызов функции сжатия. Значение Н = (У) даже при известных У = Сбс(Кс5С, М) и а = эитШ(М) (а = 0 для БН) вычислить без знания К нельзя, Функция !еак2 тривиальна, Ь2 = 0, так как знание Кс5С уже даёт противнику дополнительные возможности, релевантные для нашего анализа.

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

Теорема 2. Преобладание любого противника, атакующего Стрибог-К или Стрибог-С в модели РКГ-ЬЕАК, при утечке каскадного ключа Кс5с = ёК(IV) ограничено соответственно

лау^™1х(*, я, /) ^ лауёр™А= (¿', д\ г, а) + лаур*у) + лаурр*у), (ю)

АауРКРкьЕАкя,I) ^ лаур№(¿',я') + лаур*у) + лаурр]а(¿'),

где ¿' = £ + дЦ г = я' = я + 1 а =1,

Доказательство. Докажем утверждение для КН, делая для БН оговорки по ходу изложения.

Назовём коллизией (С) совпадение любой пары элементов в ряду

IV,Уь У2,..., У, где У = Сзе(Ксзс, Мг), 1 ^ г ^ я.

Противоположное событие обозначаем символом « С» , Событие С фактически означает, что противник смог создать прообраз к IV или непосредственно коллизию У = У^., г = ^ Коллизию, возникающую в результате взаимодейетвия противника А с КН, обозначаем Акн ^ (Ь, С), Значение бита Ь € {0,1} является результатом, возвращаемым противником, а коллизия — неявным «побочным эффектом» его вычислений и взаимо-

Ь

бита может быть любым, т, е, имеет место равенство

Рг[Акн ^ С] = Рг[Акн ^ (1,С)] + Рг[Акн ^ (0,С)].

Представленные далее рассуждения повторяют ход доказательства теоремы о 1'НК-КН

ключе вероятность коллизии ограничивается за счёт РНК-понкоп н каскада, а при утечке каскадного ключа — за счёт его стойкости в моделях СЕ и ТРИ, Рассмотрим преобразование

КН(Мг) = (Сзс(Ксзс,Мг)), Ксзс = %(IV), стг = зитш(Мг),

полученное заменой в КН первого и последнего вызовов функции сжатия на семейство из 2п случайных функций ■Г (для БН — на случайную функцию f), Если коллизии не происходит, то алгоритм КН неотличим от случайной функции К, т. е,

Рг[Ак(/к) ^ 1] = Рг[АкН(кКсзс) ^ (1, С)

благодаря тому, что независимо от ст^ запрашиваемые у ^ ^^этепия IV, У,..., У, не повторяются, а следовательно, результаты запросов к f (они же — результаты запросов А к КН) есть последовательность случайных значений. Значение /к случайно и равновероятно выбирается из Vn,

Согласно определению модели 1'НК-1.КЛК.

ЛаукНРкС!АК(А) = Рг[Акн(Ксзс) ^ 1] - Рг[Ак(/к) ^ 1]. По формуле полной вероятности

Рг[Акн(Ксзс) ^ 1 = Рг[Акн(Ксзс) ^ (1,С)] +Рг[Акн(Ксзс) ^ (1,С)].

Группируя слагаемые и используя неравенство треугольника, получим

ЛауКН™К(А) ^ Рг [А (Ксзс) ^ (1, С)] - Рг Акн (Кск) ^ (1, С)

+

+ Рг [Акн(Ксзс) ^ С - Рг Акн(Ксзс) ^ С

Рг

Акн(Ксзс) ^ С

б + бс + Рс.

Построим алгоритм В, атакующий в модели РКГ-ККАШ (для БН — в модели РНЕ),

б бс

неотрицательно). Алгоритм В делает запрос IV к оракулу О е {§▽, f}, получает каскадный ключ Кс5с, передаёт его алгоритму А (симулирует !еак1). При обработке запроса М» от А алгоритм В:

— самостоятельно вычисляет значения а» = зитШ(М») и У» = Сбс(Кс5с, М»);

— проверяет условие коллизии: если У» е {IV, У1,..., У^}, то завершает работу А и возвращает 1;

— делает запрос (У», а») к оракулу О е {§▽, f} и возвращает его ответ А.

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

Если после 4 запросов от А коллизии те произошло, то результатом работы В является А

Для БН У = Сэс(Кс5с, М» || сб(М»)), а надрос к О е {§▽, f} содержит только У», К оракулу выполняется не более 4' ^ 4 + 1 запросов, совокупное число связанных ключей такое же: г' ^ 4 +1, До возникновения коллизии первый аргумент в запросах не повторяется (^ = 1), так как значения в ряду IV,У1,... ,У различны. Кроме того, если О = то В иде^ьно симулирует для А оракул КН и утечку каскадного ключа, Кс5с = §▽ (IV), Аналогично, если О = то для А идеально симулируется оракул КН и утечка Кс5с = %(IV), Преобладание алгоритма В равно

Лау;

РШ^ЛКАщ

ё"

(В) = Рг

Вё" 1

- Рг [В ^ 1]

(Рг[Акн(Ксзс) ^ (1,С)] + Рг[Акн(Ксзс) ^ О) -

Рг

Акн(Ксзс) ^ (1, С)

+ Рг

Акн (-Ксзс) ^ с

б + бс.

Для завершения доказательства осталось оценить значение вероятности

рс

Рг

Акн(К^сзс) ^ С ^ Рг[У» = У, 1 ^ г < 3 ^ 4] + Pг[/V е {Уь ..., У}].

Построим алгоритм Вси, пытающийся сформировать коллизию для Сбс в модели СЕ, Он имитирует семейство случайных функций ■Г (для БН — случайную функцию формирует случайное значение Кс5с = %Ш0(^), передаёт Кс5с алгоритму А. На любой запрос М» от А алгоритм Вси: вычисляет У = Сбс(Кс5с, М») и а» = зитШ(М»); сохраняет (У», М») в памяти; воз вращает Н» = (М») алгоритму А (для БН Кс5с = f (IV);

У» = Сзс(ККсзс, Мг||сз(Мг)); Н» = {(Мг)).

Если на каком-то шаге обнаружено равенство У = У}, 1 ^ г < 3 ^ 4, то построена коллизия ((Кс5с, М»), (Кс5с, М})) и

Рг[У» = У}, 1 ^ г < з ^ 4] = Аау££(Всн).

Схожим образом В который вычисляет для Сбс прообраз

к значению /V:

Рг[^ е {У1,..., У}] = Аау£ск(Втрк).

Вычислительные ресурсы алгоритмов B, Bcr, и Btpr превосходят ресурсы t алгоритма A па значение, пропорциональное объёму обрабатываемых данных: t' = t + q/. Преобладание Bcr и Btpr в соответствующих моделях оценивается неравенствами (5) и (6) соответственно,

A

утверждение верно, ■

Подстановкой в (10) эвристических оценок (1), (3) и (4) получаем

t' t'2 t'

t t t

AdvKH,Kcsc (t,q,l) ^ 2k + 2П+1+ 2П' t ~^ (11)

и для SH идентично. Как и для оценки (8) в модели PRF, при длине ключа, не превосходящей половины блока (k ^ n/2 = 256 бит), единственным эффективным методом нарушения свойств безопасности является тотальное опробование, которому соответствует первое слагаемое в (11).

Второе слагаемое в (11) соответствует простой атаке. Противник, знающий Kcsc, строит самостоятельно коллизию из сообщений вида M = P ||(aBP), M' = P' ||(aBP'):

Csc(Kcsc,M) = Csc(Kcsc,M'), sumffl(M) = sumffl(M') = a = const,

отправляет запрос M к оракулу, получает И, предъявляет пару (M', И) в качестве подделки. Альтернативно, делает два запроса M и M' и пользуется равенством

?

O(M) = O(M') в качестве критерия различения.

Схожим образом выполняется атака за счёт построения прообраза. Противник подбирает такое сообщение M = P ||(0 B P), чтобы Csc(KCsc, M) = IV и suma(M) = 0, Хеш-значение для такого сообщения M равно Kcsc, что можно использовать для формирования подделки или как критерий для различения.

Следует заметить, что, в отличие от (8), оценка (11) зависит только от вычислительных ресурсов противника и, следовательно, в общем случае её гарантии значительно слабее. Например, при длине ключа k = 512 и ресурса противника t = 2256, q = 2128, / = 264 криптоалгоритмы KH и SH будут стойкими PRF, но не будут таковыми при утечке каскадного ключа,

5.2. НМАС-Стрибог Двойное хеширование мотивирует расширить возможности противника, ему даются оба каскадных ключа, а также раскрываются промежуточные состояния после первого хеширования:

leak1(K) = (g^ipad(/V), g^^JIV)) = (Kc sc, KcO;c), leak2(K,Mi) = H(K ©ipad|| Mi) = И/, 1 ^ i ^ q.

Противник может вычислить Y/ = Csc(Kcsc, M^) и YO = Csc(KOsc, H1), 1 ^ i ^ q.

Теорема 3. Преобладание любого противника, атакующего НМАС-Стрибог-т в модели PRF-LEAK, ограничено:

2

AdvHSAS^(t, q, /) ^ Advg^RKA-® (t', q', r, +AdvgCR(t')+AdvfR(t')+2"»

2r+1

где t' = t + q/, r = q' = 2q + 2 d = 2, т G {256, 512}.

Доказательство. Структура доказательства аналогична [6, Theorem (PRF-seeu-ritv of HMAC-Streebog)]. Так же, как и для (7), вероятность коллизий вида Y/ = Yj7, = Yj0, Y/ = YjO ограничивается за счёт CR-етойкоети каскада, а вероятность события /V G {Y/,..., Yq0} — за счёт стойкости к атакам TPR,

Обозначим значения, относящиеся к первому и ко второму хешированию, с помощью верхних индексов «/»и «О» соответственно (рис, 3):

K7 = K ф ipad, H7 = H(K7 || M), H7 = msbr(H7), Y7 = Csc(KLsc,M), a7 = sumffl(M), K0 = K ^ad,H° = H(K0 || H7),tf0 = msbr(H0),Y0 = Csc(KL?sc,#7),a0 = sumffl(tf7).

K0

Hi1 ||io...o 768 к0 ш Hi1 ||io...o

Л Ac

A

A i

Рис. 3. НМАС-Стрибог-256, длина M равна L < n

Оракул £ в ответ на запрос М возвращает (Н0, Н7) е V7 х V" — непосредственное хеш-значение, сформированное криптоалгоритмом, и промежуточное состояние. Рассмотрим «идеализированный» оракул £

£(М) = (тзЬт¡каШ„а (. . . Ш.1 (СзС^к (/V), М))) , Ш.1 (Сзс^к (/V), М))),

где первое и последнее преобразование в обоих обращениях к хеш-функции заменено на семейство из 2" случайных функций, индексируемых связанными ключами вида (К ф 0) Ш а, 0 е {1рас1, орас!}.

Коллизия (С) — совпадение любой пары в ряду из (24 + 1) значений:

/V, У/, ..., У7, У0, ..., У0.

Если коллизия не реализуется (С), то £ даже при известных противнику каскадных ключах неотличим от случайной функции К е Рипс^<2", V7 х V"):

Pr[AR(/fc) ^ 1] = Pr U^k(/V), fKo(/V)) ^ (1, C)

Zfc е Vn x Vn

так как все значения (К5с, К°5с, Н7,..., Н7, ,..., Н^), которые наблюдал противник, получены в результате различных запросов к Следовательно,

AdvHMAS, leak2 (A) = (Pr [A£ ^ (1, C)] + Pr [A£ ^ (1, C)]) - Pr AL ^ (1, C)

^ (Pr[A£^(1, C)]-Pr|~A£^(1, C^ + (Pr[A£^C]-Pr

Pr

б+бо+pc,

противник А перед взаимодействием с оракулом £ получает (К<~5С, К°5С), а перед взаимодействием с Л — пар у (^К1 (IV), (IV)),

Построим алгоритм В, атакующий gv в модели РНЕ-НКАщ^, Алгоритм В запрашивает каскадные ключи К~5С = О(^, (1рас1,0)) и К°.С = О(^, (орас1,0)) у оракула О е {gv,f}, а затем запускает алгоритм А, передавая ему (К~5С, К°5С),

При обработке запроса М^ от А алгоритм В: вычисляет У/ = Сзс(К(5С,М^) и а1 = Битщ(Мг); сохраняет У/ в памяти; проверяет условие коллизии; делает запрос (У1, (1рас1, а1)) к оракулу; получает Я/; вычисляет у° = Сзс(К(°5С, Я/) и а0 = Битщ(Л/); сохраняет У0 в памяти; проверяет условие коллизии; делает запрос (У0, (орас^а0)); получает Я°; передаёт ал гор итму А тар у (Я°, Я1), 1 ^ % ^ д.

Если проверка па каком-то из шагов показывает, что коллизия реализовалась, то В

А

от А коллизии нет, то результат работы В равен результату работы А. К оракулу О е ^^ f} выполняется до д' = (2д + 2) запросов, количество связанных ключей

оценивается так же (г = д'), Только значение IV запрашивается при двух заведомо

=

один раз, следовательно, d =2,

В

Аау™КЛшо® (В) = Рг[В*7 ^ 1] - Рг [В ^ 1] = е + ее. Оценим сверху вероятность коллизии:

ре ^ Рг[У/ = У/, 1 ^ % < з ^ д] + Рг[у0 = У/, 1 ^ % < з ^ д] + + Рг [У1 = У0, 1 ^ %, з ^ д] + Рг [IV е {У/ ,...,У/, У0,..., У°}] = рС + рО + /е'0 + /рге.

Построим алгоритм Вси, пытающийся сформировать коллизию для Сэс, Он работает так же, как В, н0 вместо запросов к оракулу О е {gv, f} самостоятельно имитирует семейство случайных функций ^ ^ в памяти (У1, М/) и (У0, Я/), Если на

каком-то шаге обнаружена коллизия и при этом IV е {У/,..., У0} то возможны три случая:

1) У/ = У1, % = з, даёт колли зию ((К(5С, М^), (К( 5С, М,-)) в сил у М^ = Му,

2) У0 = У°, % = 3, даёт коллизию ((К°5С, Я/), (К°5С, Я^)) при условии Я/ = Я^;

3) У/ = У0 даёт коллизию ((К(15С, М^), (К°5С, Я[)), если хотя бы К(15С = К°5С, Таким образом, вероятность успеха алгоритма ВСд оценивается как

а^в^) ^ (рР + р0 + рРр0) - Рг[к^ = ку - Рг 3% = з (Я/ = я;)

^ (рРр + р0 + рРр0) - 2-п - д

2т+1

По аналогии с Вся построим алгоритм Втрш который ищет для Сэс прообраз к значению IV. Искомым прообразом станет либо (К(5С, М^), либо (К°5С, Я/),

рРге = Аау(РСК (ВТРК).

В В В А на значе-

ние, пропорциональное объёму обрабатываемых данных, = £ + д/. Преобладание Вся

и Btpr в соответствующих моделях оценивается неравенствами (5) и (6) соответственно, Пользуясь неравенством треугольника, получаем доказываемое утверждение, ■

Не является стойким в модели PRF-LEAK, например, режим имитозащиты CMAC [36] —утечка промежуточного состояния сразу даёт противнику возможность сформировать подделку.

Раскрытие состояния приводит к потере стойкости у алгоритмов имитозащиты, основанных на однократном применении хеш-функций типа HAIFA [37], например Skein-MAC [38] и BLAKE2-MAC [39], а также у схем, построенных по схеме «губка» («sponge») — КМ АС [40], Вместе с тем из криптографической хеш-функции за счёт применения двойного хеширования или «сэндвича» обычно нетрудно сделать PRF-LEAK-етойкий криптоалгоритм,

6. Стойкость к атакам на ключ

Количественные оценки в модели PRF и PRF-LEAK одинаковы для трёх анализируемых схем. Кроме того, при k ^ n/2 = 256 единственным эффективным методом нарушения свойств безопасности является тотальное опробование ключа (пусть и в разных предположениях о функции сжатия gv).

При k, близком кп,и при отсутствии ограничений на объём обрабатываемого материала Стрибог-К и НМАС-Стрибог подвержены нетривиальным атакам на восстановление секретного ключа. Существуют методы с трудоёмкостью порядка t ~ q • / ~ 24n/5 по времени и данным [9], Простой подстановкой в (8) можно убедиться, что наличие таких атак не противоречит оценке, полученной с помощью доказательного подхода. Атаки на ключ [9] дают по сути оценку снизу на вероятность успеха противника в модели KR, Получим верхние оценки в этой модели, а также в условиях утечки внутреннего состояния (KR-LEAK),

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

Схема «сэндвич» в моделях KR и KR-LEAK является более стойкой, чем два других криптоалгоритма,

A

LEAK для ключевого алгоритма F : K х X A Y при утечке, определяемой функциями leak1 : K A L 1 и leak2 : K х X A L2, назовём вероятность восстановления ключа:

K A K : AL(leak1 (K)) ^ K', K' = K .

Оракул £ на запрос X G X возвращает (F(K, X), leak2(K, X)),

При одинаковых функциях утечки модели PRF-LEAK и KR-LEAK связаны так же, как модели PRF и KR,

Утверждение 1. Вероятность успеха противника, пытающегося определить секретный ключ K криптоалгоритма Стрибог-С (при утечке Kcsc), или Стрибог-К (при утечке KCsc), или НМАС-Стрибог (при утечке leak1(K) = (KCsc,K°sc) и leak2(K, Mj) = = H/, 1 ^ i ^ q), ограничена сверху соответственно:

AdvSiKCT(t,q,1) ^ AdvgvR(t',q') < 2k, AdvKHKr(t,q,1) ^ Adv™A»(t',q') < ^; (12)

Adv^C^i^(t,q,1) ^ Adv™A-® (t', 2q') < ^^, (13)

где t' = t + q/, q' = q + 1,

AdvFia^ (A)=Pr

Доказательство. Пусть противник А восстанавливает ключ алгоритма БИ с вероятностью успеха р. Построим В, атакующий gv, За счёт первого запроса получим Кс5с = gK(/VX передадим Кс5с алгоритму А На каждый запрое М^ от А к БИ: самостоятельно вычисляем У = Сбс(Кс5с, Мг||сБ(Мг)); получаем у оракула Н = gK(У;) А А БИ

успеха ^^на р.

Для КИ и ИМАС аналогично, но gv рассматривается относительно атак со связанными ключами, ■

Таким образом, единственным эффективным методом определения ключа схемы «сэндвич» даже при утечке Кс5с является метод тотального опробования (в предположении, что для функции сжатия эффективным является только тотальное опробование), Для КИ и ИМАС это не так, но утверждение показывает, что вероятность

4

тичееки не зависит от их длины (/), так как вычислительные мощности противника не меньше доступных ему данных (£ > 4 • /), Оптимум достигается при £ — 4 — 2к/2, Учитывая (11), при произвольном к получим

ла^КГ (£> 4,1) £ ппп (^ 2к + + £) , - 4' = 4 + 1

и схожую оценку для ИМАС,

В модели КН-ККЛК оценки (12) и (13) являются точными, в [5] для схожих условий описана атака, основанная на построении мультиколлизий для каскадного преобразования, Оценки верны и в модели КН. но в этом случае говорить об их точности нельзя, атаки [9] требуют £ — 24га/5, что много больше, чем £ — 2га/2,

7. Подходы к защите от атак по побочным каналам

Функции утечки в моделях КН-ККЛК и 1'НК-ККЛК никак не связаны с природой процессов, из-за которых противник получает дополнительные сведения. Используемый при доказательстве стойкости конкретный вид этих функций говорит о том, что полный доступ противника к содержащейся в них информации не приводит к нарушению свойств безопасности. Отсюда важное следствие: те сведения, которые не описаны функциями утечки (и не могут быть вычислены на их основе), являются критически важными и подлежат защите от раскрытия.

Конкретные меры защиты, в первую очередь маскирование [14, 41], существенным образом зависят от специфики реализации криптоалгоритма и физической модели рассматриваемых побочных каналов и не являются предметом настоящей работы. Здесь опишем части криптоалгоритмов, которые следует защищать, а также укажем на общие проблемы, возникающие при реализации соответствующей защиты.

Во всех представленных ранее результатах каскадный ключ Кс5с (пара ключей для НМАС-Стрибог) раскрывался противнику. Предполагаем, что каскадный ключ (ключи) вычисляется однократно и хранится в памяти,

М

вычислить:

БИ : У = Сэс(Ксзс,М || сб(М)), а = 0,

КИ : У = Сэс(Ксзс, М), а = эитШ(М).

Сложение ключа X с блоками сообщения должно про исходить в KH однократно: сначала вычисляется а, затем K Ш а, В SH ключ вообще не должен складываться с блоками сообщения.

Последний вызов функции сжатия:

_ Я = gKa,(Y) = (K Ш а) 0 Y 0E(Y,K Ш а)= (и)

= (K Ш а) 0 Y 0 X13 LPSX12 ... LPSX1 (K Ш а), K = K || 0n-k. 1

EY

известны противнику. Функция сжатия сама по себе является стойкой в таких условиях [7, 8], Однако если раскрывается промежуточное состояние, например s(1) = = LP SX1(K Ш а), то противник легко вычислит ключ:

s(13) = X13 LPSX12 ... LPSX2(s(1)), X = (Я 0 Y 0 s(13)) В а.

Необходима защита всех внутренних состояний шифра на протяжении 13 раундов. Вычисления каскадного преобразования могут, следовательно, осуществляться

E

щищённым, например на отдельном внешнем (по отношению к остальной вычислительной системе) модуле,

а=0

лю 2n отсутствует, что позволяет применять для защиты LPSX-преобразований (14) хорошо известные методы маскирования [14, 41, 42], в том числе использующие специфику нелинейного преобразования [16], а также методы, основанные на пороговой реализации (threshold implementation) [15, 43-45],

а

жет потребоваться применение вспомогательных алгоритмов, что снижает скорость работы и усложняет реализацию. Пусть, например, вместо ключа используется пара «маскированный ключ, маска» (K Ш W, W), Тогда после сложения с КС получим (K Ш W Ш а, W), В шифре E используется операция 0, что потребует вычисления пары (K Ш а 0 W', W'), например, с помощью [11], Если одновременное хранение ключа под разными масками невозможно, то переход от (K Ш а 0 W', W') к (K Ш W'', W'') также потребует применения специального алгоритма [10],

У криптоалгоритма НМАС-Стрибог защищать требуется два вызова блочного шифра, при первом и втором хешировании. Противнику известны значения

Y1 = Cse(Kc/sc, M), а1 =зитШ(М), Я1 =gKeipa!ffl(Ji(Yc),

YO = Csc(KcOsc, msbr(Яc)), а° =sumш(msbr(Я1)), Яс =gK^mao(YO),

а также раундовые ключи шифра E, формируемые из Yc и Yc. В общем случае ас = 0 и ас = 0, что приводит к необходимости двукратного применения таких же вспомогательных алгоритмов [10, 11], как и для Стрибог-К, Вычисление Yc = Csc(Kcsc,...) требует два (т = 256) или три (г = 512) обращения к функции сжатия, что затрудняет E

Yc

Заключение

В работе предложен простой способ преобразования отечественной хеш-функции в ключевой криптоалгоритм по схеме «сэндвич» (Стрибог-С), к хешируемому тексту приписывается специальный блок, играющий роль «альтернативной» контрольной суммы, а в саму хеш-функцию никаких изменений не вносится.

Благодаря указанному приёму, сжимающее преобразование gv (первое и последнее в хеш-функции) используется только с ключом K, а не со связанными ключами вида K Ш а, как в алгоритмах НМАС-Стрибог и Стрибог-К,

Схема «сэндвич» является стойкой псевдослучайной функцией (PRF) и, следовательно, стойким алгоритмом имитозащиты, при этом функция gv должна быть PRF, но стойкости к атакам со связанными ключами от неё не требуется. Аналогичное соображение позволяет показать, что при любом объёме обрабатываемых данных для Стрибог-С не существует более эффективного метода определения ключа, чем тотальное опробование, если то же самое верно для функции сжатия gv.

Предложены модели угроз PRF-LEAK и KR-LEAK, в рамках которых противник (решающий задачу различения или пытающийся восстановить ключ соответственно) получает непосредственный доступ к (почти всем) внутренним состояниям криптоалгоритма, происходит их раскрытие — утечка. Доказано, что Стрибог-С, Стрибог-К и НМАС-Стрибог являются стойкими в этих моделях при дополнительном предположении о стойкости функции сжатия к атакам на построение коллизий и прообраза. Справедливость предположения подтверждается представленными в открытой литературе конструктивными исследованиями. Стойкость в этих моделях делает указанные криптоалгоритмы предпочтительнее ряда схем, основанных на блочных шифрах, например режима имитозащиты ГОСТ 34,13-2018,

Выполненный анализ позволил выявить части хеш-функции, которые при реализации ключевых криптоалгоритмов подлежат защите от каких-либо утечек. Защищать требуется только последнюю функцию сжатия, а точнее, используемый внутри неё блочный шифр (без алгоритма развёртки ключа) и сам вход шифра (которым является секретный ключ K или K Ш а), Для НМАС-Стрибог защита требуется и при первом, и при втором хешировании. Отсутствие у схемы «сэндвич» связанных ключей и, как следствие, попеременного использования операций Ш и ф в ряде случаев, как представляется, позволяет существенно упростить реализацию мер защиты,

ЛИТЕРАТУРА

1. ГОСТ 34.11-2018. Информационная технология. Криптографическая защита информации. функция хэширования. М.: Стандартинформ, 2018.

2. Damgard I. A design principle for hash functions // LNCS. 1990. V. 435. P. 416-427.

3. Merkle R. One way hash functions and DES // LNCS. 1990. V.435. P. 428-446.

4. P 50.1.113-2016. Информационная технология. Криптографическая защита информации. Криптографические алгоритмы, сопутствующие применению алгоритмов электронной цифровой подписи и функции хэширования. М.: Стандартинформ, 2016.

5. Kiryukhin V. A. Keyed Streebog is a secure PRF and MAC // Матем. вопр. криптогр. 2023. T. 14. №2. С. 77-96.

6. Kiryukhin V. A. About "fc-bit Security" of MACs Based on Hash Function Streebog. Cryptology ePrint Archive. Paper 2023/1305. 2023. https://eprint.iacr.org/2023/1305.

7. Kiryukhin V. A. Streebog compression function as PRF in secret-key settings // Матем. вопр. криптогр. 2022. T. 13. №2. С. 99-116.

8. Kiryukhin V. A. Related-kev attacks on the compression function of Streebog // Ma ic.m. Bonp. KpmiTorp. 2023. T. 14. №2. C. 59-76.

9. Dinur I. and Leurent G. Improved generic attacks against hash-based MACs and HAIFA // LNCS. 2014. V. 8616. P. 149-168.

10. Goubin L. A Sound method for switching between Boolean and arithmetic masking // LNCS. 2001. V. 2162. P. 3-15.

11. CoronJ., Grofischadl J., TibouchiM., and Vadnala P. K. Conversion from arithmetic to Boolean masking with Logarithmic complexity // LNCS. 2015. V. 9054. P. 130-149.

12. Yasuda K. "Sandwich" is indeed secure: How to authenticate a message with just one hashing 11 LNCS. 2007. V.4586. P. 355-369.

13. Bellare M., Goldreich O., and Mityagin A. The Power of Verification Queries in Message Authentication and Authenticated Encryption. Crvptologv ePrint Archive. Paper 2004/304. 2004. https://eprint.iacr.org/2004/304.

14. Bldmer J., Merchan J., and Krummel V. Provablv secure masking of AES // LNCS. 2004. V. 3357. P. 69-83.

15. Nikova S., Rechberger C., and Rijmen V. Threshold implementations against side-channel attacks and glitches 11 LNCS. 2006. V.4307. P. 529-545.

16. Lavrenteva T. A. and Matveev S. V. Side-channel attacks countermeasure based on decomposed S-boxes for Kuznvechik // Ma ic.m. Bonp. KpimTorp. 2021. T. 12. №2. C. 147-157.

17. Bellare M. and Rogaway P. Introduction to Modern Cryptography. 2005. https://web.cs. ucdavis.edu/~rogaway/classes/227/spring05/book/main.pdf.

18. Bernstein D. J. and Lange T. Non-uniform cracks in the concrete: The power of free precomputation 11 LNCS. 2013. V.8270. P. 321-340.

19. Guo J., Jean J., Leurent G., et al. The usage of counter revisited: Second-preimage attack on new Russian standardized hash function // LNCS. 2014. V. 8781. P. 195-211.

20. Abdelkhalek A., AlTawy R., and Youssef A. M. Impossible differential properties of reduced round Streebog // LNCS. 2015. V.9084. P. 274-286.

21. Rogaway P. and Shrimpton T. Cryptographic hash-function basics: Definitions, implications, and separations for preimage resistance, second-preimage resistance, and collision resistance // LNCS. 2004. V. 3017. P. 371-388.

22. AlTawy R., Kircanski A., and Youssef A. M. Rebound attacks on Stribog // LNCS. 2014. V. 8565. P. 175-188.

23. Lin D., Xu S., and Yung M. Crvptanalvsis of the round-reduced GOST hash function // LNCS. 2014. V. 8567. P. 309-322'

24. MaB., LiB., HaoR., and LiX. Improved crvptanalvsis on reduced-round GOST and Whirlpool hash function 11 LNCS. 2014. Y. S 179. P. 289-307.

25. Wang Z., Yu H., and Wang X. Crvptanalvsis of GOST R hash function // Inform. Processing Lett. 2014. V. 114. P. 655-662.

26. Kolbl S. and Rechberger C. Practical attacks on AES-like cryptographic hash functions // LNCS. 2014. V. 8895. P. 259-273.

27. Van Oorschot P. C. and Wiener M. J. Parallel collision search with crvptanalvtic applications // J. Crvptologv. 1999. V. 12. No. 1. P. 1-28.

28. AlTawy R. and Youssef A. M. Preimage attacks on reduced-round Stribog // LNCS. 2014. V. 8469. P. 109-125.

29. MaB., LiB., HaoR., and LiX. Improved (pseudo) preimage attacks on reduced-round GOST and Grostl-256 and studies on several truncation patterns for AES-like compression functions // LNCS. 2015. V.9241. P. 79-96.

30. Hua J., Dong X., Sun S., et al. Improved Ml I'M Cryptanalvsis on Streebog. Cryptologv ePrint Archive. Paper 2022/568. 2022. https://eprint.iacr.org/2022/568.

31. BellareM., Jaeger J., and Len J. Better than advertised: Improved collision-resistance guarantees for MD-based hash functions // Proc. CCS'17. N.Y.: ACM, 2017. P. 891-906.

32. Bellare M. New proofs for NMAC and HMAC: Security without collision-resistance // LNCS. 2014. V. 4117. P. 602-619.

33. Röblitz N. and Menezes A. Another look at HMAC // J. Math. Cryptologv. 2013. V.7:3. P. 225-251.

34. Репозиторий «Ключевой Стрибог». https://gitflic.ru/project/vkir/streebog.

35. ГОСТ Р 34.11-94. Информационная технология. Криптографическая защита информации. функция хэширования. М.: Издательство Стандартов, 1994.

36. ГОСТ 34.13-2018. Информационная технология. Криптографическая защита информации. Режимы работы блочных шифров. М.: Стандартинформ, 2018.

37. Biham Е. and Dunkelman О. A Framework for Iterative Hash Functions — HAIFA. Cryptologv ePrint Archive. Report 2007/278. 2007. https://eprint.iacr.org/2007/278.

38. Ferguson N., Lucks S., Schneier В., et al. The Skein Hash Function Family. 2009. https: //api.semanticscholar.org/CorpusID:59739596.

39. AumassonJ., Neves S., Wilcox-O'H earn Z., and WinnerleinC. BLAKE2: Simpler, Smaller, Fast as MD5. IACR Cryptologv ePrint Archive. Report 2013/322. 2013. https://eprint. iacr.org/2013/322.pdf.

40. Kelsey J., Chang S., and Perlner R. SHA-3 Derived Functions: cSHAKE, KMAC, TupleHash and ParallelHash. NIST Special Publication 800-185. 2016. https: //doi. org/10.6028/NIST. SP.800-185.

41. Goubin L. and Patarin J. DES and differential power analysis. The "Duplication" Method // LNCS. 1999. V. 1717. P. 158-172.

42. Oswald E., MangardS., Pramstaller N., and Rijmen V. A side-channel analysis resistant description of the AES S-Box 11 LNCS. 2005. V. 3557. P. 413-423.

43. Bilgin В., Nikova S., Nikov V., et al. Threshold implementations of all 3 x 3 and 4 x 4 S-boxes // LNCS. 2012. V.7428. P. 76-91.

44. Daemen J. Changing of the guards: A simple and efficient method for achieving uniformity in threshold sharing 11 LNCS. 2017. V. 10529. P. 137-153.

45. Piccione E., Andreoli S., Budaghyan L., et al. An optimal universal construction for the threshold implementation of bijective S-boxes // IEEE Trans. Inform. Theory. 2023. V. 69. No. 10. P. 6700-6710.

REFERENCES

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

1. GOST 34.11-2018. Informatsionnava tekhnologiva. Kriptograficheskava zashchita informatsii. Funktsiva kheshirovaniva [GOST R 34.11-2018. Information Technology. Cryptographic Data Security. Hash-function]. Moscow, Standartinform Publ., 2018. (in Russian)

2. Damgard I. A design principle for hash functions. LNCS, 1990, vol.435, pp.416-427.

3. Merkle R. One way wash functions and DES. LNCS, 1990, vol.435, pp.428-446.

4. R 50.1.113-2016. Informatsionnava tekhnologiva. Kriptograficheskava zashchita informatsii. Kriptograficheskie algoritmv, soputstvuvushchie primenenivu algoritmov elektronnov tsifro-vov podpisi i funktsii kheshirovaniva [R 50.1.113-2016. Information Technology. Cryptographic Data Security. Cryptographic Algorithms Accompanying the Use of Electronic Digital Signature Algorithms and Hash Functions]. Moscow, Standartinform Publ., 2016. (in Russian)

5. Kiryukhin V. A. Keyed Streebog is a secure PRF and MAC. Mat. Vopr. Kriptogr., 2023, vol. 14, iss. 2, pp. 77-96.

6. Kiryukhin V. A. About "k-bit Security" of MACs Based on Hash Function Streebog. Crvptologv ePrint Archive, Paper 2023/1305, 2023, https://eprint.iacr.org/2023/1305.

7. Kiryukhin V. A. Streebog compression function as PRF in secret-key settings. Mat. Vopr. Kriptogr., 2022, vol.13, iss.2, pp. 99-116.

8. Kiryukhin V. A. Related-kev attacks on the compression function of Streebog. Mat. Vopr. Kriptogr., 2023, vol.14, iss.2, pp. 59-76.

9. Dinur I. and Leurent G. Improved generic attacks against hash-based MACs and HAIFA. LNCS, 2014, vol.8616, pp. 149-168.

10. Goubin L. A sound method for switching between Boolean and arithmetic masking. LNCS, 2001, vol.2162, pp. 3-15.

11. CoronJ., Grofischadl J., TibouchiM., and VadnalaP.K. Conversion from arithmetic to Boolean masking with logarithmic complexity. LNCS, 2015, vol.9054, pp. 130-149.

12. Yasuda K. "Sandwich" is indeed secure: How to authenticate a message with just one hashing. LNCS, 2007, vol.4586, pp.355-369.

13. Bellare M., Goldreich O., and Mityagin A. The Power of Verification Queries in Message Authentication and Authenticated Encryption. Crvptologv ePrint Archive, Paper 2004/304, 2004, https://eprint.iacr.org/2004/304.

14. Blomer J., Merchan J., and Krummel V. Provablv secure masking of AES. LNCS, 2004, vol. 3357, pp. 69-83.

15. Nikova S., Rechberger C., and Rijmen V. Threshold implementations against side-channel attacks and glitches. LNCS, 2006, vol.4307, pp.529-545.

16. Lavrenteva T. A. and Matveev S. V. Side-channel attacks countermeasure based on decomposed S-boxes for Kuznvechik. Mat. vopr. kriptogr., 2021, vol. 12, iss.2, pp. 147-157.

17. Bellare M. and Rogaway P. Introduction to Modern Cryptography. 2005. https://web.cs. ucdavis.edu/~rogaway/classes/227/spring05/book/main.pdf.

18. Bernstein D. J. and Lange T. Non-uniform cracks in the concrete: The power of free precomputation. LNCS, 2013, vol.8270, pp. 321-340.

19. Guo J., Jean J., Leurent G., et al. The usage of counter revisited: Second-preimage attack on new Russian standardized hash function. LNCS, 2014, vol.8781, pp. 195-211.

20. Abdelkhalek A., AlTawy R., and Youssef A. M. Impossible differential properties of reduced round Streebog. LNCS, 2015, vol.9084, pp.274-286.

21. Rogaway P. and Shrimpton T. Cryptographic hash-function basics: Definitions, implications, and separations for preimage resistance, second-preimage resistance, and collision resistance. LNCS, 2004, vol.3017, pp.371-388.

22. AlTawy R., Kircanski A., and Youssef A. M. Rebound attacks on Stribog. LNCS, 2014, vol. 8565, pp. 175-188.

23. Lin D., Xu S., and Yung M. Crvptanalvsis of the round-reduced GOST hash function. LNCS, 2014, vol.8567, pp. 309-322.

24. MaB., LiB., HaoR., and LiX. Improved crvptanalvsis on reduced-round GOST and Whirlpool hash function. LNCS, 2014, vol. 8479, pp. 289-307.

25. Wang Z., Yu H., and Wang X. Crvptanalvsis of GOST R hash function. Inform. Processing Lett., 2014, vol. 114, pp. 655-662. "

26. Kolbl S. and Rechberger C. Practical attacks on AES-like cryptographic hash functions. LNCS, 2014, vol.8895, pp. 259-273.

27. Van Oorschot P. C. and Wiener M. J. Parallel collision search with crvptanalvtic applications. J. Crvptologv, 1999, vol. 12, iss. 1, pp. 1-28.

28. AlTawy R. and Youssef A. M. Preimage attacks on reduced-round Stribog. LNCS, 2014, vol.8469, pp. 109-125.

29. MaB., LiB., Hao R., and Li X. Improved (pseudo) preimage attacks on reduced-round GOST and Grostl-256 and studies on several truncation patterns for AES-like compression functions. LNCS, 2015, vol.9241, pp.79-96.

30. Hua J., Dong X., Sun S., et al. Improved MITM Cryptanalvsis on Streebog. Cryptologv ePrint Archive, Paper 2022/568, 2022, https://eprint.iacr.org/2022/568.

31. BellareM., Jaeger J., and LenJ. Better than advertised: Improved collision-resistance guarantees for MD-based hash functions. Proc. CCS'17, N.Y., ACM, 2017, pp. 891-906.

32. Bellare M. New proofs for NM AC and HMAC: security without collision-resistance. LNCS, 2014, vol.4117, pp. 602-619.

33. Röblitz N. and Menezes A. Another look at HMAC. J. Math. Cryptologv, 2013, vol. 7:3, pp.225-251.

34. Repository "Keyed Streebog", https://gitflic.ru/project/vkir/streebog.

35. GOST R 34.11-94. Informatsionnava tekhnologiva. Kriptograficheskava zashchita informatsii. Funktsiva kheshirovaniva. [GOST R 34.11-94. Information Technology. Cryptographic Data Security. Hash-function]. Moscow, Izdatelstvo Standartov, 1994. (in Russian)

36. GOST 34.13-2018. Informatsionnava tekhnologiva. Kriptograficheskava zashchita informatsii. Rezhimv rabotv blochnvkh shifrov [GOST 34.13-2018. Information Technology. Modes of Operation for Block Ciphers]. Moscow, Standartinform Publ., 2018. (in Russian)

37. Biham E. and Dunkelman O. A Framework for Iterative Hash Functions — HAIFA. Cryptologv ePrint Archive, Report 2007/278. 2007, https://eprint.iacr.org/2007/278.

38. Ferguson N., Lucks S., Schneier B., et al. The Skein Hash Function Family. 2009, https: //api.semanticscholar.org/CorpusID: 59739596.

39. AumassonJ., Neves S., Wilcox-O7H earn Z., and WinnerleinC. BLAKE2: Simpler, Smaller, Fast as MD5. IACR Cryptologv ePrint Archive, Report 2013/322, 2013, https://epri.nt. iacr.org/2013/322.pdf.

40. KelseyJ., Chang S., and Perlner R. NIST Special Publication 800-185. SHA-3 Derived Functions: cSHAKE, KM AC, TupleHash and ParallelHash. 2016, https://doi.org/10. 6028/NIST.SP.800-185.

41. Goubin L. and PatarinJ. DES and differential power analysis. The "Duplication" method. LNCS, 1999, vol. 1717, pp. 158-172.

42. Oswald E., MangardS., Pramstaller N., and Rijmen V. A side-channel analysis resistant description of the AES S-box. LNCS, 2005, vol. 3557, pp. 413-423.

43. Bilgin B., Nikova S., Nikov V., et al. Threshold implementations of all 3 x ^d 4 x 4 S-boxes. LNCS, 2012, vol.7428, pp.76-91.

44. Daemen J. Changing of the guards: A simple and efficient method for achieving uniformity in threshold sharing. LNCS, 2017, vol. 10529, pp. 137-153.

45. Piccione E., Andreoli S., Budaghyan L., et al. An optimal universal construction for the threshold implementation of bijective S-boxes. IEEE Trans. Inform. Theory, 2023, vol.69, iss. 10, pp. 6700-6710.

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