Научная статья на тему 'Эффективное сравнение чисел в системе остаточных классов на основе позиционной характеристики'

Эффективное сравнение чисел в системе остаточных классов на основе позиционной характеристики Текст научной статьи по специальности «Математика»

CC BY
372
59
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМА ОСТАТОЧНЫХ КЛАССОВ / НЕМОДУЛЬНЫЕ ОПЕРАЦИИ / СРАВНЕНИЕ ЧИСЕЛ / ПРИБЛИЖЕННЫЙ МЕТОД / RESIDUE NUMBER SYSTEM / NON-MODULAR OPERATION / NUMBER COMPARISON / APPROXIMATE METHOD

Аннотация научной статьи по математике, автор научной работы — Бабенко М.Г., Черных А.Н., Червяков Н.И., Кучуков В.А., Миранда-Лопес В.

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

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

Похожие темы научных работ по математике , автор научной работы — Бабенко М.Г., Черных А.Н., Червяков Н.И., Кучуков В.А., Миранда-Лопес В.

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

Efficient Number Comparison in the Residue Number System based on Positional Characteristics

An important operation for data processing is a number comparison. In Residue Number System (RNS), it consists of two steps: the computation of the positional characteristic of the number in RNS representation and comparison of its positional characteristics in the positional number system. In this paper, we propose a new efficient method to compute the positional characteristic based on the approximate method. The approximate method as a tool to compare numbers does not require resource-consuming non-modular operations that are replaced by fast bit right shift operations and taking the least significant bits. We prove that in case when the dynamic range of RNS is an odd number, the size of the operands is reduced by the size of the module. If one of the RNS moduli is a power of two, then the size of the operands is less than the dynamic range. It makes our method efficient for hardware implementation of cryptographic primitives and digital signal processing.

Текст научной работы на тему «Эффективное сравнение чисел в системе остаточных классов на основе позиционной характеристики»

DOI: 10.15514/ISPRAS-2019-31(2)-13

Эффективное сравнение чисел в системе остаточных классов на основе позиционной

характеристики

1 М.Г. Бабенко, ORCID: 0000-0001-7066-0061 <mgbabenko@ncfu.ru> 2,3,5А.Н. Черных, ORCID: 0000-0001-5029-5212 <chernykh@cicese.mx> 1 Н.И. Червяков, ORCID: 0000-0002-4573-2032 <ncherviakov@ncfu.ru> 1 В.А. Кучуков, ORCID: 0000-0002-1839-2765 <viktor-kuchukov@yandex.ru> 2 В. Миранда-Лопес, ORCID: 0000-0002-1128-6660 <vmiranda@cicese.edu.mx> 2 Р. Ривера-Родригес, ORCID: 0000-0002-1968-8525 <rrivera@cicese.mx> 4 Чж. Ду, ORCID: 0000-0002-8435-1611 <duzh@tsinghua.edu.cn> 1 Северо-Кавказский федеральный университет, 355009, Россия, г. Ставрополь, ул. Пушкина, 1. 2 Центр научных исследований и высшего образования Энсенада, B.C. 22860, Мексика. 3 Институт системного программирования РАН им. В.П. Иванникова, 109004, Россия, г. Москва, ул. А. Солженицына, д. 25. 4 Университет Цинхуа, Район Хайдянь, Пекин, 100084, КНР. 5Южно-Уральский государственный университет, 454080, Россия, г. Челябинск, ул. Ленина, 76.

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

Ключевые слова: система остаточных классов; немодульные операции; сравнение чисел; приближенный метод

Для цитирования: Бабенко М.Г., Черных А.Н., Червяков Н.И., Кучуков В.А., Миранда-Лопес В., Ривера-Родригес Р., Ду Чж. Эффективное сравнение чисел в системе остаточных классов на основе позиционной характеристики. Труды ИСП РАН, том 31, вып. 2, 2019 г., стр. 187-202. DOI: 10.15514/ISPRAS-2019-31(2)-13

Благодарности. Работа выполнена при поддержке стипендии Президента РФ молодым ученым и аспирантам, МК-341.2019.9, СП-2236.2018.5, а также грантов РФФИ 18-07-01224, 18-07-00109.

Efficient Number Comparison in the Residue Number System based

on Positional Characteristics

1 M.G. Babenko, ORCID: 0000-0001-7066-0061 <mgbabenko@ncfu.ru> 2'3'5A.N. Tchernykh, ORCID: 0000-0001-5029-5212 <chernykh@cicese.mx> 1 N.I, Chervyakov, ORCID: 0000-0002-4573-2032 <ncherviakov@ncfu.ru> 1 V.A. Kuchukov, ORCID: 0000-0002-1839- <vkuchukov@ncfu.ru>

2 V. Miranda-Lopez, ORCID: 0000-0002-1128-6660 <vmiranda@cicese.edu.mx>

2R. Rivera-Rodriguez, ORCID: 0000-0002-1968-8525 <rrivera@cicese.mx> 4 Z. Du, ORCID: 0000-0002-8435-1611 <duzh@tsinghua.edu.cn> 1 North-Caucasus Federal University, 1, Pushkin st., Stavropol, 355009, Russia. 2 CICESE Research Center, Ensenada, Baja California, 22860, Mexico.

3 Ivannikov Institute for System Programming of the Russian Academy of Sciences,

25, Alexander Solzhenitsyn st., Moscow, 109004, Russia. 4 Tsinghua University, Haidian District, Beijing, 100084, P. R. China 5 South Ural State University, Chelyabinsk, 76 Lenina St., Chelyabinsk, 454080, Russia.

