KR101103893B1 - 몽고메리 곱셈 내에서의 simd 명령어들의 사용 - Google Patents
몽고메리 곱셈 내에서의 simd 명령어들의 사용 Download PDFInfo
- Publication number
- KR101103893B1 KR101103893B1 KR1020040067024A KR20040067024A KR101103893B1 KR 101103893 B1 KR101103893 B1 KR 101103893B1 KR 1020040067024 A KR1020040067024 A KR 1020040067024A KR 20040067024 A KR20040067024 A KR 20040067024A KR 101103893 B1 KR101103893 B1 KR 101103893B1
- Authority
- KR
- South Korea
- Prior art keywords
- array
- instructions
- simd
- instruction
- multiplication
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
- Organic Low-Molecular-Weight Compounds And Preparation Thereof (AREA)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/686,316 | 2003-10-15 | ||
| US10/686,316 US7532720B2 (en) | 2003-10-15 | 2003-10-15 | Utilizing SIMD instructions within montgomery multiplication |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20050036698A KR20050036698A (ko) | 2005-04-20 |
| KR101103893B1 true KR101103893B1 (ko) | 2012-01-12 |
Family
ID=34377640
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020040067024A Expired - Lifetime KR101103893B1 (ko) | 2003-10-15 | 2004-08-25 | 몽고메리 곱셈 내에서의 simd 명령어들의 사용 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US7532720B2 (https=) |
| EP (1) | EP1524594B1 (https=) |
| JP (1) | JP4662744B2 (https=) |
| KR (1) | KR101103893B1 (https=) |
| CN (1) | CN100437548C (https=) |
| AT (1) | ATE413642T1 (https=) |
| DE (1) | DE602004017559D1 (https=) |
Families Citing this family (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040249782A1 (en) * | 2003-06-04 | 2004-12-09 | International Business Machines Corporation | Method and system for highly efficient database bitmap index processing |
| DE602004027943D1 (de) * | 2003-11-16 | 2010-08-12 | Sandisk Il Ltd | Verbesserte natürliche montgomery-exponentenmaskierung |
| KR100530372B1 (ko) * | 2003-12-20 | 2005-11-22 | 삼성전자주식회사 | 사이드채널 공격을 방지할 수 있는 타원곡선 암호화 방법 |
| US7664810B2 (en) * | 2004-05-14 | 2010-02-16 | Via Technologies, Inc. | Microprocessor apparatus and method for modular exponentiation |
| JP5027422B2 (ja) * | 2006-02-09 | 2012-09-19 | ルネサスエレクトロニクス株式会社 | 剰余演算処理装置 |
| US8036379B2 (en) * | 2006-03-15 | 2011-10-11 | Microsoft Corporation | Cryptographic processing |
| KR20120077164A (ko) | 2010-12-30 | 2012-07-10 | 삼성전자주식회사 | Simd 구조를 사용하는 복소수 연산을 위한 사용하는 장치 및 방법 |
| CN102431508B (zh) * | 2011-10-12 | 2014-06-11 | 奇瑞汽车股份有限公司 | 太阳能汽车天窗供电控制方法、系统以及汽车 |
| WO2013089750A1 (en) * | 2011-12-15 | 2013-06-20 | Intel Corporation | Methods to optimize a program loop via vector instructions using a shuffle table and a blend table |
| EP2856303B1 (en) * | 2012-05-30 | 2017-08-02 | Intel Corporation | Vector and scalar based modular exponentiation |
| US10095516B2 (en) | 2012-06-29 | 2018-10-09 | Intel Corporation | Vector multiplication with accumulation in large register space |
| US9355068B2 (en) | 2012-06-29 | 2016-05-31 | Intel Corporation | Vector multiplication with operand base system conversion and re-conversion |
| JP5852594B2 (ja) * | 2013-01-15 | 2016-02-03 | 日本電信電話株式会社 | 多倍長整数演算装置、多倍長整数演算方法、プログラム |
| CN104951279B (zh) * | 2015-05-27 | 2018-03-20 | 四川卫士通信息安全平台技术有限公司 | 一种基于NEON引擎的向量化Montgomery模乘器的设计方法 |
| IL239880B (en) * | 2015-07-09 | 2018-08-30 | Kaluzhny Uri | Simplified montgomery multiplication |
| CN106452723B (zh) * | 2016-12-13 | 2017-05-31 | 深圳市全同态科技有限公司 | 一种基于模运算的全同态加密处理方法 |
| JP7286239B2 (ja) * | 2019-02-28 | 2023-06-05 | ルネサスエレクトロニクス株式会社 | 演算処理方法、演算処理装置、及び半導体装置 |
| US20230042366A1 (en) * | 2021-07-23 | 2023-02-09 | Cryptography Research, Inc. | Sign-efficient addition and subtraction for streamingcomputations in cryptographic engines |
| US12008369B1 (en) | 2021-08-31 | 2024-06-11 | Apple Inc. | Load instruction fusion |
| WO2023199440A1 (ja) * | 2022-04-13 | 2023-10-19 | 日本電気株式会社 | 符号付き整数の剰余積計算装置、符号付き整数の剰余積計算方法及び、プログラム |
| US12217060B1 (en) | 2022-09-23 | 2025-02-04 | Apple Inc. | Instruction fusion |
| US12288066B1 (en) | 2022-09-23 | 2025-04-29 | Apple Inc. | Operation fusion for instructions bridging execution unit types |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6202077B1 (en) | 1998-02-24 | 2001-03-13 | Motorola, Inc. | SIMD data processing extended precision arithmetic operand format |
| WO2001076132A1 (en) | 2000-03-31 | 2001-10-11 | The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon S Tate University | Scalable and unified multiplication methods and apparatus |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2726667B1 (fr) * | 1994-11-08 | 1997-01-17 | Sgs Thomson Microelectronics | Procede de mise en oeuvre de multiplication modulaire selon la methode montgomery |
| JP3869947B2 (ja) * | 1998-08-04 | 2007-01-17 | 株式会社日立製作所 | 並列処理プロセッサ、および、並列処理方法 |
| JP2002007112A (ja) * | 2000-06-20 | 2002-01-11 | Sony Corp | 剰余演算計算方法および剰余演算計算装置 |
| JP3785044B2 (ja) * | 2001-01-22 | 2006-06-14 | 株式会社東芝 | べき乗剰余計算装置、べき乗剰余計算方法及び記録媒体 |
| JP2002229445A (ja) * | 2001-01-30 | 2002-08-14 | Mitsubishi Electric Corp | べき乗剰余演算器 |
| CN1375765A (zh) * | 2001-03-19 | 2002-10-23 | 深圳市中兴集成电路设计有限责任公司 | 一种快速大数模乘运算电路 |
| US7107305B2 (en) * | 2001-10-05 | 2006-09-12 | Intel Corporation | Multiply-accumulate (MAC) unit for single-instruction/multiple-data (SIMD) instructions |
| EP1459167B1 (en) * | 2001-12-14 | 2006-01-25 | Koninklijke Philips Electronics N.V. | Pipelined core in montgomery multiplier |
| US7266577B2 (en) * | 2002-05-20 | 2007-09-04 | Kabushiki Kaisha Toshiba | Modular multiplication apparatus, modular multiplication method, and modular exponentiation apparatus |
-
2003
- 2003-10-15 US US10/686,316 patent/US7532720B2/en not_active Expired - Lifetime
-
2004
- 2004-08-06 DE DE602004017559T patent/DE602004017559D1/de not_active Expired - Lifetime
- 2004-08-06 AT AT04018745T patent/ATE413642T1/de not_active IP Right Cessation
- 2004-08-06 EP EP04018745A patent/EP1524594B1/en not_active Expired - Lifetime
- 2004-08-25 KR KR1020040067024A patent/KR101103893B1/ko not_active Expired - Lifetime
- 2004-09-15 JP JP2004269033A patent/JP4662744B2/ja not_active Expired - Lifetime
- 2004-10-15 CN CNB2004100855415A patent/CN100437548C/zh not_active Expired - Lifetime
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6202077B1 (en) | 1998-02-24 | 2001-03-13 | Motorola, Inc. | SIMD data processing extended precision arithmetic operand format |
| WO2001076132A1 (en) | 2000-03-31 | 2001-10-11 | The State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon S Tate University | Scalable and unified multiplication methods and apparatus |
Non-Patent Citations (2)
| Title |
|---|
| J. Grossschadl et al., "Architectural Enhancement for Montgomery Multiplication on Embedded RISC Processors", Computer Science |
| R. Posch et al., "RNS-Modulo Reduction Upon a Restricted Base Value Set and its Applicability to RSA Crypotography", Computer & Security, vol. 17, no.7, 1988 pp. 637-650. |
Also Published As
| Publication number | Publication date |
|---|---|
| CN100437548C (zh) | 2008-11-26 |
| EP1524594A3 (en) | 2006-04-12 |
| EP1524594A2 (en) | 2005-04-20 |
| US7532720B2 (en) | 2009-05-12 |
| ATE413642T1 (de) | 2008-11-15 |
| JP2005122141A (ja) | 2005-05-12 |
| DE602004017559D1 (de) | 2008-12-18 |
| EP1524594B1 (en) | 2008-11-05 |
| JP4662744B2 (ja) | 2011-03-30 |
| CN1607518A (zh) | 2005-04-20 |
| KR20050036698A (ko) | 2005-04-20 |
| US20050084099A1 (en) | 2005-04-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101103893B1 (ko) | 몽고메리 곱셈 내에서의 simd 명령어들의 사용 | |
| Großschädl et al. | Instruction set extensions for fast arithmetic in finite fields GF (p) and GF (2 m) | |
| JP3605181B2 (ja) | 掛け算累算命令を使用したデータ処理 | |
| US7240084B2 (en) | Generic implementations of elliptic curve cryptography using partial reduction | |
| JP2019500673A (ja) | 冗長表現を用いた、第1および第2のオペランドの積算 | |
| US8229993B2 (en) | Method for performing decimal division | |
| KR100432401B1 (ko) | 제산 명령 및 잉여 명령을 실행하는 방법 및 이 방법을이용한 데이터 처리 장치 | |
| US6009450A (en) | Finite field inverse circuit | |
| Bos et al. | Montgomery arithmetic from a software perspective | |
| JP2019500672A (ja) | 重複ビットを使用する数値の冗長表現 | |
| Gutub et al. | Efficient scalable VLSI architecture for Montgomery inversion in GF (p) | |
| US20070116270A1 (en) | Calculating unit for reducing an input number with respect to a modulus | |
| US7558817B2 (en) | Apparatus and method for calculating a result of a modular multiplication | |
| CN101981542B (zh) | 多项式数据处理运算 | |
| Becker et al. | Efficient multiplication of somewhat small integers using number-theoretic transforms | |
| Hars | Modular inverse algorithms without multiplications for cryptographic applications | |
| US20080065714A1 (en) | Device and method for calculating a result of a modular multiplication with a calculating unit smaller than the operands | |
| JP4601544B2 (ja) | 入力値に逆数演算を実施して結果値を作り出すデータ処理装置および方法 | |
| Louvet et al. | Newton-Raphson algorithms for floating-point division using an FMA | |
| Oliveira et al. | Koblitz curves over quadratic fields | |
| US8364737B2 (en) | Device and method for calculating a result of a sum with a calculating unit with limited word length | |
| JP2006228191A (ja) | 逆数演算の結果値の初期推定値を求めるデータ処理装置および方法 | |
| JP4850884B2 (ja) | べき乗剰余演算器 | |
| JP4223819B2 (ja) | べき乗剰余演算装置及びそのプログラム | |
| Großschadl et al. | Optimized RISC architecture for multiple-precision modular arithmetic |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20040825 |
|
| PG1501 | Laying open of application | ||
| A201 | Request for examination | ||
| PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20090819 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20040825 Comment text: Patent Application |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20110211 Patent event code: PE09021S01D |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20111004 |
|
| GRNT | Written decision to grant | ||
| PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20120102 Patent event code: PR07011E01D |
|
| PR1002 | Payment of registration fee |
Payment date: 20120102 End annual number: 3 Start annual number: 1 |
|
| PG1601 | Publication of registration | ||
| FPAY | Annual fee payment |
Payment date: 20141230 Year of fee payment: 4 |
|
| PR1001 | Payment of annual fee |
Payment date: 20141230 Start annual number: 4 End annual number: 4 |
|
| FPAY | Annual fee payment |
Payment date: 20151217 Year of fee payment: 5 |
|
| PR1001 | Payment of annual fee |
Payment date: 20151217 Start annual number: 5 End annual number: 5 |
|
| FPAY | Annual fee payment |
Payment date: 20161220 Year of fee payment: 6 |
|
| PR1001 | Payment of annual fee |
Payment date: 20161220 Start annual number: 6 End annual number: 6 |
|
| FPAY | Annual fee payment |
Payment date: 20171219 Year of fee payment: 7 |
|
| PR1001 | Payment of annual fee |
Payment date: 20171219 Start annual number: 7 End annual number: 7 |
|
| FPAY | Annual fee payment |
Payment date: 20181226 Year of fee payment: 8 |
|
| PR1001 | Payment of annual fee |
Payment date: 20181226 Start annual number: 8 End annual number: 8 |
|
| FPAY | Annual fee payment |
Payment date: 20191217 Year of fee payment: 9 |
|
| PR1001 | Payment of annual fee |
Payment date: 20191217 Start annual number: 9 End annual number: 9 |
|
| PR1001 | Payment of annual fee |
Payment date: 20201216 Start annual number: 10 End annual number: 10 |
|
| PR1001 | Payment of annual fee |
Payment date: 20231227 Start annual number: 13 End annual number: 13 |
|
| PC1801 | Expiration of term |
Termination date: 20250225 Termination category: Expiration of duration |