Вы находитесь на странице: 1из 12

ТЕОРЕТИЧЕСКИЕ ВОПРОСЫ ИНФОРМАТИКИ, ПРИКЛАДНОЙ МАТЕМАТИКИ,

КОМПЬЮТЕРНЫХ НАУК И КОГНИТИВНО-ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ /


THEORETICAL QUESTIONS OF COMPUTER SCIENCE, COMPUTATIONAL MATHEMATICS,
COMPUTER SCIENCE AND COGNITIVE INFORMATION TECHNOLOGIES

УДК 519.714.5, 003.26


DOI: 10.25559/SITITO.15.201903.541—552

Обратимые вычисления: обзор проблемы и новые


результаты (отказоустойчивость и криптография)
С. И. Гуров1*, А. Е. Жуков2, Д. В. Закаблуков3, Г. В. Кормаков1
1
Московский государственный университет имени М.В. Ломоносова, г. Москва, Россия
119991, Россия, г. Москва, ГСП-1, Ленинские горы, д. 1
*
sgur@cs.msu.ru
2
Московский государственный технический университет имени Н.Э. Баумана (национальный
исследовательский университет), г. Москва, Россия
105005, Россия, г. Москва, 2-я Бауманская ул., д. 5, стр. 1
3
ООО «Алгоритмы и данные», г. Москва, Россия
117218, Россия, г. Москва, ул. Дмитрия Ульянова, д. 42, стр. 1

Аннотация

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

Ключевые слова: обратимая логика, обратимые логические элементы, отказоустойчивые


схемы, хэммингово пространство, защита информации, обратимые схемы с «уборкой мусора».

Для цитирования: Гуров С. И., Жуков А. Е., Закаблуков Д. В., Кормаков Г. В. Обратимые вычисле-
ния: обзор проблемы и новые результаты (отказоустойчивость и криптография) // Современ-
ные информационные технологии и ИТ-образование. 2019. Т. 15, № 3. С. 541-552. DOI: 10.25559/
SITITO.15.201903.541-552

© Гуров С. И., Жуков А. Е., Закаблуков Д. В., Кормаков Г. В., 2019

Контент доступен под лицензией Creative Commons Attribution 4.0 License.


The content is available under Creative Commons Attribution 4.0 License.

Modern
Information
Vol. 15, No. 3. 2019 ISSN 2411-1473 sitito.cs.msu.ru Technologies
and IT-Education
THEORETICAL QUESTIONS OF COMPUTER SCIENCE, COMPUTATIONAL
MATHEMATICS, COMPUTER SCIENCE AND COGNITIVE INFORMATION TECHNOLOGIES

Reversible Computing: Review of the Problem


and New Results (Fault Tolerance and Cryptography)
S. I. Gurov1*, A. E. Zhukov2, D. V. Zakablukov2, G. V. Kormakov1
1
Lomonosov Moscow State University, Moscow, Russia
1, Leninskie gory, Moscow 119991, Russia
* sgur@cs.msu.ru
2
Bauman Moscow State Technical University, Moscow, Russia
5/1 2-nd Baumanskaya Str., Moscow 105005, Russia
3
“Algorithms and Data” LLC, Moscow, Russia
42, bld. 1, Dmitriya Ul’yanova Str., Moscow 117218, Russia

Abstract

The paper considers the main provisions of reversibility as a new paradigm for the development of
computer technology. The first sections are of an overview nature. The inevitability of the so-called
“heat curse” while maintaining the traditional paradigm of creating means of computer engineering.
The fundamentals of reversible logic are presented, the main reversible logic elements and models
of reversible computations, including reversible cellular automata, are considered. Reversible pro-
gramming languages are briefly reviewed. The second part addresses the basic issues of the logical
synthesis of circuits from reversible elements and the physical implementation of reversible circuitry.
The synthesis of fault-tolerant circuits in the paradigm of reversible circuitry is briefly described. A
technique for synthesizing fault-tolerant reversible elements in a hamming space is proposed and some
such schemes are described. Next, the problems of using circuits of reversible logic elements in cryp-
tography are considered. The proposed general scheme for creating reversible schemes with “garbage
collection” intended for cryptographic applications is described.

Keywords: reversible logic, reversible logic elements, fault-tolerant circuits, hamming space, infor-
mation protection, reversible circuits with “garbage collection”.

For citation: Gurov S.I., Zhukov A.E., Zakablukov D.V., Kormakov, G.V. Reversible Computing: Review
of the Problem and New Results (Fault Tolerance and Cryptography). Sovremennye informacionnye teh-
nologii i IT-obrazovanie = Modern Information Technologies and IT-Education. 2019; 15(3): 541-552.
DOI: 10.25559/SITITO.15.201903.541-552

Современные
информационные
технологии Том 15, № 3. 2019 ISSN 2411-1473 sitito.cs.msu.ru
и ИТ-образование
THEORETICAL QUESTIONS OF COMPUTER SCIENCE, COMPUTATIONAL MATHEMATICS,
S. I. Gurov, A. E. Zhukov,
D. V. Zakablukov, G. V. Kormakov COMPUTER SCIENCE AND COGNITIVE INFORMATION TECHNOLOGIES 543

Введение жен иметь n выходов. В общем случае элементы с n входами и


m выходами будем называть n×m-элементами.
В начале 1960-х г. был открыт казавшийся сначала пара- На выходе обратимого комбинационного элемента кроме
доксальным эффект Неймана-Ландауэра, и Ландауэр сформу- значений вычисляемой функции (информационных битов)
лировал принцип: в любой вычислительной системе, независи- обычно формируются ещё и дополнительные мусорные
мо от её физической реализации, при потере одного бита (garbage или стоковые, sink) биты. Они и дают возможность по
информации выделяется теплота в количестве не менее выходному вектору однозначно восстановить входной. Их
ε 0 = k ⋅ T ⋅ ln 2 [J], k – постоянная Больцмана, T – абсолютная нельзя потерять, поскольку тогда произойдёт рассеяние энер-
температура [1]. В 2012 г. эффект удалось обнаружить на гии, для борьбы с которым и разрабатывают обратимые эле-
практике [2]. Ландауэр даже придумал слоган информация менты.
осязаема, она не существует абстрактно и воплощена матери- Далее входы элементов (вентилей, гейтов, gate) будем
ально. обычно обозначать A,� B,�... или A1 , A2 , ..., а выходы – P, Q, ... Ино-
−21
При комнатной температуре ε 0 ≈ 3  10 [J], что сравни- гда появятся и другие обозначения, но они будут понятны.
мо со средней энергией одной молекулы воздуха при комнат- Входы обратимых элементов разделяются на управляющие
ной температуре. Однако в пересчёте на процессор рассеивае- (адресные) и управляемые (целевые). Значения адресных вхо-
мая мощность вырастает уже до величин порядка 1 [W]. Если в дов передаются на выход без изменений, в то время как значе-