Abstract. An important operation for data processing is a number comparison. In Residue Number System (RNS), it consists of two steps: the computation of the positional characteristic of the number in RNS representation and comparison of its positional characteristics in the positional number system. In this paper, we propose a new efficient method to compute the positional characteristic based on the approximate method. The approximate method as a tool to compare numbers does not require resource-consuming non-modular operations that are replaced by fast bit right shift operations and taking the least significant bits. We prove that in case when the dynamic range of RNS is an odd number, the size of the operands is reduced by the size of the module. If one of the RNS moduli is a power of two, then the size of the operands is less than the dynamic range. It makes our method efficient for hardware implementation of cryptographic primitives and digital signal processing.

Keywords: residue number system, non-modular operation, number comparison, approximate method

For citation: Babenko M., Tchernykh A., Chervyakov N., Kuchukov V., Miranda-Lopez V., Rivera-Rodriguez R., Du Z. Efficient Number Comparison in the Residue Number System based on Positional Characteristics. Trudy ISP RAN/Proc. ISP RAS, vol. 31, issue 2, 2019. pp. 187-202 (in Russian). DOI: 10.15514/ISPRAS-2019-31(2)-13

Acknowledgements. This work was partly supported by the scholarship of the President of the Russian Federation to young scientists and graduate students МК-341.2019.9, СП-2236.2018.5, and also grants of RFBR 18-07-01224, 18-07-00109

1. Введение

При использовании непозиционных систем счисления, таких как система остаточных классов (СОК), выполнение высокопроизводительных вычислений возможно за счет отсутствия переносов между разрядами. Однако во многих прикладных задачах возникает необходимость сравнения чисел. Данная операция является базовой при реализации большого числа алгоритмов защиты информации (Chang et al., 2015 [1], Chervyakov et al., 2017 [2], Sousa et al., 2016 [3]), цифровой обработки сигналов (Chervyakov et al., 2014) [4], систем беспроводной связи (Ye et al., 2018) [5], облачных вычислений (Tchernykh et al., 2016 [6], Miranda-Lopez et al., 2017 [7], Tchernykh et al., 2017 [8], Babenko et al., 2017 [9]) и т.д.

Из-за непозиционной природы СОК немодульные операции, такие как сравнение чисел, определение знака числа и определение переполнения динамического диапазона, относятся к вычислительно сложным операциям.

В позиционной системе счисления существуют простые алгоритмы сравнения чисел, которые сводятся к их поразрядному сравнению. В СОК простых алгоритмов сравнения чисел нет (Szabo & Tanaka, 1969) [10]. Реализация алгоритма сравнения чисел в СОК состоит из двух этапов. Первый этап - вычисление позиционной характеристики (ПХ) модулярных чисел X = (х1,х2, ...,хп) и Y = (у1,у2, ...,уп). Второй этап - сравнение позиционных характеристик ПХ(Х) и ПХ(У) модулярных чисел в позиционной системе счисления (ПСС).

В качестве ПХ модулярного числа может выступать его представление в ПСС. Для перевода числа из СОК в ПСС можно использовать один из алгоритмов: Китайскую теорему об остатках (КТО), обобщенную позиционную систему счисления (Bi & Gross, 2008) [11], рекурсивный алгоритм сдваивания чисел (nCRT) (Wang, 2000) [12] и их модификации.

Большая вычислительная сложность алгоритмов вычисления искомого числа в двоичной системе счисления сподвигла исследователей на поиск его аппроксимации. С целью уменьшения вычислительной сложности операции сравнения чисел в СОК исследователи предложили в качестве ПХ модулярного числа использовать следующие функции: диагональная функция (Dimauro et al., 1993) [13], функция ядра (Burgess, 2003) [14], фактор-функция (Dimauro et al., 2003) [15], монотонная функция Pirlo (Pirlo and Impedovo, 2013) [16] и др. Предлагаемые алгоритмы вычисления ПХ позволяют уменьшить вычислительную сложность за счет уменьшения размерности операндов при выполнении операции деления с остатком.

Самым эффективным является подход, основанный на приближенном методе (Chervyakov et al., 2017) [17], так как он позволяет заменить операцию деления с остатком на операцию взятия старших бит числа. В статье мы предлагаем оптимизировать приближенный метод для вычисления операции сравнения чисел за счет уменьшения количества операций деления с остатком и улучшенной точности вычисления для корректной работы алгоритма. Далее статья организована следующим образом. В разд. 2 нами рассмотрены основные положения СОК и ее свойства. В разд. 3 рассмотрены методы сравнения чисел, основанные на переводе чисел из СОК в ПСС. В разд. 4 проведен обзор методов сравнения на основе вычисления позиционных характеристик. В разд. 5 исследуется вопрос сравнения чисел в СОК с использованием методов определения знака числа. Разд. 6 посвящен модификации метода сравнения чисел и исследованию его свойств. В заключении представлены сравнение предложенного метода с существующими и основные выводы.

2. Система остаточных классов и ее свойства

Под остатком числа X по модулю pi понимается число xt, удовлетворяющее выражению X = Xi + b ■ pi для некоторого числа Ъ и 0 < xt < pi. Остаток от деления можно записать в терминах теории сравнений xt=X mod pi, или для краткости 1Х1Р1.

СОК определяется набором взаимно простых чисел pi, называемых модулями, т.е. [р1,р2, .-,pn], где НОД(р1,рj) = 1 для i Ф j, n - количество модулей. Любое число X £ [0, Р — 1] может быть представлено в СОК единственным образом как X = (х1,х2, ...,хп), где Xi= X mod pt, а Р = П}=1 Pi - динамический диапазон.

