[go: up one dir, main page]

RU2652450C1 - Устройство вычисления модулярного произведения Монтгомери - Google Patents

Устройство вычисления модулярного произведения Монтгомери Download PDF

Info

Publication number
RU2652450C1
RU2652450C1 RU2017129526A RU2017129526A RU2652450C1 RU 2652450 C1 RU2652450 C1 RU 2652450C1 RU 2017129526 A RU2017129526 A RU 2017129526A RU 2017129526 A RU2017129526 A RU 2017129526A RU 2652450 C1 RU2652450 C1 RU 2652450C1
Authority
RU
Russia
Prior art keywords
input
output
basis
unit
block
Prior art date
Application number
RU2017129526A
Other languages
English (en)
Inventor
Николай Иванович Червяков
Андрей Алексеевич Коляда
Виктор Андреевич Кучуков
Михаил Григорьевич Бабенко
Original Assignee
федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" filed Critical федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет"
Priority to RU2017129526A priority Critical patent/RU2652450C1/ru
Application granted granted Critical
Publication of RU2652450C1 publication Critical patent/RU2652450C1/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/556Logarithmic or exponential functions
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)

Abstract

Изобретение относится к вычислительной технике. Технический результат заключается в снижении аппаратной сложности за счет применения в устройстве модифицированного метода Монтгомери для вычисления произведения чисел, представленных в системе остаточных классов. Технический результат достигается за счет устройства вычисления модулярного произведения Монтгомери, содержащего вход первого операнда, вход второго операнда, блок умножителей по модулю, вход модуля, регистр хранения модуля, блок хранения параметра F, блок вычисления параметра D по первому базису, блок хранения значений Ri,l, блок хранения значений Ri,j, блок вычисления первой интервально-индексной характеристики, блок вычисления параметра D по второму базису, блок вычисления произведения Монтгомери по второму базису, блок хранения значений Rj,k, блок хранения значений Rj,i, блок вычисления второй интервально-индексной характеристики, блок корректировки второй интервально-индексной характеристики, блок сравнения с константой, мультиплексор, блок вычисления произведения Монтгомери по первому базису, регистр хранения произведения Монтгомери и выход произведения Монтгомери. 1 ил.

Description