начале XXI в. компьютеры при обработке одного бита рассеи- ния целевых изменяются в зависимости от значений адрес-
вали примерно в миллион раз больше тепла, чем ε 0 , то на на- ных. Символом ( ) обозначаем операцию конъюнкции,
чало 2010-х это отношение снизилось до нескольких тысяч, и символом ( ⊕ ) – операцию сумма по mod 2.
исследователи предсказывают приближение этого соотноше- К настоящему времени разработано много обратимых
ния к 1 в течение ближайших десятилетий. комбинационных элементов. Простейшими из них являются
По результатам анализа, проведённого в рамках проекта NOT ( P = A ) и SWAP= ( P B= ,� � Q A ), CNOT (Controlled NOT
ITRS-2001, использовании 22-нм технологии ИМС, выделение или элемент Фейнмана FG: P = A, Q = A ⊕ B ) , элементы Тоф-
тепла составит 5-10 [MW] на кв. см поверхности процессора. фоли ( P = A,� � Q = ,B � � R = C ⊕ A ⋅ B ) и Фредкина
Отметим, что к 2020 г. Intel планирует освоение 7-нм техпро- ( P = A Q = A ⋅ B ? A ⋅ C R = A ⋅ B ? A ⋅ C ).
цесса, а к 2022 г. – 4 нм. Ясно, что в данных условиях игнориро- Рассмотрим ещё некоторые обратимые вентили.
вать эффект Ландауэра уже нельзя: исследователи пришли к Обобщённый гейт Тоффоли (CnNOT, MCT, Multiple-Control
выводу, что, без учёта тепловых шумов и требований надёжно- Toffoli Gate, GT, generalized n-bit Toffoli) реализует преобразова-
сти, физический предел традиционных технологий вычисли- ние P1 = A1 , …, Pn −1 = An −1, Pn = A1 ⋅…⋅ An −1 ⊕ An , n > 2 .
теля с плавающей точкой – 1022 операций в секунду [3]. Дан- Обобщённый (множественно управляемый) гейт Фредки-
ную критическую ситуацию можно назвать тепловым на (обобщённый CSWAP, CnSWAP, MCF, Multiple-Control Fredkin
проклятием развития вычислительной техники в рамках су- Gate) – n×n-гейт, n>2, всегда передающий на выход входы
ществующих технологий. A1 ,… An − 2 без изменения, при этом если все они равны 1, то
Имеется, очевидно, только два способа, уменьшить рассе- входы An −1 �� u An также передаются на выход без изменений
ивание энергии на бит ниже ε 0 . Первый очевидной способ  – (т.е. P1 = A1 , …, Pn = An ), иначе An −1 �� u An меняются на выходе
пытаться снижать рабочую температуру вычислителя. При местами ( Pn −1 = An , Pn = An −1 ) [6].
этом общая рассеиваемая энергия не уменьшается, а просто Вентиль Переса (PG) реализует обратимый полусумма-
переносится на холодильное оборудование. тор и не является универсальным. Он реализует преобразова-
Другой подход состоит в использовании обратимых вы- ние P = A,� Q = A ⊕ B,� R = C ⊕ A ⋅ B (здесь Au �� B – суммируе-
числительных устройств. Обратимые вычисления блокируют мые разряды, Q – их сумма, R – перенос в следующий разряд
потерю информация, что теоретически обеспечивает нулевые и P – мусорный бит). Вентиль Переса может быть реализован
потери энергии на её обработку. Если в традиционных ком- на гейтах TG и CNOT.
пьютерах ненужная для дальнейших вычислений информа- Описание других обратимых вентилей находится в следу-
ция не сохраняется, исчезает, то обратимые вычисления орга- ющих работах [5, 6, 7].
низуют так, чтобы этого не произошло.
Здесь важно указать: обратимость необходимо поддер- Математика обратимой логики
живать на всех уровнях вычислений: алгоритмических язы-
ков, реализации прикладных программ, схемотехники и физи- Схемы из функциональных элементов
ческой реализации обратимых элементов, поскольку Такие схемы классически определяются как ориентиро-
необратимость хотя бы на одном уровне полностью разрушает ванный графы без циклов с помеченными рёбрами и вершина-
положительные эффекты остальных [4]. ми. Обратимая схема из функциональных элементов есть
ациклическая комбинационная логическая схема, в которой
Обратимые комбинационные элементы все элементы обратимы и соединены друг с другом последова-
тельно без ветвлений.
Вычисления обратимы, если по выходным величинам В самой простой математической модели обратимых
полностью восстанавливаются входные. схем все элементы имеют одинаковое количество входов и вы-
На логическом уровне такие вычисления реализуют на ходов n. В ориентированном графе, описывающем такую обра-
обратимых элементах. Обратимые комбинационные элемен- тимую схему, все вершины нумеруются от 1 до l и имеют ровно
ты осуществляет биективные преобразования входного буле- n занумерованных входов и выходов. При этом i-й выход m-й
вого n-вектора в выходной. Как следствие, такой элемент дол- вершины, m < l, соединяется только с i-м входом (m+1)-й вер-

Modern
Information
Vol. 15, No. 3. 2019 ISSN 2411-1473 sitito.cs.msu.ru Technologies
and IT-Education
ТЕОРЕТИЧЕСКИЕ ВОПРОСЫ ИНФОРМАТИКИ, ПРИКЛАДНОЙ МАТЕМАТИКИ,
544 КОМПЬЮТЕРНЫХ НАУК И КОГНИТИВНО-ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
С. И. Гуров, А. Е. Жуков,
Д. В. Закаблуков, Г. В. Кормаков

шины. Входами обратимой схемы являются входы первой вер- зывают NCT-библиотекой [18]. Будем называть N-конструируе-
шины, а выходами – выходы l-й вершины. Величина l называ- мой (C-конструируемой, T-конструируемой) подстановку, по-
ется сложностью схемы. строенную исключительно с помощью элементов NOT
Обратимый элемент по определению задаёт биективное (соответственно CNOT, TG). В работе [19] показано:
отображение на некотором множестве, к примеру, на множе- • группа S 2n содержит 2n N-конструируемых подста-
стве двоичных векторов длины n. Любое такое преобразова- новок, n −1 n C‑конструируемых подстановок,
ние можно описать подстановкой на данном множестве. Сле- ∏ 2 −2( i
)
1 n i =0
довательно, последовательное соединение обратимых
элементов задаёт подстановку, равную произведению соот- 2
( )
2 − n − 1 ! T-конструируемых подстановок. Все
ветствующих подстановок. Отсюда следует очевидная связь три указанных множества являются подгруппами в
между обратимыми схемами и подстановками на множестве. S 2n .
В случае, когда элемент самообратим, задаваемая им под- • в схеме с n > 3 входами каждый из элементов
становка является обратной к самой себе. Если обратимая схе- NCT-библиотеки задаёт чётную подстановку, как
ма состоит только из самообратимых элементов, то схема, со- следствие и сама обратимая схема также реализует
стоящая из тех же самых элементов, но соединенных в чётную подстановку.
обратном порядке, задает биективное отображение, обратное • для любой заданной подстановки на множестве дво-
к отображению, задаваемому оригинальной схемой. ичных векторов длины n ″ 3 существует реализую-
Вычисления с ограниченной памятью щая её NCT-схема с n входами.
Модель обратимых схем можно свести к модели функци- • для любой заданной чётной подстановки на множе-
ональных схем с ограниченной памятью, на операции в кото- стве двоичных векторов длины n ≥ 4 существует
рой наложены дополнительные условия. В случае обратимой реализующая её NCT-схема с n входами.
схемы с n входами каждой линии ставится в соответствие один • для любой заданной нечётной подстановки на мно-
из n регистров памяти (ячеек памяти), хранящих результат жестве двоичных векторов длины n ≥ 4 не суще-
вычислений на каждом шаге работы схемы. Входы и выходы ствует реализующей её NCT-схемы с n входами, од-
элементов, подключенные к линиям схемы, считывают и запи- нако существует реализующая ее NCT-схема с n +1
сывают значения в соответствующий линии регистр памяти. входами (один дополнительный).
Для реализации биективного отображения на множестве • зафиксируем набор библиотек B1, …, Bk и построим
двоичных векторов длины n необходимо как минимум n ре- (B1|…|Bk) -схему, присоединяя выходы Bi-схемы к вхо-
гистров памяти. Если требуемое отображение невозможно ре- дам Bi+1-схемы, i = 1, …, k − 1 . Входом построенной
ализовать при помощи заданного семейства обратимых эле- схемы есть вход B1-схемы, а выходом Bk-схемы. Ка-
ментов на n регистрах памяти, но можно реализовать на n + q ждая подстановка из S 2n при n = 1, 2, 3 и каждая
регистрах памяти, то говорят, что схема реализует отображе- четная подстановка при n ≥ 4 может быть реализо-
ние с q дополнительными входами. В большинстве случаев вана некоторой (T|C|T|N)-схемой и, следовательно,
перед началом работы в регистры памяти, соответствующие является NCT-конструируемой.
дополнительным входам, записывают нулевые значения, од- Аналогично, для других семейств обратимых элементов
нако могут быть записаны и единичные значения. можно установить их функциональную полноту. Пусть B – би-
блиотека из обратимых логических элементов. Тогда B уни-
Функциональная полнота семейств обратимых элемен- версальна, если для любого n и любой подстановки π ∈ S 2n
тов существует такое q, что некоторая B-схема вычисляет ≠ , ис-
Семейство логических элементов, из которых строиться пользуя q линий дополнительной (вспомогательной) памяти.
схема, называют библиотекой. Схему, построенную из элемен- Доказано, что для любой универсальной библиотеки B и до-
тов библиотеки B, называют B-схемой и если такая схема реа- статочно большого n подстановки из знакопеременной груп-
лизует некоторую подстановку, то последнюю назовём пы A2n являются B-конструируемыми, а подстановки из S 2n
B-конструируемой. Множество всех подстановок, реализуемых реализуются с помощью не более, чем одной дополнительной
B-схемами с n входами и n выходами, является группой, обо- линии.
значаемой Bn . Эта группа, в свою очередь, является подгруп-
пой (может быть несобственной) симметрической группы S 2n Схемы с дополнительными входами
. Подстановки, соответствующие элементам библиотеки  , Считаем, что схема из обратимых элементов с n значимы-
являются образующими элементами группы Bn . В связи с ми и q дополнительными входами реализует функцию
этим задачи построения схем из обратимых элементов, реали- f :  n2 →  m2 , если подавая на управляемые (значимые) входы
зующих элементы группы подстановок, и получения оценок значение аргумента функции x, а на дополнительные входы –
для их сложности сводятся к задачам нахождения длин эле- 0, на m значимых (информационных) выходах мы получаем
ментов группы подстановок в заданной системе образующих, значение вектора y (значения, полученные на остальных вы-
длины самой группы и мощностей её слоев. ходах, игнорируются). Если в конце работы схемы значение на
При этом естественно возникает вопрос функциональ- незначимом выходе не равно входной константе, линия назы-
ной полноты заданного семейства обратимых элементов: ка- вается мусорной, а полученное значение – вычислительным
кие биективные отображения (какой класс отображений) мо- мусором. Достаточно часто мусорными считаются все неин-
гут быть реализованы и при каком количестве дополнительных формационные выходы.
входов. В общем, число основных (значимых) входов плюс число
Библиотека, образованную элементами NOT, CNOT, TG на- дополнительных входов должно равняться числу основных