Особенностью СОК является возможность выполнения операций сложения, вычитания и умножения параллельно и независимо по каждому из модулей. Пусть даны два числа X = (х1,х2, ...,хп) и Y = (у1,у2,...,уп), тогда, как показано в (Акушский & Юдицкий, 1968) [20], выполняется

с =х*у= (|Х1 *У1|Р1,...,|хп *у„|рп),

где *= {+, -,х}.

Однако, при выполнении арифметических операций возможна ситуация, когда результат выходит за диапазон С £ [0, Р — 1], т.е. происходит переполнение, и результат будет отличен от ожидаемого на размер диапазона. Для проверки корректности результата в статье (Chervyakov et а1., 2017) [2] разработана схема, основанная на использовании свойств ранга числа. Преимущество предложенного подхода заключается в том, что он позволяет проверить корректность результата, не восстанавливая само число.

Использование метода приближенного вычисления ранга числа позволяет уменьшить вычислительную сложность алгоритмов перевода чисел из СОК в позиционную систему счисления.

3. Методы сравнения чисел, основанные на переводе чисел из СОК в ПСС

В большинстве методов задача сравнения чисел решается через перевод числа из СОК в ПСС и их сравнение.

3.1 Китайская теорема об остатках

Согласно (Omondi & Ргеткитаг, 2007) [21], для перевода числа из СОК в ПСС используется стандартное восстановление с помощью КТО, которую можно записать формулой:

X =

^Pi-XflP-Xt

i=1

(1)

где Рг = —, а 1|Р£ - мультипликативная инверсия Рг по модулю р;. Рассмотрим примеры восстановления числа по формуле (1) и сравнения чисел.

Пусть дана СОК {3,5,7} и числа X = (2,2,3), У = (1,3,4). Динамический диапазон данной системы остаточных классов равен Р = 3- 5- 7 = 105. Вычислим Рг:

Р 105 Р 105 Р 105

Р1 = — = -тг- = 35, Р2 = — = — = 21, Р3 = — = — = 15.

1 Р1 3 2 Р2 5 3 рз 7

Чтобы вычислить мультипликативную инверсию Рг, нужно найти такое х, которое удовлетворяет сравнению х- Р; = 1 mod р;. Таким образом, |Р1-1|3 = 2, |Р2-1|5 = 1, |Р3-1|7 = 1. Таким образом, все необходимые для вычисления (1) данные получены. Найдем значение первого числа:

X = |35 - 2-2 + 21 - 2 - 1 + 15 - 3 - 1|105 = |227|105 = 17.

Найдем значение второго числа:

У = |35 - 1 - 2 + 21 - 3 - 1 + 15 - 4 - 1|105 = |193|105 = 88. Так как 17 < 88, значит X < У.

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

3.2 Обобщенная позиционная система счисления (ОПСС)

ОПСС за счет своих свойств позволяет сравнивать два числа без прямого востановления самого сисла. Число в ОПСС задается кортежем [а1,а2, ...,а„], а основаниями системы 190

р

являются р1, р1р2, р1р2р3, ..., р1,р2,... ,рп-1, где р1,р2,... ,рп - модули СОК. Связь между двоичной системой счисления и ОПСС определяется по следующей формуле:

X = аг + а2Рг + азргр2 + ■■■ + апр1р2 ...рп-1, Так как ОПСС является позиционной системой счисления, то сравнение чисел равносильно сравнению двух кортежей [а1, а2,..., ап] и [Ь±, Ъ2,..., Ьп].

Для перевода числа X = (х1,х2,...,хп) из СОК в [а1,а2,.,ап\ ОПСС используется следующий подход: а1 = х1г

а2 = 1(Х2 — а!) -р-\2 ,

аз = 1(х3—а1 — а2р1) ■ р-1 ■ р-\3 ,

О-П 1

а,

a2Pl

an-iPiP2 -Pn-2) 'Pi1 ' ■■■■P--i\pn•

Эффективная реализация алгоритма сравнения чисел с использованием ОПСС представлена в работе (Ьироу, 2016) [22].

Использование ОПСС позволяет уйти от вычисления остатка от деления на большое число Р, но приводит к использованию большего количества модульных операций по модулям СОК.

3.3 Приближенный метод

Для исключения операции деления с остатком на большое простое число в статье (Van, 1985) [23] предложен приближенный метод, основанный на отображении, переводящем [0, Р) в [0,2). Для этого перепишем (1) в виде

и

= ^РГхг\Р-1\Р1-Р

i=1

(2)

для некоторого неотрицательного целого числа гх

п

f2\ __ ST 2

'Pi

■ ранга числа. Разделив (2) на - получим

X*

={pYx=lnxr\pi

Pi

2rx.

(3)

Таким образом, из (3), ХБ может быть вычислен как сумма дробных чисел с отбрасыванием кратной двум целой части результата. Это может быть получено довольно тривиально, поскольку вычисления выполняются в двоичном виде. Проиллюстрируем это на примере. Пусть дано число (2,2,3), тогда по формуле (3) получим

2

з'2

2

^ + 5

2

2 34

1 +-■ 3 1 = 2-

7 2 105

34 105.

Заметим, что в данном методе слагаемые редко могут быть представлены в виде конечной дроби. Для представления в виде десятичной (двоичной) дроби каждое слагаемое должно быть определенным образом округлено.

Если на каждое слагаемое суммы в формуле (3) выделить N + 1 бит, 1 - на целую часть и N - на дробную, и усекать оставшиеся биты, то ошибка в каждом слагаемом будет удовлетворять неравенству 0 < е^ <2~м. И поскольку таких слагаемых п, то максимальная ошибка при усечении (3) будет е = п2~ь.

Поскольку числа Х5 распределены равномерно на интервале [0, Р), то расстояние между

2

двумя соседними числами равно -.

2

Кроме того, интервал между наибольшим положительным числом и 1 равен - для четного Р

1

и - для нечетного Р. р

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

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

2

п • 2 N < — , для четного Р 1

п • 2 N < —, для нечетного Р,

(4)

(5)

или

N > Р • п] — 1 для четного Р, N > |^2 Р • п] для нечетного Р. Хотя дробное представление и требует примерно на |^og2 п] бит больше, но простота и скорость выполнения операций компенсируют эту избыточность. Данный способ вычисления может быть относительно просто вычислен с использованием памяти, хранящей предвычисленные значения, , на вход которой подается остаток |Х|р., а на выход поступает усеченное значение, а далее усеченные значения складываются по модулю 2, что легко реализуется аппаратно.