Изобретение относится к вычислительной технике, а именно к вычислительным модулярным системам, и предназначено для умножения двух чисел, представленных в системе остаточных классов (СОК, RNS).
Ряд алгоритмов шифрования основан на модулярной арифметике, например алгоритмы Диффи-Хелмана, Эль-Гамаля, RSA. Модулярная арифметика включает в себя множество модульных операций, таких как модулярное сложение, модулярное умножение, модулярное деление и т.д. Например, А ⋅ В mod р = Г является примером модулярного умножения.
Для задач криптографии размеры сомножителей А и В, представленных в двоичной форме, могут достигать более 1024 бит каждый, и, следовательно, результат умножения будет иметь размер более 2048 бит. Нахождение остатка от деления для такого числа является вычислительно сложной задачей.
Один из подходов к повышению эффективности выполнения модулярного умножения предложен в [Montgomery
Figure 00000001
Modular multiplication without trial division // Mathematics of computation. - 1985. - T. 44. - №170. - C. 519-521.] Он заключается в замене нахождения результата по большому модулю p на операции по модулю R, который выбирается таким образом, чтобы операции деления и нахождения остатка были эффективными. Часто R берется в виде степени числа 2. Также должен выполняться ряд условий: R > p, R и p взаимно простые, а также вводятся R-1 и p', удовлетворяющие выражениям 0 < R-1 < p, 0 < p' < R и RR-1 - pp' = 1. Последнее выражение является диафантовым уравнением и может быть решено, например, методом Евклида. Тогда алгоритм нахождения произведения Монтгомери можно описать алгоритмом 1.
Алгоритм 1: Произведение Монтгомери
Функция MontMult(A ⋅ В)
m ← (А ⋅ В mod R) p' mod R
t ← (А ⋅ В + m ⋅ p) / R
Если t≥p то
вернуть t - p
иначе
вернуть t
Использование данного алгоритма в вычислительных устройствах позволяет уменьшить аппаратную сложность. Однако недостатком этого подхода является то, что результатом алгоритма MontMult(A ⋅ В) является не точный результат А ⋅ В mod p, а масштабированный. Для перевода значения t в немасштабированный вид остатка по модулю p, необходимо вычислить t ⋅ R mod p или, что эквивалентно, применить алгоритм
Figure 00000002
Однако представление Монтгомери является полноценным представлением чисел, допускающим выполнение операций над масштабированными значениями, поэтому перевод к немасштабированному виду необходим лишь в конце вычислений.
Одним из способов повышения производительности вычисления произведения Монтгомери является применение СОК. В СОК целое число представляется в виде остатков от деления на набор модулей, а арифметические операции над числами заменяются на операциями над остатками. Выполнение операций происходит параллельно без межразрядных переносов, что позволяет очень быстро реализовать сложение, вычитание и умножение.
Известен способ умножения Монтгомери в СОК (патент US 7027598, опубл. 11.04.2006). Согласно описанному выше алгоритму, способ сводится к выполнению сначала S = MontMult(A ⋅ Q), где Q=(R2 mod p) - предвычисленная константа, а после F = MontMult(B ⋅ S), где F - конечный результат. В данном изобретении при использовании модулярной арифметики применяют два базиса V и W, все модули vi и wi, (i = 1, …, n), которых взаимно простые. Недостатком данного способа является необходимость три раза переводить результаты между базисами, что является вычислительно сложной операцией.
Наиболее близким к предлагаемому устройству, выбранным в качестве прототипа, является устройство для умножения чисел в модулярной системе счисления с плавающей запятой (авторское свидетельство SU №1411741, опубликован 23.07.1988), содержащее тактовый вход устройства, выход мантиссы результата устройства, вход мантиссы первого операнда устройства, вход мантиссы второго операнда устройства, вход порядка первого операнда устройства, вход порядка второго операнда устройства, выход порядка результата устройства, выход признака переполнения устройства, вычитатель порядка произведения, первый элемент задержки, схему сравнения с константой, блок модульных умножителей, блок масштабирования чисел, блок вычисления интервального индекса числа, блок суммирования вычетов сумматора порядков, вспомогательный регистр, второй элемент задержки.
Недостатком данного изобретения являются ограниченные функциональные возможности и большая аппаратная сложность.
Техническим результатом заявляемого изобретения является расширение функциональных возможностей и снижение аппаратной сложности за счет применения в устройстве модифицированного метода Монтгомери для вычисления произведения чисел, представленных в СОК.
Данный технический результат достигается тем, что в устройство вычисления модулярного произведения Монтгомери, содержащее вход первого операнда, вход второго операнда, блок умножителей по модулю, блок вычисления первой интервально-индексной характеристики, блок сравнения с константой, где вход первого операнда подключен к первому входу блока умножителей по модулю, ко второму входу которого подключен вход второго операнда введены вход модуля, регистр хранения модуля, блок хранения параметра F, блок вычисления параметра D по первому базису, блок хранения значений Ri,l, где i=1, …, l, l - количество модулей в первом базисе, блок хранения значений Ri,j, здесь i=1, …, l-1, j = l+1, …, k, k - количество модулей в двух базисах, блок вычисления параметра D по второму базису, блок вычисления произведения Монтгомери по второму базису, блок хранения значений Rj,k, блок хранения значений Rj,i, здесь j=l+1, …, k-1, блок вычисления второй интервально-индексной характеристики, блок корректировки второй интервально-индексной характеристики, мультиплексор, блок вычисления произведения Монтгомери по первому базису, регистр хранения произведения Монтгомери, выход произведения Монтгомери, где первый выход блока умножителей по модулю соединен с первым входом блока вычисления параметра D по первому базису, второй вход которого соединен с выходом блока хранения параметра F, на вход которого с первого выхода регистра хранения модуля поступают значения модуля по первому базису, вход регистра хранения модуля подключен ко входу модуля, а со второго выхода регистра хранения модуля значения модуля по второму базису поступают на третий вход блока вычисления произведения Монтгомери по второму базису, второй вход которого подключен к выходу блока вычисления параметра D по второму базису, второй вход которого соединен с выходом блока вычисления первой интервально-индексной характеристики, вход которого подключен к выходу блока хранения значений Ri,l, вход которого подключен к выходу блока вычисления параметра D по первому базису, который также соединен со входом блока хранения значений Ri,j, выход которого соединен с первым входом блока вычисления параметра D по второму базису, второй выход блока умножителей по модулю соединен с первым входом блока вычисления произведения Монтгомери по второму базису, выход которого одновременно подключен ко входу блока хранения значений Rj,k, ко входу блока хранения значений Rj,i, к первому входу регистра хранения произведения Монтгомери, второй вход которого соединен с выходом блока вычисления произведения Монтгомери по первому базису, первый вход которого соединен с выходом блока хранения значений Rj,i, а второй вход подключен к выходу мультиплексора, управляющий вход которого подключен к выходу блока сравнения с константой, вход которого подключен ко входу блока корректировки второй интервально-индексной характеристики, к выходу блока вычисления второй интервально-индексной характеристики и к первому входу мультиплексора, второй вход которого соединен с выходом блока корректировки второй интервально-индексной характеристики, выход блока хранения значений Rj,k подключен ко входу блока вычисления второй интервально-индексной характеристики, выход регистра хранения произведения Монтгомери соединен с выходом произведения Монтгомери.
Данное устройство вычисления модулярного произведения Монтгомери поясняется фигурой 1, на которой представлен общий вид устройства вычисления модулярного произведения Монтгомери, содержащего вход первого операнда 1, вход второго операнда 2, блок умножителей по модулю 3, вход модуля 4, регистр хранения модуля 5, блок хранения параметра F 6, блок вычисления параметра D по первому базису 7, блок хранения значений Ri,l 8, блок хранения значений Ri,j 9, блок вычисления первой интервально-индексной характеристики 10, блок вычисления параметра D по второму базису 11, блок вычисления произведения Монтгомери по второму базису 12, блок хранения значений Rj,k 13, блок хранения значений Rj,i 14, блок вычисления второй интервально-индексной характеристики 15, блок корректировки второй интервально-индексной характеристики 16, блок сравнения с константой 17, мультиплексор 18, блок вычисления произведения Монтгомери по первому базису 19, регистр хранения произведения Монтгомери 20, выход произведения Монтгомери 21.
Сущность изобретения основана на следующем математическом аппарате. Определяют два базиса СОК М1 и M2 с взаимно простыми модулями mi и количеством модулей
Figure 00000003
в первом базисе и k = 8 всего модулей в обоих базисах, т.е. во втором базисе
Figure 00000004
модуля.
Figure 00000005
Figure 00000006
Тогда объединенный базис
Figure 00000007
Затем вычисляют вспомогательный модуль то, удовлетворяющий соотношению
Figure 00000008
т.е.
Figure 00000009
Подставляя данные значения, получают, что
Figure 00000010
Возьмем m0 = 8.
Вычисляют необходимые для работы константы.
Figure 00000011
Figure 00000012
Figure 00000013
Затем вычисляют следующие остатки:
Figure 00000014
Figure 00000015
и следующие величины
Figure 00000016
где
Figure 00000017
- мультипликативная инверсия числа m по модулю p.
Для работы также необходимо определить значение следующих констант:
Figure 00000018
По формулам (1)-(2) вычисляют константы:
Figure 00000019
Затем находят все необходимые константы:
Figure 00000020
По формулам (3)-(4) находят следующие значения:
Figure 00000021
По формуле (5) определяют:
Figure 00000022
По формулам (6)-(7):
Figure 00000023
По формуле (8) находят:
Figure 00000024
Затем задают модуль p, удовлетворяющий условию
Figure 00000025
В качестве примера значение модуля берется равным
Figure 00000026
Из значения модуля p по первому базису M1 вычисляют параметр
Figure 00000027
В качестве сомножителей берут два операнда, представленных в СОК:
Figure 00000028
где A, В < p, и находят значение
Figure 00000029
Figure 00000030
Затем находят по первому базису параметр
Figure 00000031
Из полученных значений Ci,j, Ci, D по формулам
Figure 00000032
вычисляют следующие значения:
Figure 00000033
Затем по формуле
Figure 00000034
находят первую интервально-индексную характеристику
Figure 00000035
Figure 00000036
По формуле
Figure 00000037
вычисляют значения Ri,j:
Figure 00000038
По формуле
Figure 00000039
находят значение параметра D по второму базису:
Figure 00000040
По формуле
Figure 00000041
находят результат вычисления произведения Монтгомери по второму базису М2:
Figure 00000042
По формулам
Figure 00000043
вычисляют значения:
Figure 00000044
Затем по формуле
Figure 00000045
вычисляют вторую интервально-индексную характеристику
Figure 00000046
Figure 00000047
Затем вторую интервально-индексную характеристику
Figure 00000048
сравнивают с константой m0. Значение второй интервально-индексной характеристики
Figure 00000049
корректируют на основе выражения:
Figure 00000050
Из выражения (18), проверяя условие
Figure 00000051
и т.к. 0 < 8, скорректированную вторую интервально-индексную характеристику
Figure 00000052
принимают равной
Figure 00000053
Далее по формуле
Figure 00000054
находят следующие значения:
Figure 00000055
И, наконец, из выражения
Figure 00000056
находят результат вычисления произведения Монтгомери по первому базису
Figure 00000057
Таким образом, получено значение произведения Монтгомери
Figure 00000058
в СОК.
Figure 00000059
Обратим внимание, что полученное значение является масштабированным и для получения немасштабированного значения нужно выполнить данный алгоритм еще раз со значениями:
Figure 00000060
и
Figure 00000061
Результатом работы алгоритма является число в СОК: (0, 2, 4, 3, 2, 6, 7, 15).
Проверим данное значение:
Figure 00000062
Таким образом, алгоритм работает верно.
Опишем работу устройства на основе данного алгоритма.
На входы первого операнда 1 и второго операнда 2 подаются соответственно значения сомножителей А и В, представленные в СОК, которые поступают на блок умножителей по модулю 3, где вычисляется значение
Figure 00000063
Значения С по первому базису с первого выхода блока умножителей по модулю 3 поступают на первый вход блока вычисления параметра D по первому базису 7, значения С по второму базису со второго выхода блока умножителей по модулю 3 поступают на первый вход блока вычисления произведения Монтгомери по второму базису 12.
Значение модуля p поступает на вход модуля 4, откуда оно записывается в регистр хранения модуля 5. Значения модуля p по первому базису поступают на вход блока хранения параметра F 6, который реализован в виде ПЗУ, на вход которого подается число
Figure 00000064
а на выход поступает параметр
Figure 00000065
Реализация табличным способом в виде ПЗУ позволит избежать вычислительно сложной операции нахождения мультипликативной инверсии. С выхода блока хранения параметра F 6 значение F поступает на второй вход блока вычисления параметра D по первому базису 7, где вычисляется
Figure 00000066
Значение параметра D с выхода блока вычисления параметра D по первому базису 7 одновременно поступает на вход блока хранения значений
Figure 00000067
8 и вход блока хранения значений Ri,j 9.
В блоке хранения значений
Figure 00000067
8 на основе значений
Figure 00000068
табличным способом получают хранящиеся там значения
Figure 00000069
вычисленные по формулам (9)-(10), которые поступают на вход блока вычисления первой интервально-индексной характеристики 10
Figure 00000070
которая вычисляется по формуле (11). Затем значение первой интервально-индексной характеристики
Figure 00000071
с выхода блока вычисления первой интервально-индексной характеристики 10
Figure 00000072
поступает на второй вход блока вычисления параметра D по второму базису 11.
В блоке хранения значений Ri,j 9 на основе значений
Figure 00000073
табличным способом получают хранящиеся там значения
Figure 00000074
Figure 00000075
вычисленные по формуле (12), которые поступают на первый вход блока вычисления параметра D по второму базису 11.
В блоке вычисления параметра D по второму базису 11 по формуле (13) происходит вычисление значений
Figure 00000076
, которые поступают на второй вход блока вычисления произведения Монтгомери по второму базису 12, на третий вход которого со второго выхода регистра хранения модуля 5 поступают значения модуля p по второму базису:
Figure 00000077
В блоке вычисления произведения Монтгомери по второму базису 12 по формуле (14) находят результат вычисления произведения Монтгомери по второму базису
Figure 00000078
который поступает одновременно на первый вход регистра хранения произведения Монтгомери 20, на вход блока хранения значений Rj,i 14 и на вход блока хранения значений Rj,k 13.
В блоке хранения значений Rj,k 13 на основе значений
Figure 00000079
табличным способом получают хранящиеся там значения Rj,k, вычисленные по формулам (15)-(16), которые поступают на вход блока вычисления второй интервально-индексной характеристики 15
Figure 00000080
В блоке вычисления второй интервально-индексной характеристики 15 по формуле (17) происходит вычисление
Figure 00000081
значение которой одновременно поступает на первый вход мультиплексора 18, на вход блока корректировки второй интервально-индексной характеристики 16
Figure 00000082
на вход блока сравнения с константой 17.
В блоке корректировки второй интервально-индексной характеристики 16 по формуле (18) вычисляют
Figure 00000083
которое поступает на второй вход мультиплексора 18.
В блоке сравнения с константой 17 проверяется условие
Figure 00000084
результат которого поступает на управляющий вход мультиплексора 18. На выход мультиплексора 18 поступает значение
Figure 00000085
скорректированное на основе выражения (18), которое затем поступает на второй вход блока вычисления произведения Монтгомери по первому базису 19.
В блоке хранения значений Rj,i 14 по формуле (19) происходит вычисление значений
Figure 00000086
которые поступают на первый вход блока вычисления произведения Монтгомери по первому базису 19.
В блоке вычисления произведения Монтгомери по первому базису 19 по формуле (20) вычисляют значения произведения Монтгомери по первому базису
Figure 00000087
которые поступают на второй вход регистра хранения произведения Монтгомери 20.
На выход регистра хранения произведения Монтгомери 20 поступает значение произведение Монтгомери
Figure 00000088
по обоим базисам.

Claims (1)

  1. Устройство вычисления модулярного произведения Монтгомери, содержащее вход первого операнда, вход второго операнда, блок умножителей по модулю, блок вычисления первой интервально-индексной характеристики, блок сравнения с константой, где вход первого операнда подключен к первому входу блока умножителей по модулю, ко второму входу которого подключен вход второго операнда, отличающееся тем, что в него введены вход модуля, регистр хранения модуля, блок хранения параметра F, блок вычисления параметра D по первому базису, блок хранения значений Ri,l, где i=1, …, l, l - количество модулей в первом базисе, блок хранения значений Ri,j, здесь i=1, …, l-1, j=l+1, …, k, k - количество модулей в двух базисах, блок вычисления параметра D по второму базису, блок вычисления произведения Монтгомери по второму базису, блок хранения значений Rj,k, блок хранения значений Rj,i, здесь j=l+1, …, k-1, блок вычисления второй интервально-индексной характеристики, блок корректировки второй интервально-индексной характеристики, мультиплексор, блок вычисления произведения Монтгомери по первому базису, регистр хранения произведения Монтгомери, выход произведения Монтгомери, где первый выход блока умножителей по модулю соединен с первым входом блока вычисления D по первому базису, второй вход которого соединен с выходом блока хранения параметра F, на вход которого с первого выхода регистра хранения модуля поступают значения модуля по первому базису, вход регистра хранения модуля подключен ко входу модуля, а со второго выхода регистра хранения модуля значения модуля по второму базису поступают на третий вход блока вычисления произведения Монтгомери по второму базису, второй вход которого подключен к выходу блока вычисления параметра D по второму базису, второй вход которого соединен с выходом блока вычисления первой интервально-индексной характеристики, вход которого подключен к выходу блока хранения значений Ri,l, вход которого подключен к выходу блока вычисления параметра D по первому базису, который также соединен со входом блока хранения значений Ri,j, выход которого соединен с первым входом блока вычисления параметра D по второму базису, второй выход блока умножителей по модулю соединен с первым входом блока вычисления произведения Монтгомери по второму базису, выход которого одновременно подключен ко входу блока хранения значений Rj,k, ко входу блока хранения значений Rj,i, к первому входу регистра хранения произведения Монтгомери, второй вход которого соединен с выходом блока вычисления произведения Монтгомери по первому базису, первый вход которого соединен с выходом блока хранения значений Rj,i, а второй вход подключен к выходу мультиплексора, управляющий вход которого подключен к выходу блока сравнения с константой, вход которого подключен ко входу блока корректировки второй интервально-индексной характеристики, к выходу блока вычисления второй интервально-индексной характеристики и к первому входу мультиплексора, второй вход которого соединен с выходом блока корректировки второй интервально-индексной характеристики, выход блока хранения значений Rj,k подключен ко входу блока вычисления второй интервально-индексной характеристики, выход регистра хранения произведения Монтгомери соединен с выходом произведения Монтгомери.
RU2017129526A 2017-08-18 2017-08-18 Устройство вычисления модулярного произведения Монтгомери RU2652450C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2017129526A RU2652450C1 (ru) 2017-08-18 2017-08-18 Устройство вычисления модулярного произведения Монтгомери

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2017129526A RU2652450C1 (ru) 2017-08-18 2017-08-18 Устройство вычисления модулярного произведения Монтгомери

Publications (1)

Publication Number Publication Date
RU2652450C1 true RU2652450C1 (ru) 2018-04-26

Family

ID=62045615

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017129526A RU2652450C1 (ru) 2017-08-18 2017-08-18 Устройство вычисления модулярного произведения Монтгомери

Country Status (1)

Country Link
RU (1) RU2652450C1 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2829089C1 (ru) * 2024-06-04 2024-10-23 федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" Умножитель по модулю

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040189355A1 (en) * 2002-12-02 2004-09-30 Walmsley Simon Robert Temperature based filter for an on-chip system clock
US7191333B1 (en) * 2001-10-25 2007-03-13 Cisco Technology, Inc. Method and apparatus for calculating a multiplicative inverse of an element of a prime field
RU2363979C2 (ru) * 2004-07-23 2009-08-10 Квэлкомм Инкорпорейтед Способ и устройство генератора случайных чисел
RU2595906C1 (ru) * 2015-03-13 2016-08-27 Федеральное государственное бюджетное образовательное учреждение высшего образования "Кубанский государственный технологический университет" (ФГБОУ ВО "КубГТУ") Устройство для вычисления функций

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7191333B1 (en) * 2001-10-25 2007-03-13 Cisco Technology, Inc. Method and apparatus for calculating a multiplicative inverse of an element of a prime field
US20040189355A1 (en) * 2002-12-02 2004-09-30 Walmsley Simon Robert Temperature based filter for an on-chip system clock
US7592829B2 (en) * 2002-12-02 2009-09-22 Silverbrook Research Pty Ltd On-chip storage of secret information as inverse pair
RU2363979C2 (ru) * 2004-07-23 2009-08-10 Квэлкомм Инкорпорейтед Способ и устройство генератора случайных чисел
RU2595906C1 (ru) * 2015-03-13 2016-08-27 Федеральное государственное бюджетное образовательное учреждение высшего образования "Кубанский государственный технологический университет" (ФГБОУ ВО "КубГТУ") Устройство для вычисления функций

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2829089C1 (ru) * 2024-06-04 2024-10-23 федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" Умножитель по модулю

Similar Documents

Publication Publication Date Title
US20130185345A1 (en) Algebraic processor
US8990278B1 (en) Circuitry for computing mathematical functions
KR20150114104A (ko) 비교 연산이 필요없이 최종 모듈러 감소를 하는 몽고메리 곱셈 방법 및 곱셈기
Malik High throughput floating-point dividers implemented in FPGA
Dwivedi An efficient multiplication algorithm using Nikhilam method
EP3121710B1 (en) Computational method, computational device and computer software product for montgomery domain
RU2652450C1 (ru) Устройство вычисления модулярного произведения Монтгомери
EP3226120B1 (en) Non-modular multiplier, method for non-modular multiplication and computational device
KR101128505B1 (ko) 모듈러 곱셈 연산 방법 및 장치
KR102272862B1 (ko) 소수체 나눗셈 연산 장치 및 그 방법
Zyuzina et al. Monotone approximation of a scalar conservation law based on the CABARET scheme in the case of a sign-changing characteristic field
Jaiswal et al. Taylor series based architecture for quadruple precision floating point division
Czyżak et al. FPGA realization of an improved alpha max plus beta min algorithm
Ali et al. A Total norm of τ-adic Non-Adjacent Form Occuring among all Element of Z (τ): An Alternative Formula
US20140052767A1 (en) Apparatus and architecture for general powering computation
Schinianakis et al. GF (2 n) Montgomery multiplication using Polynomial Residue Arithmetic
Ajeena The Graphs for Elliptic Curve Cryptography
Fayed et al. A high-speed, high-radix, processor array architecture for real-time elliptic curve cryptography over GF (2 m)
US20250062890A1 (en) Montgomery multiplier architecture
RU2559772C2 (ru) Устройство для основного деления модулярных чисел в формате системы остаточных классов
KR100392370B1 (ko) 유한체내에서 다단 구조의 역수 계산 장치
EP3239833A1 (en) Calculating trigonometric functions using a four input dot product circuit
KR20200058249A (ko) 꼬인 에드워즈 곡선에 대한 3차 아이소제니 계산 방법
US11157594B2 (en) Matrix multiplication in hardware using modular math
Singh et al. FPGA-Optimized Eight-Term Karatsuba Multiplications for Large Integer Multiplications