Современные
информационные
технологии Том 15, № 3. 2019 ISSN 2411-1473 sitito.cs.msu.ru
и ИТ-образование
THEORETICAL QUESTIONS OF COMPUTER SCIENCE, COMPUTATIONAL MATHEMATICS,
S. I. Gurov, A. E. Zhukov,
D. V. Zakablukov, G. V. Kormakov COMPUTER SCIENCE AND COGNITIVE INFORMATION TECHNOLOGIES 545

(значимых) выходов плюс число незначимых выходов, вклю-


чая мусорные, как показано на рисунке 1.

Р и с. 2. Конструкция Беннета
F i g. 2. Bennett’s Design

С помощью любого семейства, содержащего универсаль-


ный элемент, можно реализовать в обратимой схеме любое
заданное отображение на множестве двоичных векторов дли-
Р и с. 1. Входы и выходы обратимой схемы ны n , однако количество необходимых для этого дополни-
F i g. 1. The inputs and outputs of the reversible circuit тельных входов схемы может кардинально отличаться для
различных семейств: оно может быть либо константным, либо
Чтобы реализовать необратимое отображение с помо- зависящим от количества элементов в схеме.
щью обратимых логических элементов необходимо сделать От количества дополнительных входов обратимой схемы
его обратимым, добавив дополнительные входы, на которые зависит и класс отображений на множестве двоичных векто-
подаются константы 0. Для реализации необратимой функ- ров, реализуемых при помощи заданного семейства обрати-
ции, в которой совпадающие выходные наборы встречаются мых элементов, даже если оно содержит универсальный эле-
до M раз, требуется как минимум log 2 M дополнительных мент. К примеру, вентиль Фредкина является универсальным,
линий [20]. В частности, для любого заданного отображения однако при помощи обратимой схемы без дополнительных
на множестве двоичных векторов длины n существует реали- входов, состоящей только из элементов данного типа, невоз-
зующая её обратимая схема, состоящая из элементов данного можно реализовать отображение, изменяющее вес Хемминга
семейства и имеющая не более 2n входов ( n дополнитель- двоичного вектора (количество единичных координат в нем).
ных). Помимо этого, от количества дополнительных входов об-
Поскольку произвольная схема с n + q входами, постро- ратимой схемы существенно зависит и ее сложность.
енная из обратимых элементов реализует некоторую подста-
новку на множестве двоичных векторов длины n + q , реализа- Обратимые функции и языки
n m
ция этой схемой функции f :  2 →  2 может быть программирования
математически описана при помощи расширяющего
ϕn ,n + q :  n2 →  n2+ q вида Обратимые надстройки над функциями
Для обеспечения обратимости при вычислениях исполь-
ϕn ,n + q ( x1 , …, xn ) = x1 , …, xn , 0, …, 0 зуют функции, инъективные по первому аргументу, которые
получают из обычных функций, применяя процедуру обрати-
и редуцирующего отображения ψ nπ+ q ,m :  n2+ q →  n2 вида мой надстройки [11]. 
Определение. Бинарную функцию A × B → C называют
ψ nπ+ q ,m ( x , …, x ) =
1 n+q xπ (1) , …, xπ ( m ) инъективной по первому аргументу, если
a1  b = a2  b ⇒ a1 = a2 .
где � – некоторая подстановка на множестве  n + q .
Пример: n + 3 = m + 3� ⇒ n = m ; антипример:
Тогда обратимая схема с n + q ≥ m входами, задающая n × 0 = m × 0�  n = m .
подстановку g :  n2+ q →  n2+ q , реализует отображение Утверждение. Пусть    – бинарная функция, инъектив-
n m
f :  2 →  2 c использованием q ≥ 0 дополнительных входов ная по первому аргументу. Тогда существует функция
(дополнительной памяти), если существует такая подстанов- C × B → A такая, что ( a  b )  b = a.
ка π ∈  n + q , что
Неформально говорят, что операция  «обратна» к опе-
( )
ψ nπ+ q ,m g (ϕn ,n + q ( x ) ) = f ( x ) , рации  . Примеры пар ( , ) : для чисел – ( +, − ) , при работе
с ненулевыми числами – (×, ÷ ), для булевых векторов – ( ⊕, ⊕ ).
где x ∈  , f ( x ) ∈  .
n m
Обратимая надстройка над унарной функцией f ( y )
( )
2 2
есть бинарная функция g ( x, y ) = x  f ( y ) , y , такая, что
В основополагающей работе Ч. Беннетта была предложе- операция  обратима по первому аргументу:
на общая конструкция для обратимого вычисления произ- (
x → x  f ( y )� � � � � � x  f ( y )  f ( y ) = x ← x  f ( y ) )
вольной (обратимой или необратимой) функции [4]. Кон-
y → y � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � y ←� y � � � � � � � � � � �
струкция Беннетта схематично представлена на рис. 2. Здесь
f – схема из обратимых элементов, реализующая функцию Пример: если g ( x, y ) = ( x + f ( y ) , y ) , то
f :  n2 →  m2 , x ∈  n2  – вход функции, y ∈  m2 – ее выход, g  – вы- g −1 ( x, y ) = ( x − f ( y ) , y ) . Пусть f ( y ) = sin y , x  – произволь-
числительный мусор, fr – зеркальная схема. В конструкции ис- ное, тогда
пользуется подсхема копирования C, которая может быть по- g ( x, y ) = ( x + sin y, y ) , g −1 ( x, y ) = ( x − sin y, y ) ,
строена из элементов CNOT.
g −1 ( x + sin y, y ) = ( x + sin y − sin y, y ) = ( x, y ) .

Modern
Information
Vol. 15, No. 3. 2019 ISSN 2411-1473 sitito.cs.msu.ru Technologies
and IT-Education
ТЕОРЕТИЧЕСКИЕ ВОПРОСЫ ИНФОРМАТИКИ, ПРИКЛАДНОЙ МАТЕМАТИКИ,
546 КОМПЬЮТЕРНЫХ НАУК И КОГНИТИВНО-ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
С. И. Гуров, А. Е. Жуков,
Д. В. Закаблуков, Г. В. Кормаков