Рассмотрим численный пример. Пусть в СОК {3,5,7} заданы два числа 1 = (1,1,1) и 104 = (2,4,6). Для данной системы N > |^2(105 • 3)] = 9. Рассмотрим первое число по слагаемым:

-• 1 • 2

2 3 2

-• 1 • 1

• 1 • 1

4

= -=1.010101010101011.

2 3 2

= -= 0.011001100110011 .

2 5 2

= -= 0.010010010010010.

2 7

1.010101011, 0.011001101, 0.010010010.

Просуммируем по модулю 2 полученные слагаемые и получим 0.000001010. Рассмотрим второе число:

2 8

— •2^2 = —

3 2 3

0.101010101,

2

Г1 2

Г1-

2

= - = 0.101010101010101...

2 3 8

= - = 1.100110011001101... « 1.100110011,

6

2 5 12

= — = 1.101101101101110 ...

2 7

1.101101110.

Просуммируем по модулю 2 полученные слагаемые и получим 1.111110110. Сравнивая полученные значения, увидим что (1,1,1) < (2,4,6).

Данный метод эффективнее, чем восстановление числа с помощью классической Китайской теоремы об остатках, однако возникает вопрос о достаточности или избыточности точности согласно формулам (4)-(5).

Стоит заметить, что использование данного подхода позволяет вычислять позиционную характеристику с применением следующей формулы:

7(Х) =

П

1=1

^ •

(6)

4

Р

N

2

2

где = [2^x1/2^.

С целью уменьшения количества операций в приближенном методе в (СИегууакоу е! а1., 2017) [17] предложено использовать следующую формулу:

ад =

л ¿=1

(7)

где Wi =

2N|P,"

'Pi

Pi

/2n, |х|1-дробная часть числа x, N = [log2(Pp)] и p = -n + ^f=1pi.

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

4. Методы сравнения чисел в СОК с использованием позиционных характеристик

С целью уменьшения вычислительной сложности алгоритма сравнения чисел исследователи (Бтаито е! а1., 1993) [13] предложили использовать монотонную диагональную функцию.

1

4.1 Диагональная функция

Отличным от вышеизложенных методов сравнения чисел является метод на основе специальной диагональной функции, которая определяется как сумма соответствующих коэффициентов Рг и называется методом суммы коэффициентов (Sum of Quotients Technique, SQT), описание которой можно найти, например, в (Dimauro et al., 1993) [ 13]. Диагональная функция представляет собой монотонно возрастающую функцию, на основе которой возможно сравнение чисел. Диагональная функция имеет вид:

— + — + ••• + —

LpJ LP2J LpJ

(8)

Однако формула (8) является мало пригодной на практике. В связи с этим (Бтаиго е! а1., 1993) [13] была предложена аналитическая функция для вычисления диагональной функции:

¿=1

(9)

SQ

где й? = |-р—%, где I = 1.....п, = Рх + ?2 + • + Р„.

Так как диагональная функция (9) является монотонно возрастающей, то она может быть использована для сравнения чисел, т.е. если < Д(У), то X < У. Однако, возможны случаи, когда Д(^) = £(У), и тогда X < У, когда X; < уг, I = 1,... ,п.

Рассмотрим пример сравнения чисел. Возьмем ранее использованные числа X = (2,2,3) и У = (1,3,4). Для начала вычислим значения

= 35 + 21 + 15 = 71,

^ = |-РГ1171 = |-3"1|71=47,

= | Р—1171 = |-5г1|71 = 14, = | Р—1171 = |-7г1|71 = 10. Найдем значение диагональной функции: = |2 • 47 + 2 • 14 + 3 • 10|71 = 10, = |1 • 47 + 2 • 14 + 3 • 10|71 = 34.

х

Т.к. D(X) < D(Y),rnX < Y.

4.2 Функция ядра Акушского

Обобщив результат, полученный фташо et а1., 1993) [13], исследовательская группа (РЫо & Impedovo, 2013) [16] предложила использовать минимальную функцию ядра Акушского без критических ядер. Данный подход является аналогичным методу диагональной функции. Функция РЫо имеет следующий вид:

Pi(X) =

Рп

(10)

Однако формула (10) является мало пригодной на практике, в связи с этим была предложена аналитическая функция для вычисления РЫо функции:

P KX) =

1кГ i=\

(11)

где к" =

Рп

Так как функция РЫо (11) является монотонно возрастающей, то она может быть использована для сравнения чисел, т.е. если Р1(Х) < Р1(У), то X <Y. Однако возможны случаи, когда Р1(Х) = Р1(У), и в этом случае X <Y, когда хп < уп.

Рассмотрим пример сравнения чисел. Возьмем ранее использовавшиеся числа X = (2,2,3) и Y = (1,3,4). Для начала вычислим значения:

Рз = 15,

с"

IP-^PA 2 ■ 35

Рз 7

IP-XP 1 ■21

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

Рз 7

1рз-11р3рз 1 ■ 15

