WO2006029152A3 - Multiply instructions for modular exponentiation - Google Patents
Multiply instructions for modular exponentiation Download PDFInfo
- Publication number
- WO2006029152A3 WO2006029152A3 PCT/US2005/031709 US2005031709W WO2006029152A3 WO 2006029152 A3 WO2006029152 A3 WO 2006029152A3 US 2005031709 W US2005031709 W US 2005031709W WO 2006029152 A3 WO2006029152 A3 WO 2006029152A3
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- multiply
- processor
- modular exponentiation
- intermediate results
- multiplication operation
- 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/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
- G06F7/523—Multiplying only
- G06F7/527—Multiplying only in serial-parallel fashion, i.e. one operand being entered serially and the other in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30065—Loop control instructions; iterative instructions, e.g. LOOP, REPEAT
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30112—Register structure comprising data of variable length
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Advance Control (AREA)
- Complex Calculations (AREA)
Abstract
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05818045A EP1817661A2 (en) | 2004-09-10 | 2005-09-01 | Multiply instructions for modular exponentiation |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US60921104P | 2004-09-10 | 2004-09-10 | |
US60/609,211 | 2004-09-10 | ||
US11/044,648 | 2005-01-27 | ||
US11/044,648 US20060059221A1 (en) | 2004-09-10 | 2005-01-27 | Multiply instructions for modular exponentiation |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2006029152A2 WO2006029152A2 (en) | 2006-03-16 |
WO2006029152A3 true WO2006029152A3 (en) | 2006-09-14 |
Family
ID=36035380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2005/031709 WO2006029152A2 (en) | 2004-09-10 | 2005-09-01 | Multiply instructions for modular exponentiation |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060059221A1 (en) |
EP (1) | EP1817661A2 (en) |
WO (1) | WO2006029152A2 (en) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100717240B1 (en) | 2005-07-20 | 2007-05-11 | 엔에이치엔(주) | Method and system for providing reliable sequence |
US9002915B1 (en) | 2009-04-02 | 2015-04-07 | Xilinx, Inc. | Circuits for shifting bussed data |
US9411554B1 (en) * | 2009-04-02 | 2016-08-09 | Xilinx, Inc. | Signed multiplier circuit utilizing a uniform array of logic blocks |
US8527572B1 (en) * | 2009-04-02 | 2013-09-03 | Xilinx, Inc. | Multiplier architecture utilizing a uniform array of logic blocks, and methods of using the same |
US8706793B1 (en) * | 2009-04-02 | 2014-04-22 | Xilinx, Inc. | Multiplier circuits with optional shift function |
CN104254833B (en) | 2012-05-30 | 2018-01-30 | 英特尔公司 | Mould exponentiation based on vector sum scalar |
US9355068B2 (en) | 2012-06-29 | 2016-05-31 | Intel Corporation | Vector multiplication with operand base system conversion and re-conversion |
US10095516B2 (en) | 2012-06-29 | 2018-10-09 | Intel Corporation | Vector multiplication with accumulation in large register space |
FR3023047B1 (en) | 2014-06-27 | 2016-06-24 | Continental Automotive France | METHOD FOR MANAGING FAILURE MESSAGES OF A MOTOR VEHICLE |
JP5917678B1 (en) | 2014-12-26 | 2016-05-18 | 株式会社Pfu | Information processing apparatus, method, and program |
US11038856B2 (en) * | 2018-09-26 | 2021-06-15 | Marvell Asia Pte, Ltd. | Secure in-line network packet transmittal |
CN110098977B (en) * | 2019-04-12 | 2020-11-06 | 中国科学院声学研究所 | Network data packet in-sequence storage method, computer device and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5121431A (en) * | 1990-07-02 | 1992-06-09 | Northern Telecom Limited | Processor method of multiplying large numbers |
EP0890899A2 (en) * | 1997-07-09 | 1999-01-13 | Matsushita Electric Industrial Co., Ltd. | Multiplication method and apparatus |
US6484194B1 (en) * | 1998-06-17 | 2002-11-19 | Texas Instruments Incorporated | Low cost multiplier block with chain capability |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5422805A (en) * | 1992-10-21 | 1995-06-06 | Motorola, Inc. | Method and apparatus for multiplying two numbers using signed arithmetic |
JP3655403B2 (en) * | 1995-10-09 | 2005-06-02 | 株式会社ルネサステクノロジ | Data processing device |
US5864703A (en) * | 1997-10-09 | 1999-01-26 | Mips Technologies, Inc. | Method for providing extended precision in SIMD vector arithmetic operations |
US6434586B1 (en) * | 1999-01-29 | 2002-08-13 | Compaq Computer Corporation | Narrow Wallace multiplier |
CA2294554A1 (en) * | 1999-12-30 | 2001-06-30 | Mosaid Technologies Incorporated | Method and circuit for multiplication using booth encoding and iterative addition techniques |
US6633896B1 (en) * | 2000-03-30 | 2003-10-14 | Intel Corporation | Method and system for multiplying large numbers |
US7181484B2 (en) * | 2001-02-21 | 2007-02-20 | Mips Technologies, Inc. | Extended-precision accumulation of multiplier output |
US7430578B2 (en) * | 2001-10-29 | 2008-09-30 | Intel Corporation | Method and apparatus for performing multiply-add operations on packed byte data |
US7346159B2 (en) * | 2002-05-01 | 2008-03-18 | Sun Microsystems, Inc. | Generic modular multiplier using partial reduction |
US7266580B2 (en) * | 2003-05-12 | 2007-09-04 | International Business Machines Corporation | Modular binary multiplier for signed and unsigned operands of variable widths |
-
2005
- 2005-01-27 US US11/044,648 patent/US20060059221A1/en not_active Abandoned
- 2005-09-01 WO PCT/US2005/031709 patent/WO2006029152A2/en active Application Filing
- 2005-09-01 EP EP05818045A patent/EP1817661A2/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5121431A (en) * | 1990-07-02 | 1992-06-09 | Northern Telecom Limited | Processor method of multiplying large numbers |
EP0890899A2 (en) * | 1997-07-09 | 1999-01-13 | Matsushita Electric Industrial Co., Ltd. | Multiplication method and apparatus |
US6484194B1 (en) * | 1998-06-17 | 2002-11-19 | Texas Instruments Incorporated | Low cost multiplier block with chain capability |
Also Published As
Publication number | Publication date |
---|---|
WO2006029152A2 (en) | 2006-03-16 |
EP1817661A2 (en) | 2007-08-15 |
US20060059221A1 (en) | 2006-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2006029152A3 (en) | Multiply instructions for modular exponentiation | |
EP1496432A3 (en) | Method and apparatus for performing multiplication of signed packed operands | |
TW200500940A (en) | Simd integer multiply high with round and shift | |
WO2005101190A3 (en) | Processor having parallel vector multiply and reduce operations with sequential semantics | |
WO2004103056A3 (en) | Processor reduction unit for accumulation of multiple operands with or without saturation | |
WO2001097007A3 (en) | Math coprocessor | |
WO2001033332A3 (en) | Method and apparatus for representing arithmetic intervals within a computer system | |
EP1320027A3 (en) | Elliptic curve cryptosystem apparatus, method and program | |
WO2003021373A3 (en) | Vector-matrix multiplication | |
AU6516498A (en) | Improved apparatus & method for modular multiplication & exponentiation based onmontgomery multiplication | |
WO2007140338A3 (en) | Graphics processor with arithmetic and elementary function units | |
WO2008016489A3 (en) | Methods and systems for modifying an integrity measurement based on user athentication | |
EP0212571A3 (en) | Method and circuit for performing discrete transforms | |
IES20080198A2 (en) | A processor | |
TW200710731A (en) | Method and apparatus for precise handling of exceptions during program code conversion | |
WO2006060541A3 (en) | Market-based labeling system and method | |
TW200641666A (en) | Microprocessor apparatus and method for modular exponentiation | |
WO2004111838A3 (en) | Method and data processor for reduced pipeline stalling | |
WO2003029954A3 (en) | Splittable multiplier for efficient mixed-precision dsp | |
WO2008142750A1 (en) | Calculation unit, processor, and processor architecture | |
AU2003289909A1 (en) | Device and method for calculating a multiplication involving a shifting of the multiplicand | |
AU2066297A (en) | Method and apparatus for performing an operation multiple times in response o a single instruction | |
WO2005001686A3 (en) | Data packet arithmetic logic devices and methods | |
WO2006102379A3 (en) | Processor and method of grouping and executing dependent instructions in a packet | |
WO2004059515A3 (en) | Modular multiplication with parallel calculation of look-ahead parameters |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2005818045 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 2005818045 Country of ref document: EP |