Обратимые надстройки существуют у всех функций. Об- свой сток, то какого-либо выигрыша по энерговыделению не
ратная детерминированность программы позволяет прово- получится. Утилизация мусора  – самая энергозатратная опе-
дить вычисления программы в обратном порядке. рация, она присуща и обычной схемотехнике. Полностью избе-
Двунаправленные программы называют линзами (lens) жать появления мусора, как мы отмечали, не удаётся.
[11]. Простейший подход, заключающийся в сохранении каж-
дого мусорного значения на выходе, ясно, быстро «съест» всю
Janus и другие доступную память. Есть предположение, что если программа
Язык Janus  – первый обратимый язык программирова- выполняет N команд, то для хранения стоков потребуется
ния, был предложен Т. Йокоямой и Р. Глюком в 1982 году [12]. порядка log N бит памяти.
Преобразователь и интерпретатор Janus свободно доступен1. Для решения проблемы Фредкин, Тоффоли и их студенты
Janus также реализован на языке Prolog. предложили [18]:
В языке Janus все функции заменены обратимыми над- 1. Произвести вычисления, получив большое количе-
стройками, в циклах и условиях возвращается информация о ство мусора;
пройденном пути («история» Беннета), параметры процедур 2. Записать результат, получив ещё немного мусора;
передаются только по ссылке, глобальных переменных нет, 3. Выполнить вычисления в обратном направлении,
при инициализации процедур все переменные и элементы уничтожив мусор, полученный на шаге 1).
массива обнуляются, а стеки опустошаются. При этом придется выделить дополнительную память
Janus  – императивный язык программирования: испол- под информацию, связанную с принципиально командами.
нение программы состоит в последовательном выполнении При качественной разработке кода программы, однако, коли-
команд. Программа на языке Janus prog состоит из основной чество такого мусора можно ограничивать.
процедуры pmain , за которой следует последовательность
d _ proc* определений процедур. Основная процедура pmain Методы синтеза обратимых схем
не имеет параметров и состоит из указания типов переменных Под обратимой схемотехникой мы понимаем методы
и оператора. Имеются следующие типы переменных данных: синтеза обратимых вычислителей, в т.  ч. со специальными
скаляр (32-разрядное целое), одномерный массив целых и свойствами (например, сбоеустойчивость).
стек целых. Логические значения суть ‘целое ненулевое’ = true, Обратимые схемы можно рассматривать в качестве моде-
‘целое нулевое’ = false. Массивы индексируются целыми числа- ли реального вычислительного устройства. В зависимости от
ми, начиная с нуля. технологических ограничений при производстве устройств и
Управляющие структуры языка Janus традиционны. Это предъявляемым к ним требованиям меняются цели и задачи
операторы присваивания, обмена двух значений ( = ), услов- методов синтеза. Среди них можно выделить следующие:
ный (if e1 then s1 else s2 fi e2) и цикла (from e1 do s1 until e2). В • минимизация количества элементов схемы (её слож-
Janus’е также имеются операторы работы со стеком – поме- ности);
стить данное в стек извлечь его из стека (push, pop), прямого • минимизация количества дополнительных входов
(call) и обратного (uncall) вызовов процедуры. схемы в случаях, когда добавить дополнительный
Пример вычисления чисел Фибоначчи на языке Janus вход в схему технологически гораздо сложнее, чем
смотрите, например, [11, 13]. увеличить её сложность;
Известны и другие обратимые языки: CRL, PsiLisp, R, In • минимизация количества элементов определённого
[14, 15]. типа (к примеру, если элемент Тоффоли технологи-
Обратимое программирование тесно связано с алгебраи- чески реализуется в квантовом устройстве гораздо
ческим (функциональным). Некоторые результаты по алге- сложнее, чем NOT или CNOT, то лучше синтезировать
брам программ в связи с обратимыми вычислениями можно обратимую схему большей сложности, но с меньшим
найти в работах Н. Н. Непейводы [16, 17]. количеством элементов Тоффоли.
Наиболее известные из библиотек синтеза обратимых
элементов можно найти в [21, 22].
Логический синтез и физическая Для синтеза обратимых схем в основном применяют тра-
реализации диционные методы, адаптированные под обратимую схемо-
технику [23].
Классические методы логического синтеза не могут быть Особо отметим парадоксальный, казалось бы, факт: при
напрямую применены в схемах, построенных на обратимых реализации классическая необратимая логика требует в разы
элементах, и такие схемы проектируются для каждого кон- больше вентилей, чем обратимая [24]. Например, однобитный
кретного устройства с заданной булевой функцией. При этом обратимый сумматор требует четырёх вентилей и срабатыва-
не существует единых правил, с помощью которых можно ет за 2τ (τ – время задержки вентиля).
было бы спроектировать произвольное устройство.
Cycle-based алгоритм
Проблема стоков Особняком стоит метод на базе cycle-based алгоритма [7].
Получаемые при вычислениях мусорные биты просто от- Он основан на представлении заданного биективного отобра-
бросить нельзя, их нужно неким особым образом утилизиро- жения в виде произведения независимых циклов (подстано-
вать. Если на каждый триггер процессора будет приходиться вок). Данное представление заменяется на эквивалентное и,

1
Janus Extended Playground. URL: http://topps.diku.dk/pirc/janus-playground (дата обращения: 16.07.2019).

Современные
информационные
технологии Том 15, № 3. 2019 ISSN 2411-1473 sitito.cs.msu.ru
и ИТ-образование
THEORETICAL QUESTIONS OF COMPUTER SCIENCE, COMPUTATIONAL MATHEMATICS,
S. I. Gurov, A. E. Zhukov,
D. V. Zakablukov, G. V. Kormakov COMPUTER SCIENCE AND COGNITIVE INFORMATION TECHNOLOGIES 547

возможно, избыточное, но удобное для синтеза по частям. Ал- так и в дополнительной аппаратуре. Последнее свойство по-
горитмы синтеза такого типа позволяют получать обратимые зволяет избежать проблемы «сторожа над сторожем». Созда-
схемы с асимптотически оптимальной сложностью. ние самокорректируемых схем является задачей синтеза вы-
Cycle-based алгоритм позволяет получить обратимую числительных устройств с дополнительными требованиями.
схему без дополнительных входов со сложностью Для анализа ошибок схем и разработке методов их пари-
48n 2n . рования рассматривают различные модели возникающих
L ( n, 0 ) 
log 2 n ошибок. Укажем некоторые модели логических неисправно-
Доказано, что почти все чётные подстановки на множе- стей, используемых при анализе сбоеустойчивости обратимых
стве двоичных векторов длины n реализуются со сложностью схем [23-26].
L  n 2n / log 2 ( n + q ) . Таким образом, алгоритм синтеза явля- • Константная ошибка (stuck-at fault model) – данный
ется асимптотически оптимальным. бит выхода всегда принимает константное значение
Для синтеза произвольного отображения на множестве 0 или 1.
двоичных векторов длины n был разработан алгоритм синте- • Битовая ошибка (bit fault model) – инвертирование
за, являющийся модификацией стандартного метода Лупано- выходного бита.
ва и оптимизированный под различное количество дополни- Эти модели неисправности используется при исследова-
тельных входов q . Данный алгоритм позволяет получить нии и обычных, необратимых схем.
обратимую схему со сложностью 8n 2n при • Узловая ошибка (crosspoint fault model) – специфиче-
L ( n, q ) 
log 2 q ская ошибка обратимых элементов Тоффоли описан-
n − o( n )
n q2
2
. Доказано, что почти все отображения на мно- ных типов, описывает ошибки возникновения (Ap-
жестве двоичных векторов длины n реализуются со сложно- pearance Fault) или исчезновения (Disappearance
стью L  n 2n / log 2 ( n + q ) . Таким образом, алгоритм синтеза Fault) в нём контрольных разрядов, как показано на
является асимптотически оптимальным для указанного диа- рисунке 3.
пазона значений q .
Стоит отметить, что сложность синтезированной обрати-
мой схемы, как это видно из оценок выше, существенно зави-
сит от количества дополнительных входов: чем их больше, тем
меньше сложность схемы в худшем случае. Данная зависи-
мость является характерной для обратимых схем и выражена
не столь явно для классических, необратимых схем. Таким об-
разом, во время синтеза обратимой схемы приходится искать Р и с. 3. Схемы появления узловых ошибок возникновения (1) и
компромисс и выбирать между большей сложностью схемы исчезновения (2):
либо большим количеством дополнительных входов. (a) – до появления сбоя, (b) – после

Самокорректируемые элементы F i g. 3. The appearance of nodal errors of occurrence (1) and disappearance (2):
Повышение надёжности функционирования интеграль- (a) - before the failure, (b) - after
ных микросхем (ИМС) остаётся актуальной проблемой синтеза.
Важной стороной задачи остаётся проблема устойчивости схем В простейшем случае сбоеустойчивая схема обеспечивает
к отказам, как к кратковременным самоустраняемым (сбоям, лишь обнаружение возникшей ошибки. Исправить обнару-
SEU, single event upsets), так и к неустранимым. Причинами та- женную ошибку далее возможно методом многократного пе-
ких отказов являются воздействие на схему различных видов ресчёта выхода, используя, таким образом, временную избы-
помех: радиационных, скачков напряжения питания, а также точность схемы ( понятно, что использование любого вида
естественная деградация сигналов во времени. Устойчивость избыточности, временной или информационной, в конечном
работы ИМС является важнейшим требованием к аппаратуре, счёте реализуется дополнительными схемами). На сегодняш-
работающей в тяжёлых условиях космоса. В настоящее время в ний день исследования методов синтеза сбоеустойчивых об-
мире активно развивается направление радиационно-стойко- ратимых схем ограничиваются практически исключительно
го проектирования (RHBD, Radiation Hard by Design), основан- указанным простейшим вариантом, не приводящий к значи-
ного на использовании схемотехнических, топологических и тельному увеличению сложности схемы.
алгоритмических методов повышения сбоеустойчивости. В [5] дан обзор известных подходов к синтезу обратимых
Отметим, что неисправность того или иного логического схем. Эти подходы можно разделить на два класса. Первый за-
элемента ИМС может привести выходе всей схемы как к крат- ключается в построении элементов, обеспечивающих кон-
ной ошибке на (конус ошибок), так и к её непроявлению (ма- троль чётности своих выходов и использованием далее общих
скирование ошибки). методов синтеза. Второй связан с приданием свойств кон-
С целью обнаружения и исправления ошибок вычисле- троль чётности уже синтезированных схем.
ний, осуществляемых основной аппаратурой, её дополнят кор- Большинство методов находятся в рамках первого класса.
ректирующей дополнительной. В этом случае говорят о схем- Разработан универсальный способ преобразования произволь-
ной избыточности. Создание самокорректируемых схем ных обратимых элементов в гейты, сохраняющие чётность.
является задачей синтеза вычислительных устройств с допол- Методы второго класса часто требуют значительного пе-
нительными требованиями. репроектирования уже имеющихся схем. При этом увеличива-
Под самокорректируемостью понимают свойство обна- ется количество ключей, добавляются новые проверяющие
руживать и исправлять ошибки, возникающие как в основной, элементы и увеличивается мусор.

Modern
Information
Vol. 15, No. 3. 2019 ISSN 2411-1473 sitito.cs.msu.ru Technologies
and IT-Education
ТЕОРЕТИЧЕСКИЕ ВОПРОСЫ ИНФОРМАТИКИ, ПРИКЛАДНОЙ МАТЕМАТИКИ,
548 КОМПЬЮТЕРНЫХ НАУК И КОГНИТИВНО-ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
С. И. Гуров, А. Е. Жуков,
Д. В. Закаблуков, Г. В. Кормаков

В последнее время предложены следующие схемы сбоеу- статьи самокорректирующиеся обратимые элементы в про-
стойчивых вычислительных устройств, использующих кон- странстве Хэмминга: обратимый воутер «2 из 3», гейты HNOT,
троль чётности [23]: полный сумматор из сохраняющих чёт- (инвертирование), HCNOT (управляемое инвертирование), То-
ность блоков (2010), АЛУ (2013), компрессор (устройство для ффоли HTG, Фредкина HFRG, полный одноразрядный сумма-
сжатия динамического диапазона звукового сигнала), полный тор HADD.
сумматор (2015). В цитируемой работе также указаны примеры элементов,
Отметим, что существует простейший метод троирова- реализованных в поляризованном Хэмминговом простран-
ния или тройного модульного резервирования (TMR, Triple стве, когда качестве полюсов выбраны векторы 010 и 101. Та-
Modular Redundancy) построения сбоеустойчивых, при кото- кой выбор реализует более сбалансированное представления
ром результат определяется мажорированием «голосования 2 сигналов 0 и 1, и, соответственно, нагрузку на транзисторные
из 3» выходов трёх экземпляров основной схемы. Данную схе- вентили при реализации схем на кристалле. Переход к такому
му мажорирования называют воутером. поляризованному хеммингову пространству геометрически
эквивалентен вращению единичного куба вокруг своего цен-
Помехоустойчивое кодирование в хэмминговом простран- тра с переносом нулевого вектора в вершину, представляемую
стве вектором поляризации.
Предложим новый метод построения сбоеустойчивых об- Сравнение сложности и моделирование сбоеустойчиво-
ратимых элементов на основе помехоустойчивого кодирова- сти обычных необратимых схем с их аналогами, построенных
ния в пространстве Хэмминга [26]. Метод заключается в заме- на элементах в хэмминговом пространстве позволило утвер-
не обратимых гейтов на их сбоеустойчивые аналоги, ждать, что, во-первых, число вентилей в методе тройного ре-
обеспечивающих гарантированное автоматическое исправле- зервирования возрастает примерно в четыре раза, в то время
ние любой одиночной ошибки, т. е. основанный на принципе как при кодировании в пространстве Хэмминга оно возрастает
селективной защиты на уровне отдельных элементов. на порядок и, во-вторых, сбоеустойчивость предлагаемого ме-
В простейшем случае помехоустойчивого кодирования тода во всех случаях превосходит метод тройного резервиро-
будем кодировать булевы значения 0 и 1 тремя битами 000 и вания, что также продемонстрировано при соответствующем
111, используя 3 проводника вместо одного и называя данные сравнении.
3-битовые значения Полюсом_0 и Полюсом_1 соответственно.
Пространство n-мерного единичного куба 2^n называют про- Физическая реализация
странством Хэмминга; мы будем работать в 3-мерном таком Адекватной физической реализации обратимых вычис-
пространстве. Булевы операции будем производить над сигна- лений создать до сих пор не удалось. Здесь применяются сле-
лами как над соответствующими полюсами. При возникнове- дующие подходы [25]: КМОП технология с пониженным потре-
нии не более чем одиночной ошибки хэммингово расстояние блением энергии; ПЗС-структуры (приборы с зарядовой
(число несовпадающих бит) не превосходит 1. Коррекция связью, CCD, Charge-Coupled Device); оптические вычислитель-
ошибки происходит автоматически в неявном виде. ные устройства (оптические солитоны); квантовые вычисли-
Для обратимой схемотехники это существенно: происхо- тельные устройства.
дит исправление ошибки, а не просто фиксация факта, что Перспективными в плане обратимости эксперты счита-
ошибка произошла. ют стремительно развивающиеся микро/нано-электромеха-
Нетрудно заметить, что предлагаемый подход имеет нические технологии, системы клеточных автоматов. Возмож-
сходство с методом TMR на уровне элементов. Различие за- но, такие автоматы удастся построить из молекул.
ключается в том, что при троировании элемента имеется воу-
тер, который не защищен от ошибок; т. е. один элемент защи- Использование схем из обратимых
щается элементами, каждый из которых также подвержен логических элементов в криптографии
сбоям. При использовании метода кодирования в простран-
ствах Хэмминга эта проблема принципиально отсутствует. Идея использование в криптографии обратимой логики
Дело в том, что воутером в этом подходе выступают последую- и схем из обратимых элементов не нова. Криптографы видят в
щие элементы в схеме, воутером которых в свою очередь, яв- них возможности дополнительной защиты информации от
ляются следующие за ними и т.д. Это обеспечивает исправле- утечек по побочным каналам.
ние любой однократной битовой ошибки элемента. Более Одним из действенных методов современного криптоа-
того, предлагаемый метод имеет существенные преимуще- нализа является так называемая разностная атака по мощно-
ства относительно многократных ошибок. Строго говоря, лю- сти, которая использует информацию об энергопотреблении
бое число кратных ошибок гарантированно исправляется, при криптографического устройства. Поскольку энергия, потре-
условии, что на один расширенный элемент приходится не бляемая устройством, меняется в зависимости от обрабатыва-
больше одного сбоя. емых данных и выполняемых на разных этапах алгоритма ко-
Очевидной платой за столь высокий уровень сбоеустой- манд, её измерение дает возможность определить
чивости являются значительные аппаратные затраты. Крат- характеристики криптографического устройства и даже ис-
ное увеличение числа используемых ключей делают этот ме- пользуемый ключ криптоалгоритма. При этом идеальная реа-
тод вряд ли применимым для всей схемы, оставляя его лизация схемы из обратимых элементов, теоретически, вооб-
целесообразным для наиболее уязвимых элементов и подсхем, ще лишена недостатков, связанных с возможностью утечки
сбоеустойчивость которых критически важна для функциони- информации по соответствующему побочному каналу. Это
рования всей вычислительной системы. объясняет большое внимание специалистов к схемам из обра-
В [26] представлены разработанные авторами данной тимых элементов, реализующим арифметические операции,

Современные
информационные
технологии Том 15, № 3. 2019 ISSN 2411-1473 sitito.cs.msu.ru
и ИТ-образование
THEORETICAL QUESTIONS OF COMPUTER SCIENCE, COMPUTATIONAL MATHEMATICS,
S. I. Gurov, A. E. Zhukov,
D. V. Zakablukov, G. V. Kormakov COMPUTER SCIENCE AND COGNITIVE INFORMATION TECHNOLOGIES 549

поскольку такие операции используются в большинстве асси- нительные (мусорные) линии, значения на которых после вы-
метричных криптосистем. Например, в современных реализа- полнения алгоритма схемой не входят в число битов ответа и
циях системы шифрования с открытым ключом RSA использу- могут быть проигнорированы, однако необходимы для осу-
ются модульные операции сложения и умножения чисел ществления обратного преобразования. Именно незнание зна-
длиной до 3072 бит. чений этих битов (garbage outputs) обусловливает сложность
Исследования в этой области за последнее время ведутся обращения прямого преобразования.
со все возрастающей интенсивностью и различными автора- В [32, 33] предлагается развитие данного взгляда на во-
ми были предложены схемы обратимых полусумматора, и пол- прос однонаправленности. Схема из обратимых элементов, ре-
ного сумматора, триггера, умножителя и др. Среди данных ализующая однонаправленную функцию, должна иметь неко-
схем умножитель имеет особое значение. Ещё в 1994 г. разра- торое количество мусорных линий с неопределёнными
батывалась схема обратимого умножителя, потребляющая на значениями на выходе и, в следствие этого, не является обра-
99% меньше энергии, чем её классическая КМОП-реализация. тимой. Автор (также один из авторов данной статьи) рассма-
В работе [27] предлагается обратимая реализация схем сложе- тривает подход, заключающийся в модификации таких схем с
ния и умножения в поле, как наиболее затратных по энергопо- целью получения на мусорных линиях константных значений,
треблению операций АЛУ криптопроцессора. Также реализо- не зависящих от значений, поданных на вход. Такая процедура
ваны полный сумматор и умножитель Монтгомери. Далее, в называется уборкой мусора и требует введения в схему допол-
работе [28] авторы предлагают реализацию схем обратимых нительных элементов. Количество таких элементов в схемах,
мультиплексоров, регистров и сдвиговых регистров. Это по- реализующих прямое и обратное преобразование, различает-
зволило им реализовать схему умножителя Монтгомери, бо- ся, что и обусловливает различия в сложности вычисления од-
лее выгодную в вопросах элементной сложности, количества нонаправленной функции и обратного ей преобразования, как
мусорных выходов и квантового веса. Вскоре были предложе- представлено на рисунке 4.
ны другие обратимые схемы для умножения, имеющие мень-
шую сложность и количество мусорных бит [29]. Это, однако,
было достигнуто с помощью введения новых обратимых эле-
ментов.
Операцией, обратной к операции возведения в степень
элемента циклической группы, является операция дискретно-
го логарифмирования, играющая ключевую роль в современ-
ной криптографии. В работах [30, 7] рассматривается алго-
ритм дискретного логарифмирования по основанию
примитивного элемента в конечном поле характеристики 2 и
его реализация обратимыми схемами, как с дополнительной
памятью, так и без неё. Доказывается верхняя асимптотиче- Р и с. 4. Обратимая схема с уборкой мусора
ская оценка сложности обратимой схемы, реализующей алго- F i g. 4. Reversible scheme with garbage collection
ритм дискретного логарифмирования и показывается, что
уже при использовании n дополнительных входов (n ‑степень Выводы
расширения поля), сложность таких схем существенно снижа-
ется. Данная оценка асимптотически ниже, чем для произ- Обратимые вычисления – новая активно развивающаяся
вольного булева преобразования, и достигается при асимпто- парадигма вычислений. Она обеспечивает принципиальную
тически меньшем количестве дополнительных входов. возможность выхода из ситуации «теплового проклятия».
Одним из важнейших понятий для современной крипто- Важным является то, что обратимость необходимо поддержи-
графии является однонаправленная функция (one-way вать на всех уровнях вычислительных технологий, от схемо-
function), т. е. функция, вычислить значение которой можно за техники до физической реализации вычислений.
время, полиномиальное от числа битов входа, в то время как В области логического синтеза на сегодняшний день на-
вычислить за полиномиальное время функцию, обратную к стоятельной необходимостью является создание таких обра-
ней не представляется возможным. Это определение, на пер- тимых сбоеустойчивых стандартных элементов, как мульти-
вый взгляд, идёт в разрез с принципами обратимой логики, плексор, демультиплексор, шифратор, дешифратор, сумматор
согласно которым «зеркальная» схема для обратного преобра- и триггеры и др. Разные исследователи предлагают те или
зования должна иметь ту же сложность. Из этого противоре- иные подходы к данной проблеме, но общих методов такого
чия можно сделать вывод, что-либо однонаправленные функ- синтеза сбоеустойчивых схем ещё не разработано.
ции на деле не существуют, либо что их невозможно
реализовать при помощи схем из обратимых элементов. Список использованных источников
В работе [31] исследуется этот вопрос и доказывается,
что такой вывод является ложным, обратимая логика позво- [1] Landauer R. Irreversibility and Heat Generation in the
ляет реализовывать однонаправленные функции, а её исполь- Computing Process //  IBM Journal of Research and
зование не исключает возможность их существования. Авторы Development. 1961. Vol. 5, No. 3. Pp. 183-191. DOI:
показывают, что различие в сложности реализации схем для 10.1147/rd.53.0183
прямой и обратной функций кроется в следующем факте: для [2] Bérut A., Arakelyan A., Petrosyan A.  et al.  Experimental
построения схемы из обратимых элементов, реализующей од- verification of Landauer’s principle linking information and
нонаправленную функцию, необходимо использовать допол- thermodynamics // Nature. 2012. Vol. 483. Pp. 187-189.

Modern
Information
Vol. 15, No. 3. 2019 ISSN 2411-1473 sitito.cs.msu.ru Technologies
and IT-Education
ТЕОРЕТИЧЕСКИЕ ВОПРОСЫ ИНФОРМАТИКИ, ПРИКЛАДНОЙ МАТЕМАТИКИ,
550 КОМПЬЮТЕРНЫХ НАУК И КОГНИТИВНО-ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
С. И. Гуров, А. Е. Жуков,
Д. В. Закаблуков, Г. В. Кормаков

DOI: 10.1038/nature10872 Science / de Bakker J., van Leeuwen J. (eds). Springer, Berlin,
[3] DeBenedictis E. P. Will Moore’s Law Be Sufficient? // SC ‘04: Heidelberg, 1980. Vol. 85. Pp. 632-644. DOI: 10.1007/3-
Proceedings of the 2004 ACM/IEEE Conference on 540-10003-2_104
Supercomputing, Pittsburgh, PA, USA, 2004. Pp. 45-45. DOI: [19] Shende V.V., Prasad A.K., Markov I.L., Hayes, J.P. Synthesis of
10.1109/SC.2004.68 reversible logic circuits // IEEE Transactions on Computer-
[4] Bennett C. H. Logical Reversibility of Computation // IBM Aided Design of Integrated Circuits and Systems. 2003. Vol.
Journal of Research and Development. 1973. Vol. 17, No. 6. 22, No. 6. Pp. 710-722. DOI: 10.1109/TCAD.2003.811448
Pp. 525-532. DOI: 10.1147/rd.176.0525 [20] Маслов Д. Роль обратимости в компьютерных техноло-
[5] Saeedi M., Markov I. L. Synthesis and Optimization of гиях будущего // Компьютерра. 2004. № 14. URL: http://
Reversible Circuits – A Survey // ACM Computing Surveys www.kinnet.ru/cterra/538/33163.html (дата обращения:
(CSUR).  2013. Vol. 45, Issue 2, Article 21. DOI: 16.07.2019).
10.1145/2431211.2431220 [21] Wille R., Große D., Teuber L., Dueck G. W., Drechsler R. RevLib:
[6] Merkle R. C. Reversible electronic logic using switches // An Online Resource for Reversible Functions and Revers-
Nanotechnology. 1993. Vol. 4, No. 1. Pp. 21‑40. DOI: ible Circuits // 38th International Symposium on Multiple
10.1088/0957-4484/4/1/002 Valued Logic (ismvl 2008). Dallas, TX, 2008. Pp. 220-225.
[7] Закаблуков Д. В. Методы синтеза обратимых схем из DOI: 10.1109/ISMVL.2008.43
функциональных элементов NOT, CNOT и 2-CNOT: дисс. [22] Maslov D., Dueck G.W., Scott N. Reversible logic synthesis
… канд. физ.-мат. наук. Москва, 2018. 151 с. benchmarks page. Technical report, 2003. URL: http://
[8] Toffoli T. Computation and construction universality of re- www.cs.unb.ca/profs/gdueck/quantum (дата обращения:
versible cellular automata // Journal of Computer and Sys- 16.07.2019).
tem Sciences. 1977. Vol. 15, Issue 2. Pp. 213-231. DOI: [23] Jain A. Fault Tolerant Synthesis of Reversible Circuits //
10.1016/S0022-0000(77)80007-X arXiv: 1310.5231, 2013.
[9] Feynman R. P. Quantum Mechanical Computers // Optics [24] Bruce J. W., Thornton M. A., Shivakumaraiah L., Kokate P. S., Li
News. 1985. Vol. 11, Issue 2. Pp. 11-20. DOI: 10.1364/ X. Efficient adder circuits based on a conservative reversible
ON.11.2.000011 logic gate // Proceedings IEEE Computer Society Annual
[10] Zhirnov V. V., Cavin R. K., Hutchby J. A., Bourianoff G. Limits to Symposium on VLSI. New Paradigms for VLSI Systems
Binary Logic Switch Scaling - A Gedanken Model // Pro- Design. ISVLSI 2002, Pittsburgh, PA, USA, 2002. Pp. 83-88.
ceedings of the IEEE. 2003. Vol. 91, No. 11. Pp. 1934- DOI: 10.1109/ISVLSI.2002.1016879
1939. DOI: 10.1109/JPROC.2003.818324 [25] Бобков С. Г. Высокопроизводительные вычислитель-
[11] Foster J. N. Bidirectional Programming Languages // Tech- ные системы / под ред. В.Б. Бетелина. М.: НИИСИ РАН,
nical Report MS-CIS-10-08. Department of Computer & In- 2014. 296 с.
formation Science University of Pennsylvania. March 13, [26] Кормаков Г. В., Гуров С. И. Сбоеустойчивые обратимые
2010. схемы и метод их синтеза в пространстве Хэмминга //
[12] Yokoyama T., Glück R. A reversible programming language Прикладная математика и информатика: Труды фа-
and its invertible self-interpreter // Proceedings of the культета Вычислительной математики и кибернетики.
2007 ACM SIGPLAN symposium on Partial evaluation and М.: МАКС Пресс, 2018. № 57. С. 21-35.
semantics-based program manipulation (PEPM ’07). Asso- [27] Thapliyal H., Zwolinski M. Reversible Logic to Cryptographic
ciation for Computing Machinery, New York, NY, USA, 2007. Hardware: A New Paradigm // 2006 49th IEEE Internation-
Pp. 144-153. DOI: 10.1145/1244381.1244404 al Midwest Symposium on Circuits and Systems, San Juan,
[13] Yokoyama T. Reversible Computation and Reversible Pro- 2006. Pp. 342-346. DOI: 10.1109/MWSCAS.2006.382067
gramming Languages // Electronic Notes in Theoretical [28] Noor Muhammed Nayeem, Lafifa Jamal, Hafiz Md. Hasan
Computer Science. 2010. Vol. 253, Issue 6. Pp. 71-81. DOI: Babu. Efficient Reversible Montgomery Multiplier and Its
10.1016/j.entcs.2010.02.007 Application to Hardware Cryptography // Journal of Com-
[14] Fredkin E. F., Toffoli T. Conservative logic // International puter Science. 2009. Vol. 5, Issue 1. Pp. 49-56. DOI: 10.3844/
Journal of Theoretical Physics. 1982. Vol. 21, Issue 3-4. Pp. jcssp.2009.49.56
219-253. DOI: 10.1007/BF01857727 [29] Banerjee A., Pathak A. An analysis of reversible multiplier
[15] Perumalla K. S. Introduction to Reversible Computing. CRC circuits // arXiv: 0907.3357v1 [quant-ph] 20 Jul 2009.
Press, 2014. [30] Жуков А. Е., Закаблуков Д. В., Засорина Ю. В., Чикин А. А.
[16] Непейвода Н. Н. Алгебры как альтернатива численному Вычислительно асимметричные преобразования и схе-
параллелизму // Первый Национальный Суперком- мы из обратимых элементов // Вопросы кибербезопас-
пьютерный Форум (НСКФ-2012).  Переславль-Залес- ности. 2015. № 2(10). С. 49-55. URL: https://elibrary.ru/
ский: ИПС имени А.К. Айламазяна РАН, 2012. item.asp?id=23293952 (дата обращения: 16.07.2019).
[17] Непейвода Н. Н. От численного моделирования к алге- [31] Chau H. F., Lo H.-K. One-way Functions in Reversible
браическому // Параллельные вычисления и задачи Computations // Cryptologia. 1997. Vol. 21, Issue 2. Pp.
управления (РАСО’2012). Шестая международная кон- 139-148. DOI: 10.1080/0161-1197918858
ференция. Том 1. Москва, 2012. С. 93-103. URL: https:// [32] Жуков А. Е. Схемы из обратимых логических элементов:
elibrary.ru/item.asp?id=22032867 (дата обращения: Один подход к изучению однонаправленности // Тру-
16.07.2019). ды III Международной конференции «Информацион-
[18] Toffoli T. Reversible computing // Automata, Languages and ные системы и технологии» (IST’2006). Минск, 2006. с.
Programming. ICALP 1980. Lecture Notes in Computer 85.

Современные
информационные
технологии Том 15, № 3. 2019 ISSN 2411-1473 sitito.cs.msu.ru
и ИТ-образование
THEORETICAL QUESTIONS OF COMPUTER SCIENCE, COMPUTATIONAL MATHEMATICS,
S. I. Gurov, A. E. Zhukov,
D. V. Zakablukov, G. V. Kormakov COMPUTER SCIENCE AND COGNITIVE INFORMATION TECHNOLOGIES 551

[33] Жуков А. Е. Один подход к изучению однонаправленно- Nanotechnology. 1993; 4(1):21‑40. (In Eng.) DOI:
сти // Информационная безопасность. 2018. № 1. C. 40- 10.1088/0957-4484/4/1/002
43. URL: http://lib.itsec.ru/articles2/crypto/odin-podhod- [7] Zakablukov D.V. Synthesis methods for reversible circuits
k-izucheniyu-odnonapravlennosti (дата обращения: from NOT, CNOT, and 2-CNOT functional elements: dis. ...
16.07.2019). Ph.D. (Phys.-Math.). Moscow, 2018. (In Russ.)
[8] Toffoli T. Computation and construction universality of
Поступила 16.07.2019; принята к публикации 25.08.2019; reversible cellular automata. Journal of Computer and
опубликована онлайн 30.09.2019. System Sciences. 1977; 15(2):213-231. (In Eng.) DOI:
10.1016/S0022-0000(77)80007-X
Об авторах: [9] Feynman R.P. Quantum Mechanical Computers. Optics News.
Гуров Сергей Исаевич, старший научный сотрудник, доцент 1985; 11(2):11-20. (In Eng.) DOI: 10.1364/ON.11.2.000011
кафедры математических методов прогнозирования, факуль- [10] Zhirnov V.V., Cavin R.K., Hutchby J.A., Bourianoff G. Limits to
тет вычислительной математики и кибернетики, Московский Binary Logic Switch Scaling - A Gedanken Model. Proceed-
государственный университет имени М.В. Ломоносова ings of the IEEE. 2003; 91(11):1934-1939.  (In Eng.) DOI:
(119991, Россия, г. Москва, ГСП-1, Ленинские горы, д. 1), канди- 10.1109/JPROC.2003.818324
дат физико-математических наук, доцент, ORCID: http://orcid. [11] Foster J.N. Bidirectional Programming Languages. Technical
org/0000-0001-5486-1357, sgur@cs.msu.ru Report MS-CIS-10-08. Department of Computer & Informa-
Жуков Алексей Евгеньевич, доцент кафедры ИУ8 «Информа- tion Science University of Pennsylvania. March 13, 2010. (In
ционная безопасность», факультет информатики и систем Eng.)
управления, Московский государственный технический уни- [12] Yokoyama T., Glück R. A reversible programming language
верситет имени Н. Э. Баумана (национальный исследователь- and its invertible self-interpreter. In: Proceedings of the
ский университет) (105005, Россия, г. Москва, 2-я Бауманская 2007 ACM SIGPLAN symposium on Partial evaluation and se-
ул., д. 5, стр. 1), кандидат физико-математических наук, доцент, mantics-based program manipulation (PEPM ’07). Associa-
ORCID: http://orcid.org/0000-0001-5459-3831, aez_iu8@rambler. tion for Computing Machinery, New York, NY, USA, 2007, pp.
ru 144-153. (In Eng.) DOI: 10.1145/1244381.1244404
Закаблуков Дмитрий Владимирович, программист, ООО [13] Yokoyama T. Reversible Computation and Reversible Pro-
«Алгоритмы и данные» (117218, Россия, г. Москва, ул. Дмитрия gramming Languages. Electronic Notes in Theoretical Com-
Ульянова, д. 42 стр. 1), кандидат физико-математических наук, puter Science. 2010; 253(6):71-81. (In Eng.) DOI: 10.1016/j.
ORCID:  http://orcid.org/0000-0001-6584-6443, dmitriy. entcs.2010.02.007
zakablukov@gmail.com [14] Fredkin E.F., Toffoli T. Conservative logic. International Jour-
Кормаков Георгий Владимирович, студент, факультет вы- nal of Theoretical Physics. 1982; 21(3-4):219-253. (In Eng.)
числительной математики и кибернетики, Московский госу- DOI: 10.1007/BF01857727
дарственный университет имени М.В. Ломоносова (119991, [15] Perumalla K.S. Introduction to Reversible Computing. CRC
Россия, г. Москва, ГСП-1, Ленинские горы, д. 1), ORCID: http:// Press, 2014. (In Eng.)
orcid.org/0000-0002-7728-0392, egor2898@mail.ru [16] Nepejvoda N.N. Algebras as an alternative to numerical par-
allelism. In: NSCF-2012, First National Supercomputing Fo-
Все авторы прочитали и одобрили окончательный вариант rum. Russia, Pereslavl-Zalessky, Program Systems Institute
рукописи. of RAS, November 29-30, 2012.
[17] Nepejvoda N.N. From Numerical Modeling to Algebraic. In:
References The parallel calculations and the tasks of the control.  The
works of the International Conference PACO-2012. Moscow,
[1] Landauer R. Irreversibility and Heat Generation in the Com- vol. 1, 2012, pp. 93-103. Available at: https://elibrary.ru/
puting Proces.  IBM Journal of Research and Development. item.asp?id=22032867 (accessed 16.07.2019). (In Russ.,
1961; 5(3):183-191. (In Eng.) DOI: 10.1147/rd.53.0183 abstract in Eng.)
[2] Bérut A., Arakelyan A., Petrosyan A. et al. Experimental ver- [18] Toffoli T. Reversible computing. In: de Bakker J., van
ification of Landauer’s principle linking information and Leeuwen J. (eds). Automata, Languages and Programming.
thermodynamics. Nature. 2012; 483:187-189. (In Eng.) ICALP 1980. Lecture Notes in Computer Science. Springer,
DOI: 10.1038/nature10872 Berlin, Heidelberg, 1980; 85:632-644. (In Eng.) DOI:
[3] DeBenedictis E.P. Will Moore’s Law Be Sufficient? In: SC ‘04: 10.1007/3-540-10003-2_104
Proceedings of the 2004 ACM/IEEE Conference on Supercom- [19] Shende V.V., Prasad A.K., Markov I.L., Hayes, J.P. Synthesis of
puting, Pittsburgh, PA, USA, 2004, pp. 45-45. (In Eng.) DOI: reversible logic circuits. IEEE Transactions on Computer-
10.1109/SC.2004.68 Aided Design of Integrated Circuits and Systems. 2003;
[4] Bennett C.H. Logical Reversibility of Computation. IBM Jour- 22(6):710-722. (In Eng.) DOI: 10.1109/TCAD.2003.811448
nal of Research and Development. 1973; 17(6):525-532. (In [20] Maslov D. The role of reversibility in computer technology
Eng.) DOI: 10.1147/rd.176.0525 of the future. Computerra. 2004; 14. Available at: http://
[5] Saeedi M., Markov I.L. Synthesis and Optimization of Re- www.kinnet.ru/cterra/538/33163.html (accessed
versible Circuits – A Survey. ACM Computing Surveys 16.07.2019). (In Russ.)
(CSUR).  2013; 45(2):21. (In Eng.) DOI: [21] Wille R., Große D., Teuber L., Dueck G.W., Drechsler R.
10.1145/2431211.2431220 RevLib: An Online Resource for Reversible Functions and
[6] Merkle R.C. Reversible electronic logic using switches. Reversible Circuits. In: 38th International Symposium on

Modern
Information
Vol. 15, No. 3. 2019 ISSN 2411-1473 sitito.cs.msu.ru Technologies
and IT-Education
ТЕОРЕТИЧЕСКИЕ ВОПРОСЫ ИНФОРМАТИКИ, ПРИКЛАДНОЙ МАТЕМАТИКИ,
552 КОМПЬЮТЕРНЫХ НАУК И КОГНИТИВНО-ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
С. И. Гуров, А. Е. Жуков,
Д. В. Закаблуков, Г. В. Кормаков

About the authors:


Multiple Valued Logic (ismvl 2008). Dallas, TX, 2008, pp.
220-225. (In Eng.) DOI: 10.1109/ISMVL.2008.43 Sergey I. Gurov, Senior Researcher, Associate Professor of the De-
[22] Maslov D., Dueck G.W., Scott N. Reversible logic synthesis partment of Mathematical Methods of Forecasting, Faculty of Com-
benchmarks page. Technical report, 2003. Available at: putational Mathematics and Cybernetics, Lomonosov Moscow State
http://www.cs.unb.ca/profs/gdueck/quantum (accessed University (1, Leninskie gory, Moscow 119991, Russia), Ph.D.
16.07.2019). (In Eng.) (Phys.-Math.), Associate Professor, ORCID:  http://orcid.org/0000-
[23] Jain A. Fault Tolerant Synthesis of Reversible Circuits. arXiv: 0001-5486-1357, sgur@cs.msu.ru
1310.5231, 2013. (In Eng.) Aleksey E. Zhukov, Associate Professor of the Department of
[24] Bruce J.W., Thornton M.A., Shivakumaraiah L., Kokate P.S., Li Information Security (IU-8), Faculty of Informatics and Control
X. Efficient adder circuits based on a conservative reversible Systems, Bauman Moscow State Technical University (5/1 2-nd
logic gate. In: Proceedings IEEE Computer Society Annual Baumanskaya Str., Moscow 105005, Russia), Ph.D. (Phys.-Math.),
Symposium on VLSI. New Paradigms for VLSI Systems Design. Associate Professor, ORCID:  http://orcid.org/0000-0001-5459-
ISVLSI 2002. Pittsburgh, PA, USA, 2002, pp. 83-88. (In Eng.) 3831, aez_iu8@rambler.ru
DOI: 10.1109/ISVLSI.2002.1016879 Dmitry V. Zakablukov, programmer, “Algorithms and Data” LLC
[25] Bobkov S.G. Vysokoproizvoditelnye vychislitelnye systemy (42, bld. 1, Dmitriya Ul’yanova Str., Moscow 117218, Russia), Ph.D.
[High-Performance Computer Systems]. Moscow, NIISI RAN (Phys.-Math.), ORCID:  http://orcid.org/0000-0001-6584-6443,
Publ., 2014. (In Russ.) dmitriy.zakablukov@gmail.com
[26] Коrmakov G. V., Gurov S.I. Failure-proof reversible circuits Georgy V. Kormakov, student, Faculty of Computational
and a method for their synthesis in Hamming space. In: Ap- Mathematics and Cybernetics, Lomonosov Moscow State University
plied Mathematics and Informatics. Proceedings of the Facul- (1, Leninskie gory, Moscow 119991, Russia), ORCID: http://orcid.
ty of Computational Mathematics and Cybernetics Lo- org/0000-0002-7728-0392, egor2898@mail.ru
monosov Moscow State University. Moscow, MAKS Press,
2018, no. 57, pp. 21-35. (In Russ.) All authors have read and approved the final manuscript.
[27] Thapliyal H., Zwolinski M. Reversible Logic to Cryptograph-
ic Hardware: A New Paradigm. In: 2006 49th IEEE Interna-
tional Midwest Symposium on Circuits and Systems. San Juan,
2006, pp. 342-346. (In Eng.) DOI: 10.1109/MWS-
CAS.2006.382067
[28] Noor Muhammed Nayeem, Lafifa Jamal, Hafiz Md. Hasan
Babu. Efficient Reversible Montgomery Multiplier and Its
Application to Hardware Cryptography. Journal of Computer
Science. 2009; 5(1):49-56. (In Eng.) DOI: 10.3844/
jcssp.2009.49.56
[29] Banerjee A., Pathak A. An analysis of reversible multiplier
circuits. arXiv: 0907.3357v1 [quant-ph] 20 Jul 2009. (In
Eng.)
[30] Zhukov A., Zakablukov D., Zasorina Yu., Chikin A.
Computationally Asymmetric transformations And
Reversible Logic Circuits. Voprosy kiberbezopasnosti. 2015;
2(10):49-55. Available at: https://elibrary.ru/item.
asp?id=23293952 (accessed 16.07.2019). (In Russ., ab-
stract in Eng.)
[31] Chau H.F., Lo H.-K. One-way Functions in Reversible
Computations. Cryptologia. 1997; 21(2): 139-148. (In Eng.)
DOI: 10.1080/0161-1197918858
[32] Zhukov A. Circuits from reversible logic elements: One
approach to the study of unidirectionality. In: Proceeding of
The Third International Conference on Information Systems
and Technologies (IST’2006). Minsk, 2006, p. 85. (In Russ.)
[33] Zhukov A. One approach to the study of unidirectionality.
Information Security. 2018; 1:40-43. Available at: http://lib.
itsec.ru/articles2/crypto/odin-podhod-k-izucheniyu-
odnonapravlennosti (accessed 16.07.2019). (In Russ.)

Submitted 16.07.2019; revised 25.08.2019;


published online 30.09.2019.

Современные
информационные
технологии Том 15, № 3. 2019 ISSN 2411-1473 sitito.cs.msu.ru
и ИТ-образование

Оценить