Рз 7

Найдем значение функции Pirlo:

Pi(X) = 12-10+ 2 ■ 3 + 3 ■ 2I15 = 2, Pi(Y) = |1 ■ 10 + 3-3 + 4-2l15 = 12 и поскольку Pi(X) < Pi(Y), то X < Y.

Как показано в работе (Mohan, 2016) [24], функция Pirlo проигрывает Китайской теореме об остатках, так как требует дополнительных сравнений чисел.

х

р

п

1

р

р

V

5. Сравнение чисел на основе алгоритма определения знака числа

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

В СОК с модулями {р1,р2, ■ ■■ ,рп} и динамическим диапазоном Р = ПП=гР1 может быть представлено число X, удовлетворяющее следующим соотношениям:

р — 1 р -1

--< X <-,если Р нечетное,

2 2

Р Р

--< X <--1,если Р четное.

22

Тогда, согласно (Omondi & Ргеткитаг, 2007) [21], если X = (хх,х2, ...,х„), то отрицательным будет число —X = (х^ , х., ..., х.), где х^ является дополнением X; до модуля

. Например, для СОК {3,5,7} и числа X = 17 = (2,2,3) получим —X = (3 — 2,5 — 2,7 3) = (1,3,4). Очевидно, что для перехода от восстановленного числа к отрицательной форме необходимо отнять значение динамического диапазона, т.е. (1,3,4) = 88 = 88 — 105 = —17. Если рассматривать весь динамический диапазон, то числа распределяются следующим образом: 0,1,..., 52, —52, —51,..., —1.

Теперь, когда заданы отрицательные числа, возникает необходимость определения знака числа. Существует ряд подходов к определению знака чисел в СОК: восстановление числа с помощью Китайской теоремы об остатках (КТО), использование обобщенной позиционной системы счисления (ОПСС) и другие.

Проблемой КТО является необходимость нахождения остатка по большому модулю Р, что является довольно трудоемкой задачей, и последующего сравнения с константой. Введем функцию знака 5(Х) для системы с нечетным динамическим диапазоном Р (в случае четного диапазона границей служит -):

р —1

0, если 0 < X <-,

2

Р — 1

1, если-< X < Р.

2

(12)

Рассмотрим на примере сравнение чисел с использованием отрицательных чисел. Пусть необходимо сравнить числа X = 17 = (2,2,3) и У = —8 = (1,2,6) в СОК {3,5,7}. Если X > У, то (X — У) > 0. Найдем разность

X — У = (2 — 1,2 — 2,3 — 6) = (1,0,4). Применим приближенную формулу на основе КТО и будем сравнивать результат с серединой диапазона, т.е. с 1 Все константы предварительно вычислены в предыдущих примерах.

Р

• - Рг

24

3 + 7

_ 5 1 ! = 21 < 2

Очевидно, что поскольку полученное значение меньше середины диапазона, то оно положительное, и значит X > У.

Стоит отметить, что для корректной работы алгоритма сравнения чисел на основе алгоритма определения знака числа требуется удвоение диапазонов СОК, что ведет к дополнительным вычислительным нагрузкам при обработке данных, однако в данном случае необходимо нахождение лишь одной позиционной характеристики числа

6. Модификация алгоритма сравнения чисел в СОК

В качестве позиционной характеристики рассмотрим следующую функцию:

где /с1 =

3

1

N

1 = 1

2

2" |Р

Р

6.1 Сравнение числа в СОК с нечетным диапазоном

Лемма 1. Если N = \log2(n • P — п)], то справедливо следующее равенство:

Ei=1 ki Xi Ei=1 kiXi

2n P

(14)

где k =

Pi

и ki = \P-1\piPi.

Доказательство.

i- 2"ki

Так как ki и kL связаны равенством kL = —

\2"k

i\p

Ei=1 ki Xi

2n

Р п

P^kixi—P72i ^\2Nki\p^i

i=l i-1

то выражение

N k

T,j=1 ki Xi

примет вид: (15)

Подставим 1Yn=i ki Xi = ^Y.n=i ki х^+^в (15), получим:

Ei=1 ki Xi

2N

Ei=1 kiXi

P

+

1 •ST'n

---Г- У \2Nki\Pxi

P • 2N ¿—4=1 iip i

(16)

(17)

1.Р ~ Р7~2м

Из (16) следует, что условие леммы 1 эквивалентно следующему неравенству:

0<—— > \2мк1\Рх1<1

Согласно Китайской теореме об остатках, X удовлетворяет условию 0 < X < Р, следовательно, 0 < ^ < 1. Принимая во внимание, что "{=1\2мк1\Р хь> 0, мы

получаем, что правая часть двойного неравенства (17) верна для всех N. Рассмотрим левую часть двойного неравенства (17). При X = 0 она выполняется для любого N. Пусть X удовлетворяет неравенству 1 < X < Р, тогда левую часть неравенства (17) можно представить в следующем виде:

1 vn

2N^xLi-1\2Nki\pXi

(18)

