RU2019121710A - Электронное вычислительное устройство, выполненное с возможностью вычисления произведения целых чисел - Google Patents

Электронное вычислительное устройство, выполненное с возможностью вычисления произведения целых чисел Download PDF

Info

Publication number
RU2019121710A
RU2019121710A RU2019121710A RU2019121710A RU2019121710A RU 2019121710 A RU2019121710 A RU 2019121710A RU 2019121710 A RU2019121710 A RU 2019121710A RU 2019121710 A RU2019121710 A RU 2019121710A RU 2019121710 A RU2019121710 A RU 2019121710A
Authority
RU
Russia
Prior art keywords
residues
sequence
modules
multiplication
module
Prior art date
Application number
RU2019121710A
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 Конинклейке Филипс Н.В.
Publication of RU2019121710A publication Critical patent/RU2019121710A/ru

Links

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/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/729Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic using representation by a residue number system
    • 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/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/723Modular exponentiation

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Claims (23)

1. Электронное вычислительное устройство (100; 200), выполненное с возможностью вычисления произведения целых чисел, причем устройство содержит:
- хранилище (110), выполненное с возможностью хранения целых чисел (210, 220) в представлении многослойной системы остаточных классов (RNS), причем представление многослойной RNS имеет по меньшей мере RNS верхнего слоя и RNS нижнего слоя, причем RNS верхнего слоя является системой остаточных классов для последовательности нескольких верхних модулей (
Figure 00000001
), причем RNS нижнего слоя является системой остаточных классов для последовательности нескольких нижних модулей (
Figure 00000002
), причем целое число (
Figure 00000003
) представляется в хранилище посредством последовательности нескольких верхних вычетов (
Figure 00000004
; 211, 221) по модулю последовательности верхних модулей (
Figure 00000001
), причем верхние вычеты (
Figure 00000005
; 210.2, 220.2) для по меньшей мере одного конкретного верхнего модуля (
Figure 00000006
) дополнительно представляются в хранилище посредством последовательности нескольких нижних вычетов (
Figure 00000007
; 212, 222) верхнего вычета (
Figure 00000008
) по модулю последовательности нижних модулей (
Figure 00000002
), при этом по меньшей мере один из нескольких нижних модулей (
Figure 00000002
) не делит модуль из нескольких верхних модулей (
Figure 00000006
),
- схему (120) процессора выполненную с возможностью вычисления произведения первого целого числа (
Figure 00000009
; 210) и второго целого числа (
Figure 00000010
; 220), причем первое и второе целое число хранится в хранилище в соответствии с представлением многослойной RNS, причем процессор сконфигурирован c по меньшей мере нижней процедурой (131) умножения и верхней процедурой (132) умножения, причем
- нижняя процедура умножения вычисляет произведение двух дополнительно представленных верхних вычетов (
Figure 00000011
), соответствующих одному и тому же верхнему модулю (
Figure 00000006
), по модулю упомянутого верхнего модуля (
Figure 00000006
),
- верхняя процедура умножения вычисляет произведение первого и второго целого числа посредством покомпонентного умножения верхних вычетов первого целого числа (
Figure 00000012
) и соответствующих верхних вычетов второго целого числа (
Figure 00000013
) по модулю соответствующего модуля (
Figure 00000001
), при этом верхняя процедура умножения вызывает нижнюю процедуру умножения для умножения верхних вычетов, которые являются дополнительно представленными, при этом верхняя процедура умножения выполнена с возможностью приема верхних вычетов (
Figure 00000014
), которые меньше предварительно определенного коэффициента расширения, умноженного на соответствующий модуль (
Figure 00000015
), и выполнена с возможностью создания верхних вычетов (
Figure 00000016
) произведения принятых верхних вычетов (
Figure 00000017
), которые меньше предварительно определенного коэффициента расширения, умноженного на соответствующий модуль (
Figure 00000018
).
2. Вычислительное устройство по п. 1, в котором верхняя процедура умножения дополнительно выполнена с возможностью вычисления произведения первого (
Figure 00000009
) и второго (
Figure 00000010
) целого числа по модулю дополнительного модуля (
Figure 00000019
).
3. Вычислительное устройство по п. 1 или 2, в котором коэффициент расширения составляет 2 или больше 2.
4. Вычислительное устройство по любому из предшествующих пунктов, в котором нижняя процедура умножения выполнена с возможностью вычисления арифметического произведения (
Figure 00000020
) двух дополнительно представленных верхних вычетов по модулю верхнего модуля (
Figure 00000006
) посредством покомпонентного умножения нижних вычетов первого верхнего вычета и соответствующих нижних вычетов второго верхнего вычета с последующим модульным сокращением по модулю соответствующего модуля (
Figure 00000006
).
5. Вычислительное устройство по п. 4, в котором модульное сокращение содержит вычисление деления
Figure 00000021
с округлением в меньшую сторону арифметического произведения (
Figure 00000020
) и соответствующего модуля (
Figure 00000006
).
6. Вычислительное устройство по любому из предшествующих пунктов, содержащее хранилище таблиц, при этом нижняя процедура умножения содержит поиск произведения нижних вычетов в поисковой таблице результатов модульного умножения, хранящейся в хранилище таблиц, и при этом поисковая таблица для нижних модулей по меньшей мере такая же большая, как наибольший нижний модуль.
7. Вычислительное устройство по любому из пп. 1-6, в котором дополнительно представленный верхний вычет (
Figure 00000022
) представляется в представлении (
Figure 00000009
) Монтгомери, причем представление (
Figure 00000009
) Монтгомери является упомянутым верхним вычетом (
Figure 00000022
), умноженным на предварительно определенную константу (
Figure 00000023
) Монтгомери, по модулю соответствующего модуля (
Figure 00000024
), причем нижняя процедура умножения выполнена с возможностью приема двух дополнительно представленных верхних вычетов в представлении Монтгомери в качестве двух последовательностей нижних вычетов, и выполнена с возможностью создания произведения в представлении Монтгомери.
8. Вычислительное устройство по п. 7, в котором нижняя процедура умножения выполнена с возможностью вычисления целого числа
Figure 00000025
, удовлетворяющего
Figure 00000026
, для некоторого
Figure 00000027
, при этом
Figure 00000028
, и вычисления
Figure 00000029
.
9. Вычислительное устройство по п. 8, в котором RNS нижнего слоя является расширенной системой остаточных классов, при этом последовательность из нескольких нижних модулей (
Figure 00000030
) является последовательностью основания, а расширенная RNS имеет последовательность расширения из дополнительных нескольких нижних модулей (
Figure 00000031
), причем константа (
Figure 00000023
) Монтгомери является произведением последовательности основания из нескольких нижних модулей, причем вычисление
Figure 00000032
выполняется для последовательности расширения с последующим расширением основания для последовательности основания.
10. Вычислительное устройство по п. 9, в котором сначала вычеты для
Figure 00000032
вычисляются в отношении дополнительных нескольких нижних модулей (
Figure 00000031
), и впоследствии вычеты для
Figure 00000027
в отношении последовательности основания нижних модулей (
Figure 00000030
) вычисляются посредством расширения основания.
11. Вычислительное устройство по одному из предшествующих пунктов, в котором нижняя процедура умножения выполнена с возможностью вычисления модульной суммы-произведений (
Figure 00000033
) по модулю верхнего модуля (
Figure 00000006
) посредством сначала вычисления суммы произведений (
Figure 00000034
; с
Figure 00000035
) путем покомпонентного умножения и сложения нижних вычетов, представляющих верхние вычеты (
Figure 00000036
) и (
Figure 00000037
) с последующим итоговым модульным сокращением по модулю соответствующего модуля (
Figure 00000006
).
12. Вычислительное устройство по любому из предшествующих пунктов, в котором последовательность верхних модулей содержит избыточный модуль для расширения основания, причем избыточный модуль является произведением одного или более нижних модулей последовательности нескольких нижних модулей.
13. Вычислительное устройство по любому из предшествующих пунктов, в котором последовательность констант
Figure 00000038
определяется для модулей
Figure 00000039
по меньшей мере для верхнего слоя так, что вычет
Figure 00000040
представляется в качестве псевдо-вычета
Figure 00000041
так, что
Figure 00000042
, при этом по меньшей мере один
Figure 00000043
отличается от
Figure 00000044
.
14. Электронный способ вычисления (400) для вычисления произведения целых чисел, причем способ, содержащий этапы, на которых:
- сохраняют (410) целые числа (210, 220) в представлении многослойной системы остаточных классов (RNS), причем представление многослойной RNS имеет по меньшей мере RNS верхнего слоя и RNS нижнего слоя, причем RNS верхнего слоя является системой остаточных классов для последовательности нескольких верхних модулей (
Figure 00000001
), причем RNS нижнего слоя является системой остаточных классов для последовательности нескольких нижних модулей (
Figure 00000002
), причем целое число (
Figure 00000003
) представляется в хранилище посредством последовательности нескольких верхних вычетов (
Figure 00000004
; 211, 221) по модулю последовательности верхних модулей (
Figure 00000001
), причем верхние вычеты (
Figure 00000005
; 210.2, 220.2) для по меньшей мере одного конкретного верхнего модуля (
Figure 00000006
) дополнительно представляются в хранилище посредством последовательности нескольких нижних вычетов (
Figure 00000007
; 212, 222) верхнего вычета (
Figure 00000008
) по модулю последовательности нижних модулей (
Figure 00000002
), при этом по меньшей мере один из нескольких нижних модулей (
Figure 00000002
) не делит модуль из нескольких верхних модулей (
Figure 00000006
),
- вычисляют (420) произведение первого целого числа (
Figure 00000009
; 210) и второго целого числа (
Figure 00000010
; 220), причем первое и второе целое число хранится в хранилище в соответствии с представлением многослойной RNS, причем этап, на котором вычисляют, содержит по меньшей мере нижнюю часть (424) умножения и верхнюю часть (422) умножения, причем
- нижняя часть умножения вычисляет (424) произведение двух дополнительно представленных верхних вычетов (
Figure 00000011
), соответствующих одному и тому же верхнему модулю (
Figure 00000006
), по модулю упомянутого верхнего модуля (
Figure 00000006
),
- верхняя часть умножения вычисляет (422) произведение первого и второго целого числа посредством покомпонентного умножения верхних вычетов первого целого числа (
Figure 00000012
) и соответствующих верхних вычетов второго целого числа (
Figure 00000013
) по модулю соответствующего модуля (
Figure 00000001
), при этом верхняя процедура умножения вызывает нижнюю процедуру умножения для умножения верхних вычетов, которые являются дополнительно представленными, при этом верхняя часть умножения выполнена с возможностью приема верхних вычетов (
Figure 00000014
), которые меньше предварительно определенного коэффициента расширения, умноженного на соответствующий модуль (
Figure 00000015
), и выполнена с возможностью создания верхних вычетов (
Figure 00000016
) произведения принятых верхних вычетов (
Figure 00000017
), которые меньше предварительно определенного коэффициента расширения, умноженного на соответствующий модуль (
Figure 00000018
).
15. Машиночитаемый носитель (1000) информации, содержащий временные или не временные данные (1020), представляющие собой инструкции, чтобы предписывать процессорной системе выполнять способ по п. 14.
RU2019121710A 2016-12-12 2017-12-07 Электронное вычислительное устройство, выполненное с возможностью вычисления произведения целых чисел RU2019121710A (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP16203457 2016-12-12
EP16203457.3 2016-12-12
PCT/EP2017/081900 WO2018108705A1 (en) 2016-12-12 2017-12-07 An electronic calculating device arranged to calculate the product of integers

Publications (1)

Publication Number Publication Date
RU2019121710A true RU2019121710A (ru) 2021-01-12

Family

ID=57629248

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2019121710A RU2019121710A (ru) 2016-12-12 2017-12-07 Электронное вычислительное устройство, выполненное с возможностью вычисления произведения целых чисел

Country Status (7)

Country Link
US (1) US20200097257A1 (ru)
EP (1) EP3552091A1 (ru)
JP (1) JP2020515928A (ru)
CN (1) CN110088727A (ru)
BR (1) BR112019011598A2 (ru)
RU (1) RU2019121710A (ru)
WO (1) WO2018108705A1 (ru)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210306006A1 (en) 2019-09-23 2021-09-30 SK Hynix Inc. Processing-in-memory (pim) devices
CN111901110B (zh) * 2020-08-06 2023-05-23 中电科网络安全科技股份有限公司 白盒化模幂结果获取方法、装置、设备及存储介质
JP6973677B1 (ja) * 2021-03-22 2021-12-01 富士電機株式会社 逆数算出方法、装置、およびプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2008774C (en) * 1989-01-30 1999-10-05 Hikaru Morita Modular multiplication method and the system for processing data
DE69828150T2 (de) * 1998-03-30 2005-12-15 Rainbow Technologies Inc., Irvine Vom Rechenaufwand her effizientes modulares Multiplikationsverfahren und Gerät
JP3542278B2 (ja) * 1998-06-25 2004-07-14 株式会社東芝 モンゴメリ・リダクション装置及び記録媒体
DE10219158B4 (de) * 2002-04-29 2004-12-09 Infineon Technologies Ag Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation
CN101276268B (zh) * 2008-05-23 2010-06-02 武汉飞思科技有限公司 一种计算整数的模数除法的余数的方法
EP2936727A1 (en) 2012-12-21 2015-10-28 Koninklijke Philips N.V. Computing device comprising a table network
CN104919750B (zh) 2012-12-21 2017-06-06 皇家飞利浦有限公司 计算关于函数‑输入值的数据函数的计算设备和方法
US9652200B2 (en) * 2015-02-18 2017-05-16 Nxp B.V. Modular multiplication using look-up tables

Also Published As

Publication number Publication date
CN110088727A (zh) 2019-08-02
JP2020515928A (ja) 2020-05-28
US20200097257A1 (en) 2020-03-26
EP3552091A1 (en) 2019-10-16
BR112019011598A2 (pt) 2019-10-22
WO2018108705A1 (en) 2018-06-21

Similar Documents

Publication Publication Date Title
RU2019121710A (ru) Электронное вычислительное устройство, выполненное с возможностью вычисления произведения целых чисел
JP2009229615A5 (ru)
US9767074B2 (en) Method and device for fast fourier transform
US9798520B2 (en) Division operation apparatus and method of the same
US8868633B2 (en) Method and circuitry for square root determination
EP3200068A1 (en) Parallel computing method and terminal
KR101835065B1 (ko) 몽고메리 도메인을 위한 계산 방법, 계산 장치 및 컴퓨터 소프트웨어 제품
JP5147085B2 (ja) 演算方法及び演算装置
JP2722858B2 (ja) 開平演算装置
JP2677969B2 (ja) 直交変換装置
RU2017124498A (ru) Электронное устройство формирования
RU2017126055A (ru) Электронное вычислительное устройство
US9411713B2 (en) Method for supporting product design and product design support apparatus
KR20100132728A (ko) 모듈러 연산 방법 및 이를 위한 장치
RU2559772C2 (ru) Устройство для основного деления модулярных чисел в формате системы остаточных классов
CN114080603A (zh) 基于Winograd算法的矩阵相乘方法及装置
JP3875183B2 (ja) 演算装置
JP2015505655A (ja) インターリーバーインデックス生成装置及び方法
US20170316230A1 (en) Extended use of logarithm and exponent instructions
CN114743512B (zh) 屏幕像素点的背光值确定方法、装置、设备及介质
CN103440228B (zh) 一种基于融合乘加指令加速fft计算的方法
RU2652450C1 (ru) Устройство вычисления модулярного произведения Монтгомери
JP7230925B2 (ja) 疎行列標準化装置、疎行列標準化方法および疎行列標準化プログラム
EP2738670A2 (en) Method of performing multiplication operation in binary extension finite field
KR101541157B1 (ko) 이진 확장 유한체 곱셈 연산을 수행하는 방법

Legal Events

Date Code Title Description
FA93 Acknowledgement of application withdrawn (no request for examination)

Effective date: 20201208