ВЫЧИСЛИТЕЛЬНО АСИММЕТРИЧНЫЕ ПРЕОБРАЗОВАНИЯ И СХЕМЫ ИЗ ОБРАТИМЫХ ЭЛЕМЕНТОВ
Жуков Алексей Евгеньевич, кандидат физико-математических наук, доцент, г. Москва Закаблуков Дмитрий Владимирович, г. Москва Засорина Юлия Владимировна, г. Москва Чикин Антон Александрович, г. Москва
Понятие однонаправленной функции является одним из важнейших для современной криптографии. Однако строгих доказательств существования или возможности построения таких функций в настоящее время нет. В данной работе будет рассмотрен один подход, позволяющий новым образом взглянуть на явление однонаправленности. Суть подхода заключается в применении обратимых схем для реализации вычислительно асимметричных преобразований. Рассматриваются обратимые схемы, реализующие линейные и нелинейные асимметричные преобразования, двоичное сложение/вычитание, умножение/ деление в поле многочленов характеристики 2. Показывается, что разница в сложности прямого и обратного преобразований в некоторых случаях связана с разницей в сложности соответствующих подсхем по уборке вычислительного мусора. На основании рассмотренных обратимых схем делается предположение о структуре вычислительно асимметричных преобразований.
Ключевые слова: однонаправленная функция, вычислительно асимметричные преобразования, обратимые схемы, линейные преобразования, нелинейные преобразования, двоичный сумматор, умножение в поле.
COMPUTATIONALLY ASYMMETRIC I TRANSFORMATIONS AND REVERSIBLE LOGIC CIRCUITS |
Alexey Zhukov, Ph.D., Associate Professor,
Moscow Dmitry Zakablukov, Moscow Yulija Zasorina, Moscow Anton Chikin, Moscow
The concept of one-way function is crucial to the modern cryptography. However, there are no rigorous proofs of the existence or even the possibility of constructing such functions at the moment. In this paper we consider one approach that allows to look in a new way at the phenomenon of one-wayness. The essence of this approach is to use reversible circuits to implement computationally asymmetric transformations. We consider reversible circuits implementing linear and nonlinear asymmetric transformations, binary addition/ subtraction, multiplication/division in the field of polynomials of characteristic 2. We show that the difference in the complexity of the direct and inverse transformations in some cases is linked to the difference in the complexity of the sub-circuits, cleaning the computational garbage. Basing on the considered reversible circuits, we make an assumption about the structure of the computationally asymmetric transformations.
Keywords: one-way function, computationally asymmetric transformations, reversible logic, linear transformations, nonlinear transformations, binary adder, multiplication in the field.
Для современной криптографии одним из важнейших понятий является понятие однонаправленной функции. Однако, не смотря на многочисленные работы, посвященные этой тематике, строгих доказательств существования или возможности построения таких функций в настоящее время нет. В данной работе будет рассмотрен
один подход, позволяющий новым образом взглянуть на явление однонаправленности.
Говоря неформально, однонаправленная функция - это эффективно вычисляемая функция, для задачи обращения которой не существует эффективных алгоритмов. В качестве модели обратимого преобразования возьмем подстанов-
ку на множестве двоичных наборов; в качестве меры сложности того или иного преобразования - сложность минимальной булевой схемы, реализующей данное преобразование и обозначаемой в дальнейшем через С(/). В качестве модели однонаправленной функции будем рассматривать вычислительно асимметричное преобразование, т.е. такое обратимое преобразование, сложность которого отличается от сложности обратного преобразования.
Широко известным классом вычислительно асимметричных преобразований являются линейные преобразования фп : ^ , изученные в работах [1], [2]:
Г у{ (х) = ъ © хг-+1, ' [У„ (*) = © ^п/2]® хп,
Соответствующее обратное преобразование имеет вид:
г < и.
п -нечетно
Vn
_J [x(у) = (yi ® ■■■ ®yt-i)® (y^® ■■■ ®уп), i ^гn/2],
[Xi(y) = (yi ®■■■ ®ypn/2]-i)®(У1 ®■■■ ®Уп), i >\n/2]■
Рис. 1.
Элемент NOT
Рис. 2.
Элемент CNOT.
Рис. 3.
Элемент CCNOT.
получения обратной схемы будем располагать элементы на параллельных горизонтальных линиях, на которые подаются входные переменные. К схеме возможно добавление дополнительных линий, на которые подается логический 0 и играющая роль «памяти».
В работе [2] доказано, что при n > 5 сложности прямых и обратных преобразований равны соответственно C (q>n) = n +1 и C(y~ln) = -^(n -1)
Пытаясь понять природу такого различия, можно задать глупый вопрос: почему схему, реализующую прямое преобразование, нельзя использовать для вычисления обратного преобразования? Ответ очевиден - потому, что логические элементы, отличные от инверсии, необратимы. Однако уже давно известны обратимые логические элементы [3], примерами которых могут служить такие элементы как NOT, CNOT (Controlled NOT), CCNOT (Controlled Controlled NOT):
Рис. 4. Минимальная схема прямого линейного преобразования р7.
Однако и эта схема не будет обратимой. Дело в том, что в процессе вычисления нашего преобразования на выходе схемы появился не только вектор (У1,...,У7), но некоторая информация (на выходе дополнительной линии), полученная в процессе вычисления и называемая вычислительным мусором или просто мусором. Без знания этой информации, а только по (>!,...,У7) вход (Х1,..., Х7) получить невозможно. В то же время схема, изображенная на рис. 5, будет реализовы-вать как прямое, так и обратное преобразования в зависимости от того, с какой стороны подавать информацию.
У1
— У2 yy3
У4 У5
Уб
У 7
<±Н+Н±ь
Рис. 5. Схема обратимого линейного преобразования V.
У
У
7
С помощью этих элементов можно построить минимальную схему, реализующую данное преобразование. Для удобства изображения схем и
Обратимая схема будет содержать некоторые «лишние» элементы (отмеченные пунктиром), которые не нужны для реализации, например, прямого преобразования, но нужны для реализа-
г
Входы прямого преобразования/ / выходы обратного преобразования
Удаление «мусора» обратного преобразования
«Общее тело»
Сложность прямого преобразования Спр
Удаление «мусора» прямого преобразования
Сложность обратного преобразования Со£
>
Выходы прямого преобразования/ входы обратного преобразования
Рис. 6. Возможная структура асимметричных преобразований.
ции обратного преобразования, и наоборот. Рассмотрим, какую роль выполняют эти элементы. Исходная схема (рис. 4) необратима, так как для корректного вычисления в обратную сторону нам необходимо подать на дополнительную линию соответствующий «мусор», который в общем случае неизвестен. Для того чтобы схема стала обратимой, надо обнулить «мусор», что достигается введением в схему дополнительных элементов, отмеченных пунктиром в правой части рис. 5. В обратной же схеме эти элементы будут выполнять необходимые для обратного преобразования функции.
Проанализировав построенную схему из обратимых элементов, можно выдвинуть следующую гипотезу о структуре вычислительно асимметричных преобразований. В ходе работы прямой схемы вычислительно асимметричного преобразования, получается некоторая дополнительная информация («мусор», с криптографической точки зрения играющий роль «лазейки»), которая необходима для получения результата прямого преобразования. При попытке непосредственного обращения по такой схеме, на ее входы необходимо будет подать этот «мусор», который в общем случае неизвестен. Поэтому, чтобы получить обратимую схему, необходимо добавить в нее дополнительные элементы, которые будут удалять «мусор». Возможно, что схемы из обратимых элементов для асимметричных преобразований имеют следующую общую структуру, которая показана на рис. 6. У таких схем есть некоторое «общее тело», а также подсхемы, отвечающие за удаление «мусора» прямого и обратного преобразований. Из-за разницы в сложностях этих подсхем удаления «мусора» и возникает разница в сложности прямого и обратного преобразований.
Аргументами в пользу сформулированной выше гипотезы служат обратимые схемы, построенные для таких известных вычислительно асимметричных преобразований, как нелинейные асимметричные преобразования [2] и двоичный сумматор/вычитатель [4]. Эти схемы, а также умножитель в поле многочленов характеристики 2 будут рассмотрены далее.
Схема асимметричного нелинейного преобразования
В работе А. Хилтгена [2] представлено нелинейное асимметричное преобразование. Оно представляет собой композицию двух преобразований, одно из которых (а„) линейно, а второе (в„) — нелинейно и, к тому же, является инволюцией, то есть обратное преобразование совпадает с прямым.
Преобразования задаются следующими формулами:
Г2 (х) = X © X+1 I < п,
(х) = XI 1 = п
ап :
Рп :
\У((2) = 2
[у (2) = Ъп © [(21 © ... © Ъп_2 ) А Ъп_1 ] |
I < п, = п.
Соответствующие обратные преобразования задаются формулами:
1 Г 2(у) = У1
/3~1 ■) __' < п,
' [2(у) = Уп © [(У1 © ... © Уп_2) А Уп_1] I = п.
а
_1.
(2) = 21 © ... © 2п
\Х1 (2) = 2п
I < п, I = п.
Композиция этих преобразований дает преобразование следующего вида:
Уn ix) = ßn (an ix)) : 4
Уii x) = xi e xi+l
Уi x) = xn e i x1 e xn-1) л i xn-1 e xn )
i < n, i = n.
У-1(У) = a-n\ß-\x)): \
xi i У) = i У1 e... e у- ) e[i У1 e... e у- - 2) л у--1 xi {у) = yn eTi У1e...e уn - 2) л yn-1
i < n, i = n.
Доказано, что при п > 4 комбинационная сложность прямого и обратного преобразований составляют соответственно:
С (у- ) = n + 2
С i:уn-1) = 2(п -1)
Обратимые схемы, реализующие прямое и обратное преобразование для различных значений п, были получены Засориной Ю.В.1
Рассмотрим схему прямого преобразования для случая п = 6.
Vi V2 Уз V4
V5
V6
нию, описывающему обратное преобразование. Элементы, нарисованные пунктиром, удаляют «мусор», возникающий при обратном преобразовании, а элементы, обведенные пунктирным прямоугольником, удаляют «мусор» прямого преобразования.
Vi V2
О-Ь*
Рис. 7. Схема прямого нелинейного преобразования.
Как и в случае схемы линейного преобразования, для получения обратимой схемы нам также потребуется удаление «мусора», образовавшегося на нижней, дополнительной линии. «Мусор» в данном случае равен х^ Ф Х5 , и его можно удалить, инвертировав значение на этой линии и прибавив значения, снятые с первой, второй, третьей и четвертой линий. Получаем схему, показанную на рис. 8.
Рассматривая эту схему справа налево, можно заметить, что она полностью, кроме элементов, нарисованных пунктиром, соответствует выраже-
Рис. S. Обратимая схема нелинейного преобразования.
Двоичный сумматор
Рассмотрим операцию сложения двух n -разрядных чисел A и B. Данную операцию можно описать булевым отображением f (a, b) = s, где a, b e Z", s e - двоичные вектора слагаемых A и B и суммы S = A + B соответственно.
Можно построить схему над базисом двуместных булевых функций, реализующую отображение f (a, b). Обозначим через L(n) сложность этой схемы, а через D(n) - ее глубину. В работе [4] Редькиным Н.П. было доказано, что L(n) = 5n - 3. При этом глубина такой схемы удовлетворяет неравенству D(n) < 2n -1 [5].
Отображение f (a, b) также может быть реализовано обратимой схемой, состоящей из вентилей NOT, CNOT и 2-CNOT. Чикиным A.A. была предложена2 такая обратимая схема (рис. 9).
1 Результаты получены Засориной Ю.В. в 2007 г в рамках авторского дипломного проектирования по теме «Вычислительно асимметричные преобразования и схемы из обратимых элементов» согласно учебным планам кафедры ИУ8.
2 Результаты получены Чикиным А.А. в 2005 г в рамках авторской курсовой работы по теме «Двоичный обратимый сумматор из обратимых элементов» согласно учебным планам кафедры ИУ8.
Из обратимой схемы, не содержащей вычислительного мусора на своих выходах, легко получить обратимую схему, реализующую отображение, обратное к заданному. Таким способом Чикиным А.А. была получена схема двоичного вычитателя (рис. 11).
Рис. 9. Обратимая схема двоичного сумматора без уборки мусора.
Было показано, что эта обратимая схема имеет вентильную сложность Ь(п) = 4п - 2 и глубину В(п) < п + 2. Снижение этих величин по сравнению с оценками, данными в работах [4,5] связано с особенностью обратимых схем и с использованием вентилей 2-СЫОТ, которые реализуют одновременно операцию конъюнкции и сложения по модулю 2.
Как видно из рис. 9, данная схема не является полностью обратимой в том смысле, что на выходах схемы получается вычислительный мусор: значение переносов сг-. Чикиным А.А. также была предложена обратимая схема, реализующая двоичный сумматор с уборкой мусора (рис. 10). Данная схема имеет следующие характеристики: Ь(п) = 7(п -1), Б(п) < 5п - 4. Увеличение вентильной сложности и глубины данной схемы связано с уборкой мусора на выходах.
Рис. 10. Обратимая схема двоичного сумматора с уборкой мусора.
Рис. 11. Обратимая схема двоичного вычитателя без уборки мусора.
Для более ясного понимания связи этой схемы с предыдущей, на рис. 11 входы схемы расположены справа, а выходы - слева. Обратимая схема двоичного вычитателя имеет следующие характеристики: Ь(п) = 5п - 6, Б(п) < 4(п -1). Стоит отметить, что эти характеристики асимптотически выше по сравнению с характеристиками обратимой схемы двоичного сумматора. Это объясняется разницей в подсхемах по уборке вычислительного мусора в том и другом случае.
Умножение в поле многочленов
Рассмотрим операцию умножения двух многочленов А и В в поле р2[х]/ /(х), где /(х) - неприводимый многочлен степени п. Данную операцию можно описать булевым преобразованием /ти1(а, Ь) = (а,с), где а, Ь, с е Ж" - двоичные вектора коэффициентов многочленов А, В, С е Р*[х]/ Г(х), С = А * В . Обратное преобразование /ти1(а, с) описывает операцию деления многочлена С на многочлен А в этом поле.
<5тас1 '-'ту »5тас1 ^¡ПУ
X X У У Ъ Ъ + X * у а X Х-1 а"1 X X у у+х*г ъ ъ а"1 X Х-1
Ь
с
Рис. 12. Обратимая схема умножения многочленов в поле р2[х] / /(х).
Рис. 13. Обратимая схема умножения многочленов в поле р2 [х] / (х + х +1) с частичной уборкой вычислительного мусора (5та^).
Закаблуковым Д.В. было показано3, что преобразование /ти1(а,Ь) может быть реализовано обратимой схемой, структура которой показана на рис. 12.
По данному рисунку видно, что обратимая схема умножения £ти1 с порождением вычислительного мусора будет равна подсхеме 5та^ - схеме умножения со сложением. Деление многочленов в поле можно выразить через умножение на многочлен, обратный к многочлену делителя. В схеме на рис. 12 это обращение многочлена реализуется схемой . Таким образом, обратимая схема деления с порождением вычислительного мусора будет равна композиции подсхем и 5та^. Отсюда следуют следующие неравенства для вентильной сложности и глубины схем 5ти1 и :
Д5тиО - Д^таа), ^ти1) - В(^та^,
Щ&у) - Д^пу) + Д^та^, Б(- Б(+ Д^)
Закаблуковым Д.В. был использован самый простой алгоритм умножения «столбиком». На рис. 13 представлена полученная им обратимая схема £ти1 для поля р2[ х]/ (х3 + х +1). В общем случае такая схема имеет следующие характеристики:
Д^тиО = ^(^ти1) = п1 + (п -1) • м>(/(х)) - 2п2 +1
3 Результаты получены Закаблуковым Д.В. в 2012 г в рамках
авторского дипломного проектирования по теме «Исследование эффекта однонаправленности преобразований на основе схем из обратимых логических элементов» согласно
учебным планам кафедры ИУ8.
где м>(/(х)) - количество единичных коэффициентов многочлена /(х) . Можно уменьшить эти характеристики на п -1, если не убирать вычислительный мусор с (п -1) нижних выходов:
Д^и1) = Я(^ти!) - 2п2 - п .
Закаблуковым Д.В. также были рассмотрены различные способы обращения многочлена в поле р2[х]//(х). В том числе была изучена возможность применения расширенного алгоритма Евклида для этой цели. Однако основная сложность при реализации данного алгоритма в обратимой схеме заключается в том, что необходимо на каждом этапе работы сначала вычислить степень многочлена-делителя, а затем для всех возможных значений этой степени реализовать алгоритм деления многочлена с остатком. Дальнейшее описание способа построения обратимой схемы, реализующей расширенный алгоритм Евклида, и характеристики схем взяты из авторского дипломного проекта.
Обратимая схема, реализующая расширенный алгоритм Евклида, состоит из п подсхем ^исМ - по количеству шагов данного алгоритма. Каждая такая подсхема принимает на вход вектора коэффициентов делимого многочлена, многочлена-делителя и многочлена-результата. При этом старшие коэффициенты в этих векторах не обязательно равняются 1 - для делимого многочлена это означает, что на данном шаге не надо делить, а просто уменьшить размерность векторов и перейти к следующему шагу алгоритма.
Вначале строится подсхема , опре-
деляющая степень многочлена-делителя: Ь( = 0( = 3п - 2. Если старший коэф-
фициент делимого многочлена равен 0, то происходит копирование входов на выходы с уменьшением размерности векторов. Если же он равен 1, то происходит копирование входов на входы параллельных подсхем ¿^р , реализующих деление для всех возможных степеней многочлена делителя. Для делимого многочлена степени п таких подсхем будет п. Данное копир^вание производится при помощи подсхемы ¿^¿ру, ее характеристики:
п-1
Ц^¿ру) = (п + к)(п -1) + ^ * + 3п + к - 3
I=1
Б(№ру ) = тах(Г1о§2 п], [1о§2 к]) + 3п + к - 3
,-, „ ап,т,к
Для каждой из параллельных подсхем ¿^ер
требуется: (п - т + 1)(т +1) вентилей для вычисления частного и остатка, (п - т + 1)к вентилей для умножения частного на многочлен-результат, т вентилей для копирования делителя (новое значение п), (т -1) вентилей для копирования остатка (новое значение т ), (п - т + к) вентилей для копирования результата умножения (новое значение к). В итоге получаем следующие характеристики:
¿(¿¡т) = Д^к = (п - т + 1)(т+к+1) + п + т + к -1
верны следующие равенства:
step
Для характеристик схемы , реализую-
щей один шаг расширенного алгоритма Евклида,
к 1 к П к L(Seuclid ) = L(Sdeg ) + L(Scopy ) + X L(SSte^]P )
i=1
D (SeUUolid) = D(Sneg) + D(SC0o py) + mi D(sng )
i=1
Si,
Тогда для характеристик схемы inv верны следующие равенства (оценки получены при помощи ПО Maple):
n+1 i=2
L(S ) V T(Si,n-i+2) n +7n +119n +17n O(n4) L(Sinv) = X L(Seuclid ) = 7Т + ~Г+_^+"T = O(n )
D(Sinv) = X D(seun-d+ 2) = П3+13n2 + 2f + O(n l°g 2 n) = O(n3) i=2
Sdiv
Таким образом, для характеристик схемы верны следующие неравенства:
= 0(п4), Б (ад = 0(п3)
Из этих соотношений видно, что деление двух многочленов А и В в поле р2[х]/ /(х), где /(х) - неприводимый многочлен степени п, можно реализовать обратимой схемой с полиномиальной вентильной сложностью и глубиной. Однако даже глубина такой схемы будет на порядок выше глубины обратимой схемы, реализующей умножение многочленов в этом же поле.
Литература
1. Boppana R.B., Lagarias J.C. One-way functions and circuit complexity // Information and Computation. 1987. Vol. 74(3). P. 226-240. doi:10.1016/0890-5401(87)90022-8
2. Hiltgen A.P. Cryptographically Relevant Contributions to Combinatorial Complexity Theory // ETH Series in Information Processing. 1994. Vol. 3.
3. Toffoli M. Bicontinuous Extensions of Invertible Combinatorial Functions // Math. Syst. Theory. 1981. Vol. 14. P. 13-23.
4. Редькин Н.П. О минимальной реализации двоичного сумматора // Проблемы кибернетики. М: Матгиз, 1981. Вып. 38. С. 181-216.
5. Гашков С.Б., Гринчук М.И., Сергеев И.С. О построении схем сумматоров малой глубины // Дискретный анализ и исследование операций. Серия 1. - 2007. - Т. 14, № 1. - С. 27-44. doi:10.1134/S1990478908020038
Reference
1. Boppana R.B., Lagarias J.C. One-way functions and circuit complexity // Information and Computation. 1987. Vol. 74(3). P. 226-240. doi:10.1016/0890-5401(87)90022-8
2. Hiltgen A.P. Cryptographically Relevant Contributions to Combinatorial Complexity Theory // ETH Series in Information Processing. 1994. Vol. 3.
3. Toffoli M. Bicontinuous Extensions of Invertible Combinatorial Functions // Math. Syst. Theory. 1981. Vol. 14. P. 13-23.
4. Red'kin N.P. O minimal'noy realizatsii dvoichnogo summatora, Problemy kibernetiki. M: Matgiz, 1981, Vyp. 38, pp. 181-216.
5. Gashkov S.B., Grinchuk M.I., Sergeev I.S. O postroenii skhem summatorov maloy glubiny, Diskretnyy analiz i issledovanie operatsiy, Seriya 1, 2007, V. 14, N 1, pp. 27-44. doi:10.1134/S1990478908020038