Так как \2Nki\P<P — 1, то Yd=1\2Nki\P xi < (P — xi, следовательно, для всех

г"к1\р<Р — 1, то "=12 1 < X < Р справедливо следующее неравенство: 1 Vй

7> \2мк1\рХ1<п-(Р — 1) (19)

X ¿—4=1

Из (18) и (19) следует, что если N = \log2(—п + п■Р)], то левая часть неравенства (17) выполняется, следовательно, равенство (14) выполняется. Лемма доказана. Теорема 1. Если N = \\og2(—п + п • Р)], то функция [(X) - строго возрастающая. Доказательство.

Для того чтобы [(X) являлась строго возрастающей функцией, необходимо и достаточно, чтобы для всех целых чисел 1 < X < Р — 1 выполнялось следующее условие:

[(.X)- [(X — 1) > 0 (20)

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

Так как \X\2n = X — • 2м, то функцию [(X) можно представить в следующем виде:

п -

"{ = 1 к1 Х1

f(X)= ^kiXi —

(21)

Принимая во внимание, что Yn=1 ki (xi — \xi — 1\Pi) = Tii=1 ki — £х;=о kL pi , то получим, что

2" \P

V

N

2

n

К Р1

/(X)- /(X - 1) =

( £1=1 кь хь кь 1х1 11Р1

( 2" 2"

Так как условие леммы 1 выполнено, то

£1 = 1 кь хь £П=1к1 1хь

2" 2"

^¿=1 к1х1

Р

£1=1к11х1 11Р1

Р

(22)

(23)

Используя теорему из работы (Chervyakov, et. а1., 2017) [2] и лемму 1, формула (23) примет вид:

£1=1 к1Х1 £1 = 1к11х1 11Р1

Р Р

Р

^1=1 кь

2"

/ 1Р'Г11ш

(24)

Подставив (24) в (22), получим:

/(X)- /(X -1) =

К Рь

2"

Так как = №=М

и 1Р-11р1^2"-к1р1

(25)

■ то для всех I = 1,п

формула (25) примет вид:

/(X)- /(X -1) =

ИР

N х<=0

(26)

Так как > 0, то из (26) следует, что /(X)- /(X - 1) > 0, и, следовательно,

функция /(X) строго возрастает. Теорема доказана.

Из теоремы 1 следует, что введенная функция является строго монотонной, следовательно, ее можно использовать в качестве позиционной характеристики для сравнения чисел в СОК.

Предложенный подход позволяет уменьшить вычислительную сложность алгоритма сравнения чисел в СОК. Эффективная аппаратная реализация операции 1х ■ позволяет уменьшить логическую схему при аппаратной реализации по сравнению с классическим умножением двух чисел х ■ у.

6.2 Сравнение чисел в СОК, если один из модулей равен степени двойки

Так как модули СОК являются взаимно простыми числами, следовательно, четный модуль только один. Значит, без потери общности будем считать, что п-ый модуль имеет вид рп = 2Ь. Так как рп = 2ь, то используя свойство СОК, числа X, У могут быть представлены в следующем виде:

X = А^2Ь +хп,У = В •2Ь + уп. (27)

Для сравнения чисел сравним А и В. Если А< В, то X < У. В случае, когда А = В, X < У при условии, что хп < уп.

Так как п-ый модуль СОК четный, следовательно, модули р1,р2,... ,рп-1 являются нечетными числами, тогда Рп - нечетное число. Коэффициенты А и В удовлетворяют

197

п

N

2

Х = 0

=1

п

1

п

N

Р

N

2

Р

=1

неравествам: 0 < A < Pn и 0 < В < Pn. Вычислив значения А и В в СОК по модулям p1,p2,., Pn-1, мы можем сравнить их, используя введеную функцию f(X). Таким образом, алгоритм сравнение чисел X и Y будет иметь вид: Алгоритм. Алгоритм сравнения чисел X и Y.

RNS

Input: X—> (х1,х2, ...,xn),

RNS

Y > (У1,У2.....Уп),

Р1.Р2.....Pn-1,Pn,

1

для всех ¿ = 1,п-1,

kt = [2N • l1/PHPi/Pi\ для всех ¿ = 1,п-1, где N = flog2(-n + пРп)] и Pl* = Pn/pi для

всех i = 1,п — 1.

Output: X > Y- 40', X < Y-'01', X = Y - '00'

1. For i ■■= 1 to n — 1 do:

1.1. ai ■= lxi — xnlp.; \\Parallel processing

1.2. bi ■= lyi — ynlPi; \\Parallel processing

2. For i ■= 1 to n — 1 do:

2.1. ai ■= lai • Iilp ; \\ Parallel processing

2.2. bi ■= lbi • Iilp ; \\Parallel processing

3. SA = 0; SB = 0;

4.

4.1.

4.2.

5.

6. 7.

For i := 1 to n — 1 do:

= ^ + ki • ail2N;

SB = ISB + krbil2N;

IF Sa>Sb then return '10'

IF Sa <SB then return '01'

IF an > bn then return '10'

IF an < bn then return '01' return '01'

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

9.

End.

Количество операций, необходимых для получения результата у данного алгоритма равно: умножений -4п, вычитаний - 2п, сложений - п.

В таблице 1 представлены свойства методов вычисления позиционной характеристики. Предложенный метод позволяет уменьшить размер операндов по сравнению с алгоритмами из работ (Chervyakov et al., 2017[17], Van, 1985 [23]).

Табл. 1. Свойства алгоритмов сравнения чисел Table 1. Properties of number comparison methods

Метод м Количество операций 'х' Размер модуля Вид модуля

КТО (Omondi, 2007) 4п \П-^Рп\ P

Диагональная функция (Pirlo, 1993) 2п |(п — 1) • log2Pn+log2п\ SQ

ОПСС (Isupov, 2016) п—1 п• 2 \log2 Pn] Pi

Приближенный метод, (Van, 1985) P|| = п 2п \l0g2(Pп)] 2n

Приближенный метод, (Chervyakov, 2017) 2п \l0g2(Pp)] 2n

Наш метод 2п \^2(—п+п^)] 2n

Приближенный метод, (Van, 1985) IPI2 п 2п \^2^п)] — 1 2n

остаточных классов на основе позиционной характеристики. Труды ИСПРАН, том 31, вып. 2, 2019 г., стр. 187-202

Приближенный метод, (Chervyakov, 2017) = 0 2n \\og2(Pp)] - 1 2n

