KR20050077001A - 다배장 데이터 곱합 연산 처리 회로 및 몽고메리 곱합잉여 연산 회로 - Google Patents
다배장 데이터 곱합 연산 처리 회로 및 몽고메리 곱합잉여 연산 회로 Download PDFInfo
- Publication number
- KR20050077001A KR20050077001A KR1020040063153A KR20040063153A KR20050077001A KR 20050077001 A KR20050077001 A KR 20050077001A KR 1020040063153 A KR1020040063153 A KR 1020040063153A KR 20040063153 A KR20040063153 A KR 20040063153A KR 20050077001 A KR20050077001 A KR 20050077001A
- Authority
- KR
- South Korea
- Prior art keywords
- multiplication
- data
- memory
- mac
- bits
- Prior art date
Links
- 238000009825 accumulation Methods 0.000 title 2
- 238000012545 processing Methods 0.000 claims abstract description 49
- 238000004364 calculation method Methods 0.000 claims description 100
- 238000012546 transfer Methods 0.000 abstract description 10
- 238000000034 method Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 18
- 239000000047 product Substances 0.000 description 12
- 230000014509 gene expression Effects 0.000 description 10
- 101100385237 Mus musculus Creg1 gene Proteins 0.000 description 9
- 101150070878 Ereg gene Proteins 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 238000003672 processing method Methods 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 241000283690 Bos taurus Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 101150111571 mreg gene Proteins 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
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/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
-
- 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/728—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 Montgomery reduction
-
- 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/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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/5443—Sum of products
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
Abstract
Description
Claims (7)
- 다배장 데이터(多倍長: multiple-word)에 대하여 곱합 연산 처리를 하는 다배장 데이터 곱합 연산 처리 회로에 있어서,상기 다배장 데이터를 기억하는 메모리와,비트폭이 다른 승수와 피승수로 상기 곱합 연산 처리를 하는 곱합 연산기와,상기 비트폭에 따라서 상기 곱합 연산기에 있어서의 1클록 시간에서의 소비 데이터량과 생성 데이터량의 총합이 상기 메모리에 있어서의 상기 1클록 시간에서의 전송 가능 데이터량이 되도록 상기 다배장 데이터 중 상기 1클록 시간에서 상기 곱합 연산기에 공급하는 데이터량을 조정하는 복수의 레지스터를 갖는 것을 특징으로 하는 다배장 데이터 곱합 연산 처리 회로.
- 제1항에 있어서, 상기 메모리는 싱글포트 메모리인 것을 특징으로 하는 다배장 데이터 곱합 연산 처리 회로.
- 제1항에 있어서, 상기 곱합 연산기에 있어서의 자릿수 올림 가산기를 복수로 분할한 것을 특징으로 하는 다배장 데이터 곱합 연산 처리 회로.
- 메모리에 기억된 다배장 데이터를 입력하여 몽고메리 곱합 잉여 연산을 하는 몽고메리 곱합 잉여 연산 회로에 있어서,비트폭이 다른 승수와 피승수로 곱합 연산 처리를 하는 곱합 연산기와, 상기 비트폭에 따라서 상기 곱합 연산기에 있어서의 1클록 시간에서의 소비 데이터량과 생성 데이터량의 총합이 상기 메모리에 있어서의 상기 1클록 시간에서의 전송 가능 데이터량이 되도록 상기 다배장 데이터 중 상기 1클록 시간에서 상기 곱합 연산기에 공급하는 데이터량을 조정한 복수의 레지스터로 이루어지는 곱합 연산 처리부를 하나, 또는 직렬로 접속한 복수 개를 갖는 것을 특징으로 하는 몽고메리 곱합 잉여 연산 회로.
- 제4항에 있어서, 상기 메모리는 싱글포트 메모리인 것을 특징으로 하는 몽고메리 곱합 잉여 연산 회로.
- 제4항에 있어서, 상기 곱합 연산기는 상기 곱합 연산기에 있어서의 자릿수 올림 가산기를 복수로 분할한 것을 특징으로 하는 몽고메리 곱합 잉여 연산 회로.
- 제4항에 있어서, 상기 몽고메리 곱합 잉여 연산에서 이용하는 데이터의 상기 메모리 상에서의 선두 어드레스를 기억하는 포인터 기억 레지스터를 더욱 가지고, 외부의 제어부에 의해 상기 데이터의 상기 메모리 상에서의 입출력처로서 지정된 데이터 영역명을 바꾸지 않고서 상기 포인터 기억 레지스터에 기억된 상기 선두 어드레스를 교체함으로써 상기 제어부에서 참조 가능한 상기 데이터를 교체하는 것을 특징으로 하는 몽고메리 곱합 잉여 연산 회로.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2004-00017205 | 2004-01-26 | ||
JP2004017205A JP4408712B2 (ja) | 2004-01-26 | 2004-01-26 | 多倍長データ積和演算処理回路及びモンゴメリ積和剰余演算回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050077001A true KR20050077001A (ko) | 2005-07-29 |
KR100682354B1 KR100682354B1 (ko) | 2007-02-15 |
Family
ID=34650749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040063153A KR100682354B1 (ko) | 2004-01-26 | 2004-08-11 | 다배장 데이터 곱합 연산 처리 회로 및 몽고메리 곱합잉여 연산 회로 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8078661B2 (ko) |
EP (1) | EP1560110A1 (ko) |
JP (1) | JP4408712B2 (ko) |
KR (1) | KR100682354B1 (ko) |
CN (1) | CN100504758C (ko) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4544870B2 (ja) * | 2004-01-26 | 2010-09-15 | 富士通セミコンダクター株式会社 | 演算回路装置 |
WO2007080652A1 (ja) * | 2006-01-13 | 2007-07-19 | Fujitsu Limited | モンゴメリ法用乗算剰余計算装置 |
EP2138990B1 (en) * | 2007-03-19 | 2013-05-15 | Fujitsu Limited | Built-in device with fault attack countermeasure function |
US8028015B2 (en) * | 2007-08-10 | 2011-09-27 | Inside Contactless S.A. | Method and system for large number multiplication |
JP5097138B2 (ja) * | 2009-01-15 | 2012-12-12 | シャープ株式会社 | モンゴメリ乗算のための演算回路及び暗号回路 |
WO2011036746A1 (ja) * | 2009-09-24 | 2011-03-31 | 株式会社東芝 | 演算装置 |
US8478969B2 (en) * | 2010-09-24 | 2013-07-02 | Intel Corporation | Performing a multiply-multiply-accumulate instruction |
US9343124B1 (en) * | 2011-07-29 | 2016-05-17 | Altera Corporation | Method and system for operating a multi-port memory system |
US9081657B2 (en) * | 2011-10-13 | 2015-07-14 | Conexant Systems, Inc. | Apparatus and method for abstract memory addressing |
US9384168B2 (en) | 2013-06-11 | 2016-07-05 | Analog Devices Global | Vector matrix product accelerator for microprocessor integration |
US10003460B2 (en) * | 2013-10-10 | 2018-06-19 | Nippon Telegraph And Telephone Corporation | Secret quotient transfer device, secret bit decomposition device, secret modulus conversion device, secret quotient transfer method, secret bit decomposition method, secret modulus conversion method, and programs therefor |
EP3087470B1 (en) * | 2013-12-28 | 2020-03-25 | Intel Corporation | Rsa algorithm acceleration processors, methods, systems, and instructions |
US11262982B2 (en) * | 2018-07-23 | 2022-03-01 | SK Hynix Inc. | Computation circuit including a plurality of processing elements coupled to a common accumulator, a computation device and a system including the same |
JP7129857B2 (ja) * | 2018-09-07 | 2022-09-02 | ルネサスエレクトロニクス株式会社 | 積和演算装置、積和演算方法、及びシステム |
CN109669666B (zh) * | 2018-11-06 | 2022-12-16 | 清华大学 | 乘累加处理器 |
CN109669670B (zh) * | 2018-12-26 | 2020-09-22 | 贵州华芯通半导体技术有限公司 | 用于蒙哥马利模乘中的不均等分块的数据处理方法及装置 |
WO2020159800A1 (en) * | 2019-01-28 | 2020-08-06 | Rambus Inc. | Memory-integrated neural network |
CN109933304B (zh) * | 2019-03-20 | 2022-06-21 | 成都三零嘉微电子有限公司 | 适用于国密sm2p256v1算法的快速蒙哥马利模乘器运算优化方法 |
DE102020102453A1 (de) * | 2020-01-31 | 2021-08-05 | Infineon Technologies Ag | Integrierte Schaltung zum modularen Multiplizieren von zwei ganzen Zahlen für ein kryptographisches Verfahren und Verfahren zur kryptographischen Verarbeitung von Daten basierend auf modularer Multiplikation |
WO2021217034A1 (en) * | 2020-04-23 | 2021-10-28 | University Of Southern California | Design of high-performance and scalable montgomery modular multiplier circuits |
CN113076061A (zh) * | 2021-03-18 | 2021-07-06 | 四川和芯微电子股份有限公司 | 单ram多模块数据的缓存方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG52303A1 (en) * | 1993-12-20 | 1998-09-28 | Motorola Inc | Arithmetic engine |
GB2291515B (en) * | 1994-07-14 | 1998-11-18 | Advanced Risc Mach Ltd | Data processing using multiply-accumulate instructions |
US5787025A (en) * | 1996-02-28 | 1998-07-28 | Atmel Corporation | Method and system for performing arithmetic operations with single or double precision |
US5941940A (en) * | 1997-06-30 | 1999-08-24 | Lucent Technologies Inc. | Digital signal processor architecture optimized for performing fast Fourier Transforms |
US5847981A (en) * | 1997-09-04 | 1998-12-08 | Motorola, Inc. | Multiply and accumulate circuit |
US6085210A (en) | 1998-01-22 | 2000-07-04 | Philips Semiconductor, Inc. | High-speed modular exponentiator and multiplier |
US6484194B1 (en) | 1998-06-17 | 2002-11-19 | Texas Instruments Incorporated | Low cost multiplier block with chain capability |
KR100322740B1 (ko) * | 1998-07-10 | 2002-03-08 | 윤종용 | 모듈러 연산장치 및 그 방법 |
KR100325430B1 (ko) * | 1999-10-11 | 2002-02-25 | 윤종용 | 상이한 워드 길이의 산술연산을 수행하는 데이터 처리장치 및 그 방법 |
US6557022B1 (en) * | 2000-02-26 | 2003-04-29 | Qualcomm, Incorporated | Digital signal processor with coupled multiply-accumulate units |
US6957242B1 (en) * | 2000-10-26 | 2005-10-18 | Cypress Semiconductor Corp. | Noninterfering multiply-MAC (multiply accumulate) circuit |
JP3709553B2 (ja) * | 2000-12-19 | 2005-10-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 演算回路および演算方法 |
-
2004
- 2004-01-26 JP JP2004017205A patent/JP4408712B2/ja not_active Expired - Fee Related
- 2004-07-21 EP EP04017172A patent/EP1560110A1/en not_active Ceased
- 2004-07-26 US US10/898,178 patent/US8078661B2/en not_active Expired - Fee Related
- 2004-08-11 KR KR1020040063153A patent/KR100682354B1/ko active IP Right Grant
- 2004-08-13 CN CNB2004100581735A patent/CN100504758C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20050165876A1 (en) | 2005-07-28 |
CN1648853A (zh) | 2005-08-03 |
EP1560110A1 (en) | 2005-08-03 |
CN100504758C (zh) | 2009-06-24 |
US8078661B2 (en) | 2011-12-13 |
JP2005209095A (ja) | 2005-08-04 |
KR100682354B1 (ko) | 2007-02-15 |
JP4408712B2 (ja) | 2010-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100682354B1 (ko) | 다배장 데이터 곱합 연산 처리 회로 및 몽고메리 곱합잉여 연산 회로 | |
JP4870932B2 (ja) | 多重精度を支援する拡張型モンゴメリモジュラ掛け算器 | |
CN1503937B (zh) | 扩展精度累加器 | |
JP5266354B2 (ja) | ガロア拡大体・積算/積算加算・積和演算装置 | |
US6671709B2 (en) | Multiplier cell and method of computing | |
US5745398A (en) | Method for the implementation of modular multiplication according to the Montgomery method | |
US20020010730A1 (en) | Accelerated montgomery exponentiation using plural multipliers | |
JP4201980B2 (ja) | マルチプレシジョン整数演算用の装置 | |
JP2009230153A (ja) | モントゴメリー乗算に基づくモジュラ乗算及び累乗の改善された装置と方法 | |
EP1471420A2 (en) | Montgomery modular multiplier and method thereof using carry save addition | |
KR20110105555A (ko) | 효율적인 하드웨어 구성을 갖는 몽고메리 승산기 | |
KR100442218B1 (ko) | 몽고메리의 알고리즘을 이용한 멱승 잉여 연산기 | |
US8781112B2 (en) | Signed montgomery arithmetic | |
Shieh et al. | A new algorithm for high-speed modular multiplication design | |
Gutub et al. | Efficient scalable VLSI architecture for Montgomery inversion in GF (p) | |
JP4823467B2 (ja) | ガロア体からの二つの係数を乗算するための方法及びこの方法を遂行するための乗算器 | |
KR20130128695A (ko) | 모듈러 계산 유닛 및 그것을 포함하는 보안 시스템 | |
US6963644B1 (en) | Multi-word arithmetic device for faster computation of cryptosystem calculations | |
JP2004258141A (ja) | モンゴメリ乗算剰余の多倍長演算のための演算装置 | |
KR20080050226A (ko) | 모듈러 곱셈 장치 및 설계 방법 | |
KR101128505B1 (ko) | 모듈러 곱셈 연산 방법 및 장치 | |
JP2001034167A (ja) | 演算装置及び暗号処理装置 | |
KR100481586B1 (ko) | 모듈러 곱셈 장치 | |
JP2000207387A (ja) | 演算装置及び暗号処理装置 | |
KR100417136B1 (ko) | 다항식 기저에서 유한체 승산 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130118 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140117 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150119 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160119 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20170119 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20180118 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20190116 Year of fee payment: 13 |