RU2019121710A - Электронное вычислительное устройство, выполненное с возможностью вычисления произведения целых чисел - Google Patents
Электронное вычислительное устройство, выполненное с возможностью вычисления произведения целых чисел Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/729—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/723—Modular 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 верхнего слоя является системой остаточных классов для последовательности нескольких верхних модулей (), причем RNS нижнего слоя является системой остаточных классов для последовательности нескольких нижних модулей (), причем целое число () представляется в хранилище посредством последовательности нескольких верхних вычетов (; 211, 221) по модулю последовательности верхних модулей (), причем верхние вычеты (; 210.2, 220.2) для по меньшей мере одного конкретного верхнего модуля () дополнительно представляются в хранилище посредством последовательности нескольких нижних вычетов (; 212, 222) верхнего вычета () по модулю последовательности нижних модулей (), при этом по меньшей мере один из нескольких нижних модулей () не делит модуль из нескольких верхних модулей (),
- схему (120) процессора выполненную с возможностью вычисления произведения первого целого числа (; 210) и второго целого числа (; 220), причем первое и второе целое число хранится в хранилище в соответствии с представлением многослойной RNS, причем процессор сконфигурирован c по меньшей мере нижней процедурой (131) умножения и верхней процедурой (132) умножения, причем
- верхняя процедура умножения вычисляет произведение первого и второго целого числа посредством покомпонентного умножения верхних вычетов первого целого числа () и соответствующих верхних вычетов второго целого числа () по модулю соответствующего модуля (), при этом верхняя процедура умножения вызывает нижнюю процедуру умножения для умножения верхних вычетов, которые являются дополнительно представленными, при этом верхняя процедура умножения выполнена с возможностью приема верхних вычетов (), которые меньше предварительно определенного коэффициента расширения, умноженного на соответствующий модуль (), и выполнена с возможностью создания верхних вычетов () произведения принятых верхних вычетов (), которые меньше предварительно определенного коэффициента расширения, умноженного на соответствующий модуль ().
3. Вычислительное устройство по п. 1 или 2, в котором коэффициент расширения составляет 2 или больше 2.
4. Вычислительное устройство по любому из предшествующих пунктов, в котором нижняя процедура умножения выполнена с возможностью вычисления арифметического произведения () двух дополнительно представленных верхних вычетов по модулю верхнего модуля () посредством покомпонентного умножения нижних вычетов первого верхнего вычета и соответствующих нижних вычетов второго верхнего вычета с последующим модульным сокращением по модулю соответствующего модуля ().
6. Вычислительное устройство по любому из предшествующих пунктов, содержащее хранилище таблиц, при этом нижняя процедура умножения содержит поиск произведения нижних вычетов в поисковой таблице результатов модульного умножения, хранящейся в хранилище таблиц, и при этом поисковая таблица для нижних модулей по меньшей мере такая же большая, как наибольший нижний модуль.
7. Вычислительное устройство по любому из пп. 1-6, в котором дополнительно представленный верхний вычет () представляется в представлении () Монтгомери, причем представление () Монтгомери является упомянутым верхним вычетом (), умноженным на предварительно определенную константу () Монтгомери, по модулю соответствующего модуля (), причем нижняя процедура умножения выполнена с возможностью приема двух дополнительно представленных верхних вычетов в представлении Монтгомери в качестве двух последовательностей нижних вычетов, и выполнена с возможностью создания произведения в представлении Монтгомери.
9. Вычислительное устройство по п. 8, в котором RNS нижнего слоя является расширенной системой остаточных классов, при этом последовательность из нескольких нижних модулей () является последовательностью основания, а расширенная RNS имеет последовательность расширения из дополнительных нескольких нижних модулей (), причем константа () Монтгомери является произведением последовательности основания из нескольких нижних модулей, причем вычисление выполняется для последовательности расширения с последующим расширением основания для последовательности основания.
11. Вычислительное устройство по одному из предшествующих пунктов, в котором нижняя процедура умножения выполнена с возможностью вычисления модульной суммы-произведений () по модулю верхнего модуля () посредством сначала вычисления суммы произведений (; с ) путем покомпонентного умножения и сложения нижних вычетов, представляющих верхние вычеты () и () с последующим итоговым модульным сокращением по модулю соответствующего модуля ().
12. Вычислительное устройство по любому из предшествующих пунктов, в котором последовательность верхних модулей содержит избыточный модуль для расширения основания, причем избыточный модуль является произведением одного или более нижних модулей последовательности нескольких нижних модулей.
14. Электронный способ вычисления (400) для вычисления произведения целых чисел, причем способ, содержащий этапы, на которых:
- сохраняют (410) целые числа (210, 220) в представлении многослойной системы остаточных классов (RNS), причем представление многослойной RNS имеет по меньшей мере RNS верхнего слоя и RNS нижнего слоя, причем RNS верхнего слоя является системой остаточных классов для последовательности нескольких верхних модулей (), причем RNS нижнего слоя является системой остаточных классов для последовательности нескольких нижних модулей (), причем целое число () представляется в хранилище посредством последовательности нескольких верхних вычетов (; 211, 221) по модулю последовательности верхних модулей (), причем верхние вычеты (; 210.2, 220.2) для по меньшей мере одного конкретного верхнего модуля () дополнительно представляются в хранилище посредством последовательности нескольких нижних вычетов (; 212, 222) верхнего вычета () по модулю последовательности нижних модулей (), при этом по меньшей мере один из нескольких нижних модулей () не делит модуль из нескольких верхних модулей (),
- вычисляют (420) произведение первого целого числа (; 210) и второго целого числа (; 220), причем первое и второе целое число хранится в хранилище в соответствии с представлением многослойной RNS, причем этап, на котором вычисляют, содержит по меньшей мере нижнюю часть (424) умножения и верхнюю часть (422) умножения, причем
- верхняя часть умножения вычисляет (422) произведение первого и второго целого числа посредством покомпонентного умножения верхних вычетов первого целого числа () и соответствующих верхних вычетов второго целого числа () по модулю соответствующего модуля (), при этом верхняя процедура умножения вызывает нижнюю процедуру умножения для умножения верхних вычетов, которые являются дополнительно представленными, при этом верхняя часть умножения выполнена с возможностью приема верхних вычетов (), которые меньше предварительно определенного коэффициента расширения, умноженного на соответствующий модуль (), и выполнена с возможностью создания верхних вычетов () произведения принятых верхних вычетов (), которые меньше предварительно определенного коэффициента расширения, умноженного на соответствующий модуль ().
15. Машиночитаемый носитель (1000) информации, содержащий временные или не временные данные (1020), представляющие собой инструкции, чтобы предписывать процессорной системе выполнять способ по п. 14.
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)
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)
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 |
-
2017
- 2017-12-07 RU RU2019121710A patent/RU2019121710A/ru not_active Application Discontinuation
- 2017-12-07 WO PCT/EP2017/081900 patent/WO2018108705A1/en active Application Filing
- 2017-12-07 CN CN201780076770.6A patent/CN110088727A/zh active Pending
- 2017-12-07 JP JP2019531221A patent/JP2020515928A/ja active Pending
- 2017-12-07 BR BR112019011598A patent/BR112019011598A2/pt not_active Application Discontinuation
- 2017-12-07 EP EP17826158.2A patent/EP3552091A1/en not_active Withdrawn
- 2017-12-07 US US16/468,124 patent/US20200097257A1/en not_active Abandoned
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 |