Наш метод 4n \\Qg2(-n + П ■ Pn)] 2n

8. Заключение

В статье рассмотрены методы сравнения чисел, представленных в СОК, что особенно важно в задачах цифровой обработки сигналов.

Из табл. 1 видно, что самым быстрым является предложенный модифицированный приближенный метод. Худший результат показал алгоритм, основанный на ОПСС. Оставшиеся методы показали схожие результаты и их применение зависит непосредственно от решаемой задачи. Диагональная функция требует нахождения остатка по меньшему модулю, однако в случае равенства значений диагональных функций требуется дополнительное уточнение, что занимает дополнительное время.

Список литературы/References

[1]. Chang C.H., Molahosseini A.S., Zarandi A.A.E., Tay T.F. Residue number systems: A new paradigm to datapath optimization for low-power and high-performance digital signal processing applications. IEEE circuits and systems magazine, vol. 15? № 4, 2015, pp. 26-44.

[2]. Chervyakov N., Babenko M., Tchernykh A., Kucherov N., Miranda-Lopez V., Cortes-Mendoza J. M. AR-RRNS: Configurable reliable distributed data storage systems for Internet of Things to ensure security. Future Generation Computer Systems, vol. 92, 2019, pp. 1080-1092.

[3]. Sousa L., Antao S., Martins P. Combining residue arithmetic to design efficient cryptographic circuits and systems. IEEE Circuits and Systems Magazine, vol. 16, № 4, 2016, pp. 6-32.

[4]. Chervyakov N.I., Lyakhov P.A., Babenko M. Digital filtering of images in a residue number system using finite-field wavelets. Automatic Control and Computer Sciences, vol. 48, № 3, 2014, pp. 180-189.

[5]. Ye R., Boukerche A., Wang H., Zhou X., Yan B. RESIDENT: a reliable residue number system-based data transmission mechanism for wireless sensor networks. Wireless Networks, vol. 24, № 2, 2018, pp. 597-610.

[6]. Tchernykh A., Schwiegelsohn U., Talbi E. G., Babenko M. Towards understanding uncertainty in cloud computing with risks of confidentiality, integrity, and availability. Journal of Computational Science, 2016 (in Press), DOI: 10.1016/j.jocs.2016.11.011.

[7]. Miranda-Lopez V., Tchernykh A., Cortes-Mendoza J.M., Babenko M., Radchenko G., Nesmachnow S., Du Z. Experimental Analysis of Secret Sharing Schemes for Cloud Storage Based on RNS. In Proc. of the Latin American High Performance Computing Conference, 2017, pp. 370-383.

[8]. Tchernykh A., Babenko M., Chervyakov N., Cortes-Mendoza J. M., Kucherov N., Miranda-Lopez V., Deryabin M., Dvoryaninova I., Radchenko G. Towards mitigating uncertainty of data security breaches and collusion in cloud computing. In Proc. of the 28th International Workshop on Database and Expert Systems Applications (DEXA), 2017, pp. 137-141.

[9]. Babenko M., Chervyakov N., Tchernykh A., Kucherov N., Shabalina M., Vashchenko I., Radchenko G., & Murga D. Unfairness correction in P2P grids based on residue number system of a special form. In Proc. of the 28th International Workshop on Database and Expert Systems Applications (DEXA), 2017, pp. 147-151.

[10]. Szabo N.S., Tanaka R.I. Residue arithmetic and its applications to computer technology. N.Y., McGraw-Hill, 1967, 236 p.

[11]. Bi S., Gross W.J. The mixed-radix Chinese remainder theorem and its applications to residue comparison. IEEE Transactions on Computers, vol. 57. № 12, 2008, pp. 1624-1632.

[12]. Wang Y. Residue-to-binary converters based on new Chinese remainder theorems. IEEE Transactions on Circuits and Systems II: Analog and Digital Signal Processing, vol. 47, № 3, 2000, pp. 197-205.

[13]. Dimauro G., Impedovo S., Pirlo G. A new technique for fast number comparison in the residue number system. IEEE transactions on computers, vol. 42, № 5, 1993, pp. 608-612.

[14]. Burgess N. Scaling an RNS number using the core function. In Proc. of the 16th IEEE Symposium on Computer Arithmetic, 2003. pp. 262-269.

[15]. Dimauro G., Impedovo S., Modugno R., Pirlo G., Stefanelli R. Residue-to-binary conversion by the" quotient function". IEEE Transactions on Circuits and Systems II: Analog and Digital Signal Processing. vol. 50. № 8, 2003, pp. 488-493.

[16]. Pirlo G., Impedovo D. A new class of monotone functions of the residue number system. International Journal of Mathematical Models and Methods in Applied Sciences, vol. 7. № 9, 2013, pp. 803-809.

[17]. Chervyakov N.I., Molahosseini A.S., Lyakhov P.A., Babenko M.G., Deryabin M.A. Residue-to-binary conversion for general moduli sets based on approximate Chinese remainder theorem. International Journal of Computer Mathematics, vol. 94. № 9, 2017, pp.1833-1849.

[18]. Patronik P., Piestrak S.J. Design of Reverse Converters for General RNS Moduli Sets [2k,2n - 1,2n +

1,2n+ 1 — 1} and {2k,2n — 1,2n + 1,2n-1 — 1} (n even). IEEE Transactions on Circuits and Systems I: Regular Papers, vol. 61, № 6, 2014, pp.1687-1700.

[19]. Phatak D.S., Houston S.D. New distributed algorithms for fast sign detection in residue number systems (RNS). Journal of Parallel and Distributed Computing, vol. 97, issue C, 2016, pp. 78-95.

