CN102393812A - Implementation method for rapid scalar multiplication algorithm in elliptic curve cryptosystem - Google Patents
Implementation method for rapid scalar multiplication algorithm in elliptic curve cryptosystem Download PDFInfo
- Publication number
- CN102393812A CN102393812A CN2011102797791A CN201110279779A CN102393812A CN 102393812 A CN102393812 A CN 102393812A CN 2011102797791 A CN2011102797791 A CN 2011102797791A CN 201110279779 A CN201110279779 A CN 201110279779A CN 102393812 A CN102393812 A CN 102393812A
- Authority
- CN
- China
- Prior art keywords
- multiplication algorithm
- elliptic curve
- scalar multiplication
- curve cryptosystem
- implementation method
- 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.)
- Pending
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
The invention discloses an implementation method for a rapid scalar multiplication algorithm in an elliptic curve cryptosystem. The method at least comprises a scalar multiplication algorithm procedure of binary coding with the minimum Hamming weight and provided with symbols from left to right, and the method comprises the following steps of: arranging definitions on a finite prime number field, being arbitrary point, and being arbitrary integer; inputting'':''; outputting'':''; A. commanding '', ,''; B. decreasing progressively until, implementing: a. commanding; b. '', ,''; c. if, commanding; C. returning. The implementation method for the rapid scalar multiplication algorithm in the elliptic curve cryptosystem provided by the invention, the binary coding with the minimum Hamming weight and provided with the symbols from left to right is applied to the rapid scalar multiplication algorithm in the elliptic curve cryptosystem, a novel binary coding scalar multiplication algorithm with the symbols is created, which can be faster achieved. The novel binary coding scalar multiplication algorithm has the advantages that: arithmetic speed is high, additional memory plint space and coordinate change are not needed during calculation, calculation period is reduced, and the like.
Description
Technical field
The present invention relates to the implementation method of quick some multiplication algorithm in a kind of elliptic curve cryptosystem.
Background technology
The elliptic curve cryptosystem (ECC) that VictorMiller in 1985 and NealKoblitz propose; Elliptic curve is applied in the cryptography; And become an important branch of public key cryptography, and its major advantage is that the key yardstick is little, the fast and security of realization speed is than higher; Because ECC has under equal security intensity; Can use less expense, therefore the scale that realizes like: calculated amount, memory space, bandwidth, software and hardware etc. are specially adapted to computing power and lsi space is limited, limited bandwidth, require situation such as realization of High Speed.
Although elliptic curve cryptosystem has above-mentioned plurality of advantages, do not substitute other public-key cryptosystem at present fully, its realization speed is restricted; Therefore, the research of elliptic curve cryptosystem encryption/decryption speed has been become a focus, the point multiplication operation on the elliptic curve is the fundamental operation that realizes elliptic curve cryptosystem; Also be computing the most consuming time simultaneously, its operation efficiency is directly determining the performance of ECC, at present; It is low that point multiplication operation on the elliptic curve commonly used has arithmetic speed, needs the space of extra storage point during computing, needs changes in coordinates in the calculating process; The computation period number is more, and computing velocity waits shortcoming slowly.
Summary of the invention
The object of the invention promptly is to overcome the deficiency of prior art; Provide a kind of arithmetic speed high; The space that does not need extra storage point during computing; Do not need changes in coordinates in the calculating process, reduce the computation period number, the implementation method of quick some multiplication algorithm in the elliptic curve cryptosystem of quickening computing velocity.
The objective of the invention is to realize through following technical scheme: the implementation method of quick some multiplication algorithm in the elliptic curve cryptosystem which comprises at least the following heavy from left to right binary-coded dot product algorithm steps of tape symbol of minimum Hamming that has:
C. return
.
The invention has the beneficial effects as follows: the present invention provides the implementation method of quick some multiplication algorithm in a kind of elliptic curve cryptosystem, has made a concrete analysis of the realization of some multiplication algorithm fast the elliptic curve cryptosystem from three aspects, during the multiple that the from left to right tape symbol binary coding with minimum Hamming weight that Marc Joye and Sung-Ming Yen are proposed is applied to elliptic curve cryptosystem point multiplication algorithm is represented; Generate the new tape symbol binary coding point multiplication algorithm that can comparatively fast realize; Minimum non-zero entry is arranged, do not need changes in coordinates in the whole dot product process, need not carry out simulation trial consuming time; Can reduce the periodicity of calculating; Accelerate computing velocity, improve the arithmetic speed of some multiplication algorithm, have the arithmetic speed height; The space that does not need extra storage point during computing; Do not need changes in coordinates in the calculating process, reduce the computation period number, accelerate advantages such as computing velocity.
Description of drawings
Fig. 1 is several kinds of storage spaces of putting multiplication algorithm of the present invention;
Embodiment
Below in conjunction with accompanying drawing the present invention is done further description, but protection scope of the present invention is not limited to the following stated.
Like Fig. 1, shown in Figure 2, the implementation method of quick some multiplication algorithm in the elliptic curve cryptosystem which comprises at least the following heavy from left to right binary-coded dot product algorithm steps of tape symbol of minimum Hamming that has:
If
is defined on the limited prime field
;
is the arbitrfary point;
is arbitrary integer, and
is the binary coding of
in the algorithm;
C. return
.
From the required storage space of algorithm; The storage space of more several kinds of some multiplication algorithms; For the number
that binary digit has
to be grown; NAF algorithm and NAF_w algorithm all need extra
individual byte to store
NAF separately to represent to represent with NAF_w; These additional spaces can be stored 4 points on the elliptic curve; Adopt quick some multiplication algorithm in the elliptic curve cryptosystem of the heavy from left to right binary-coded some multiplication algorithm of tape symbol of minimum Hamming dynamically to generate
; 254 bytes have been saved altogether; Reduced additional storage space required in point multiplication operation significantly, made it be more suitable on the less platform in spaces such as IC-card, realizing.
The realization of the quick dot product
the elliptic curve cryptosystem is discussed from three aspects below:
The coordinate representation of (1) putting on the elliptic curve
It is the fundamental operation that constitutes dot product that point doubly adds with point; Their speed has directly determined the speed of some multiplication algorithm; The point of different coordinate representations have different points doubly with the some acceleration; Point on the comparison curves
adds and puts doubly required territory number of operations; The point of two additions of symbol
expression is respectively to represent with
coordinate system and
coordinate system; And they be to represent with
coordinate system; For example; Two somes addition that
expression Jacobian coordinate system and affine coordinate system are represented and be to represent with the form of Jacobian coordinate system; Wherein, A=is affine; The projection of P=standard; The J=Jacobian projection; The C=chudnovsky projection; I=inverts; The M=multiplication; S=square, thus learn with Jacobian projection coordinate system and represent to realize that a point times algorithm has prestissimo, be that Jacobian-affine representes to realize that arithmetic of rational point has the fastest some acceleration with hybrid coordinate;
(2) scan mode of some multiplication algorithm comprises from left to right number of scans word bit and number of scans word bit from right to left, and number of scans word bit from left to right may further comprise the steps:
For obtaining the fastest point multiplication operation; We select for use hybrid coordinate be Jacobian-affine fast point add with the quick point of Jacobian projection coordinate system and doubly realize;
puts
form doubly fast with Jacobian projection coordinate system all the time and representes;
tries to achieve through precomputation; All the time represent with affine coordinate system
; In a goes on foot; Adopt Jacobian projection coordinate system to put fast doubly; Input and output are all put doubly
of expression with Jacobian projection coordinate system fast; In b goes on foot; Input is throwed coordinate system
and
that representes with affine coordinate system
of point times expression fast with Jacobian; Calling hybrid coordinate is that the quick point of Jacobian-affine adds; Obtain adding result
with the point of projection coordinate representation; Obtain at last to throw the dot product result
that coordinate system is represented; Do not need changes in coordinates in the whole dot product process; Promptly need not carry out mould inverse operation consuming time; Make the periodicity that can reduce calculating in this way, accelerate computing velocity;
Number of scans word bit from right to left may further comprise the steps:
C. return
;
Number of scans word bit from right to left not only needs the space of extra storage point
; And
can not try to achieve through precomputation; If to select for use hybrid coordinate Jacobian-affine fast point add that point is doubly fast with Jacobian projection coordinate;
need throw coordinate
form with Jacobian all the time and represent;
representes with affine coordinates; Then in circulation otherwise stop carry out coordinate transform; And changes in coordinates all needs to invert for twice each time; Cost is very big, and number of scans word bit from left to right is more feasible;
(3) coding method of integer in the point multiplication operation:
Coding method in the point multiplication operation has determined the efficient of point multiplication operation to a great extent; Common coding method at present has binary coding method, NAF compiling method, moving window compiling method etc.; No matter integer with which type of coding method is represented, the number of times of used point times computing is constant when carrying out point multiplication operation, is exactly to reduce the number of non-zero entry in the expression for the essence of the different method for expressing of integer as far as possible; Reduce the number of times of point add operation in the point multiplication operation, improve point multiplication operation speed.
Claims (2)
1. the implementation method of quick some multiplication algorithm in the elliptic curve cryptosystem is characterized in that: which comprises at least the following heavy from left to right binary-coded dot product algorithm steps of tape symbol of minimum Hamming that has:
C. return
.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102797791A CN102393812A (en) | 2011-09-20 | 2011-09-20 | Implementation method for rapid scalar multiplication algorithm in elliptic curve cryptosystem |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102797791A CN102393812A (en) | 2011-09-20 | 2011-09-20 | Implementation method for rapid scalar multiplication algorithm in elliptic curve cryptosystem |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102393812A true CN102393812A (en) | 2012-03-28 |
Family
ID=45861142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102797791A Pending CN102393812A (en) | 2011-09-20 | 2011-09-20 | Implementation method for rapid scalar multiplication algorithm in elliptic curve cryptosystem |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102393812A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103645883A (en) * | 2013-12-18 | 2014-03-19 | 四川卫士通信息安全平台技术有限公司 | FPGA (field programmable gate array) based high-radix modular multiplier |
CN103942031A (en) * | 2014-04-28 | 2014-07-23 | 山东华芯半导体有限公司 | Elliptic domain curve operational method and elliptic domain curve arithmetic unit |
CN104731552A (en) * | 2013-12-23 | 2015-06-24 | 恩智浦有限公司 | Hardware Architecture and Method for ECC Point Addition Using Mixed Affine-Jacobian Coordinates |
CN104731553A (en) * | 2013-12-23 | 2015-06-24 | 恩智浦有限公司 | Optimized hardware architecture and method for ECC point doubling |
CN107248916A (en) * | 2017-04-27 | 2017-10-13 | 深圳信息职业技术学院 | A kind of Method for Scalar Multiplication on Elliptic Curves |
US9929862B2 (en) | 2013-12-23 | 2018-03-27 | Nxp B.V. | Optimized hardware architecture and method for ECC point doubling using Jacobian coordinates over short Weierstrass curves |
CN112068801A (en) * | 2019-06-11 | 2020-12-11 | 云南大学 | Optimal signed binary system fast calculation method on multiplication group and modular exponentiation |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262345A (en) * | 2008-01-04 | 2008-09-10 | 清华大学 | Time point system for ellipse curve password system |
-
2011
- 2011-09-20 CN CN2011102797791A patent/CN102393812A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262345A (en) * | 2008-01-04 | 2008-09-10 | 清华大学 | Time point system for ellipse curve password system |
Non-Patent Citations (1)
Title |
---|
赖晖: "椭圆曲线密码体制的研究及DSP实现", 《CNKI中国知网》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103645883A (en) * | 2013-12-18 | 2014-03-19 | 四川卫士通信息安全平台技术有限公司 | FPGA (field programmable gate array) based high-radix modular multiplier |
CN104731552A (en) * | 2013-12-23 | 2015-06-24 | 恩智浦有限公司 | Hardware Architecture and Method for ECC Point Addition Using Mixed Affine-Jacobian Coordinates |
CN104731553A (en) * | 2013-12-23 | 2015-06-24 | 恩智浦有限公司 | Optimized hardware architecture and method for ECC point doubling |
US9900154B2 (en) | 2013-12-23 | 2018-02-20 | Nxp B.V. | Optimized hardward architecture and method for ECC point addition using mixed affine-jacobian coordinates over short weierstrass curves |
US9929862B2 (en) | 2013-12-23 | 2018-03-27 | Nxp B.V. | Optimized hardware architecture and method for ECC point doubling using Jacobian coordinates over short Weierstrass curves |
US9979543B2 (en) | 2013-12-23 | 2018-05-22 | Nxp B.V. | Optimized hardware architecture and method for ECC point doubling using jacobian coordinates over short weierstrass curves |
CN104731552B (en) * | 2013-12-23 | 2018-11-16 | 恩智浦有限公司 | The hardware structure and method that ECC point adds are carried out using affine Jacobi Coordinate is mixed |
CN103942031A (en) * | 2014-04-28 | 2014-07-23 | 山东华芯半导体有限公司 | Elliptic domain curve operational method and elliptic domain curve arithmetic unit |
WO2015164996A1 (en) * | 2014-04-28 | 2015-11-05 | 山东华芯半导体有限公司 | Elliptic domain curve operational method and elliptic domain curve operational unit |
CN107248916A (en) * | 2017-04-27 | 2017-10-13 | 深圳信息职业技术学院 | A kind of Method for Scalar Multiplication on Elliptic Curves |
CN112068801A (en) * | 2019-06-11 | 2020-12-11 | 云南大学 | Optimal signed binary system fast calculation method on multiplication group and modular exponentiation |
CN112068801B (en) * | 2019-06-11 | 2022-09-09 | 云南大学 | Optimal signed binary system fast calculation method on multiplication group and modular exponentiation |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102393812A (en) | Implementation method for rapid scalar multiplication algorithm in elliptic curve cryptosystem | |
Huang et al. | An image encryption algorithm based on hyper-chaos and DNA sequence | |
US9942039B1 (en) | Applying modular reductions in cryptographic protocols | |
CN101097511B (en) | Modular reduction using folding | |
CN101938349A (en) | S box applicable to hardware realization and circuit realization method thereof | |
Pornin et al. | More efficient algorithms for the NTRU key generation using the field norm | |
CN113628094B (en) | High-throughput SM2 digital signature computing system and method based on GPU | |
CN103942031A (en) | Elliptic domain curve operational method and elliptic domain curve arithmetic unit | |
CN104412539A (en) | Secret sharing system, data distribution device, distributed data conversion device, secret sharing method, and program | |
CN101479698A (en) | Mulptiplying two numbers | |
ES2604460T3 (en) | Procedure to securely encode or decode a message | |
CN101763241B (en) | Large integer modular arithmetic device for realizing signature algorithm in ECC cryptosystem and modular method therefor | |
CN109145616A (en) | The realization method and system of SM2 encryption, signature and key exchange based on efficient modular multiplication | |
CN103631660A (en) | Method and device for distributing storage resources in GPU in big integer calculating process | |
KR102075848B1 (en) | Method, Apparatus and Recording Medium Of Polynomial Operation Optimization Processing | |
JP2002215385A (en) | Calculation device, calculation method, and program utilizing residue number system expression | |
Dong et al. | Utilizing the Double‐Precision Floating‐Point Computing Power of GPUs for RSA Acceleration | |
CN103929305A (en) | SM2 signature algorithm implementation method | |
US8666076B2 (en) | Method of elliptic curve cryptography using EW-MOF on scalar multiplication | |
CN104506316A (en) | Point multiplication operation method based on SM2 base points | |
CN111897578A (en) | Parallel processing method and device for scalar multiplication on elliptic curve with characteristic of 2 | |
Bardis | Secure, green implementation of modular arithmetic operations for IoT and cloud applications | |
Lamriji et al. | Towards fast ECC signing algorithms for Blockchain | |
Jahani et al. | Efficient big integer multiplication and squaring algorithms for cryptographic applications | |
CN1376282A (en) | Employing synthetic genes in gene algorithm, information encoding and non-replicative encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120328 |