[20]. Акушский И.Я., Юдицкий Д.И. Машинная арифметика в остаточных классах. М., Советское радио, 1968, 440 c. / Akushsky I. Ya., Yuditsky D. I. Computer arithmetic in residual classes. Moscow, Soviet Radio, 1968, 440 p. (in Russian).

[21]. Omondi A.R., Premkumar B. Residue number systems: theory and implementation. L., Imperial College Press, 2007, 296 p.

[22]. Isupov K. An Algorithm for Magnitude Comparison in RNS based on Mixed-Radix Conversion II. International Journal of Computer Applications, vol. 141, № 5, 2016.

[23]. Van Vu T. Efficient implementations of the Chinese remainder theorem for sign detection and residue decoding. IEEE Transactions on Computers, vol. 100, № 7, 1985, pp. 646-651.

[24]. Mohan P.A. RNS to binary conversion using diagonal function and Pirlo and Impedovo monotonic function. Circuits, Systems, and Signal Processing, vol. 35, № 3, 2016, pp. 1063-1076.

Информация об авторах / Information about authors

Михаил Григорьевич БАБЕНКО окончил Ставропольский государственный университет в 2007 году. Защитил кандидатскую диссертацию в 2011 г. Преподаватель кафедры прикладной математики и математического моделирования Северо-Кавказского федерального университета. Сфера научных интересов: алгебраические структуры в полях Галуа, модулярная арифметика, нейрокомпьютерные технологии, цифровая обработка сигналов, криптографические методы защиты информации.

Mikhail Grigorievitch BABENKO graduated from Stavropol State University in 2007. He defended his thesis in 2011. Currently he is a lecturer of the Department of Applied Mathematics and Mathematical Modeling of the North Caucasus Federal University. Research interests: Algebraic structures in the Galois fields, modular arithmetic, neurocomputer technologies, digital signal processing, cryptographic methods for protecting information.

Андрей Николаевич ЧЕРНЫХ получил степень кандидата наук в Институте точной механики и вычислительной техники РАН. В настоящее время он является профессором Центра научных исследований и высшего образования в Энсенаде, Нижняя Калифорния, Мексика. В научном плане его интересуют многоцелевая оптимизация распределения ресурсов в облачной среде, проблемы безопасности, планирования, эвристики и метаэвристики, энергосберегающие алгоритмы, интернет вещей и т.д.

Andrei TCHERNYKH received his PhD degree at the Institute of Precision Mechanics and Computer Engineering of the Russian Academy of Sciences. Now he is holding a full professor position in computer science at CICESE Research Center, Ensenada, Baja California, Mexico. He is interesting in grid and cloud research addressing multi-objective resource optimization, both, theoretical and experimental, security, uncertainty, scheduling, heuristics and meta-heuristics, adaptive resource allocation, energy-aware algorithms and Internet of Things.

Николай Иванович ЧЕРВЯКОВ - доктор технических наук, профессор, заведующий кафедрой прикладной математики и информатики Северо-Кавказского федерального

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

Nikolay Ivanovitch CHERVYAKOV - Doctor of Technical Sciences, Professor, Head of the Department of Applied Mathematics and Computer Science of the North Caucasus Federal University since 2004. Research interests: algebraic structures in the Galois fields, modular arithmetic, neurocomputer technologies, digital signal processing, cryptographic methods for protecting information.

Виктор Андреевич КУЧУКОВ является специалистом отдела научно-технической информации, наукометрии и экспортного контроля Управления науки и технологий СевероКавказского федерального университета. Его научные интересы включают распознавание образов, системы остаточных классов.

Viktor Andreevich KUCHUKOV is a specialist of the department of scientific and technical information, scientometrics and export control of the Department of Science and Technology of the North Caucasus Federal University. His research interests include pattern recognition, residual class systems.

Ванесса МИРАНДА-ЛОПЕС получила степень бакалавра в области электроники в Технологическом институте Соноры, Мексика в 2006 году и степень магистра в области компьютерных наук в исследовательском центре CICESE в 2010 году. Ее интересы включают облачные вычисления, сетевое планирование, большие данные, безопасность и электронный дизайн.

Vanessa MIRANDA-LÓPEZ received a Bachelor degree in electronics engineering from Technological Institute of Sonora, Mexico in 2006, and Master degree in computer sciences from CICESE Research Center in 2010. Her interests include cloud computing, grid scheduling, big data, security and electronic design.

Рауль РИВЕРА РОДРИ1 ЕС получил степень доктора философии в Автономном университете Нижней Калифорнии, Британская Колумбия, Мексика. В настоящее время он является директором отделения телематики в исследовательском центре CICESE, B.C., Мексика. Научные интересы включают сети связи для HPC и BigData.

Raúl RIVERA RODRÍGUEZ obtained a PhD degree from Autonomous University of Baja California, B.C., Mexico. Currently he is a Director of the Telematics Division at CICESE Research Center, B.C., Mexico. Research interests include communications networks for HPC and BigData.

Чжихуэй ДУ получил степень PhD в области компьютерных наук и технологий в Пекинском университете, КНР в 1998 г. В настоящее время он работает доцентом на факультете Компьютерных наук и технологий университета Цинхуа, КНР. В число научных интересов входят параллельное программирование, высокопроизводительные / облачные / энергосберегающие вычисления и анализ больших данных.

Zhihui DU received the degree of PhD in Computer Science & Technology from Peking University, China in 1998. Currently he is the associate professor at the Department of Computer Science and Technology of Tsinghua University, China. His research interests include parallel computing, high performance/cloud/energy efficient computing, and Big Data analysis.

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