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 PDF

Info

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
Application number
CN2011102797791A
Other languages
Chinese (zh)
Inventor
赖晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Westone Information Safe Platform Technology Co Ltd
Original Assignee
Sichuan Westone Information Safe Platform Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Westone Information Safe Platform Technology Co Ltd filed Critical Sichuan Westone Information Safe Platform Technology Co Ltd
Priority to CN2011102797791A priority Critical patent/CN102393812A/en
Publication of CN102393812A publication Critical patent/CN102393812A/en
Pending legal-status Critical Current

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

The implementation method of quick some multiplication algorithm in the elliptic curve cryptosystem
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:
If
Figure 268863DEST_PATH_IMAGE001
is defined on the limited prime field
Figure 2011102797791100002DEST_PATH_IMAGE002
;
Figure 881242DEST_PATH_IMAGE003
is the arbitrfary point, and
Figure 2011102797791100002DEST_PATH_IMAGE004
is arbitrary integer;
Input:
Figure 342310DEST_PATH_IMAGE005
;
Output:
Figure 2011102797791100002DEST_PATH_IMAGE006
;
A. make
Figure 709837DEST_PATH_IMAGE007
;
Figure 2011102797791100002DEST_PATH_IMAGE008
, ;
B. is decremented to
Figure 36706DEST_PATH_IMAGE011
, carries out:
A. make
Figure 2011102797791100002DEST_PATH_IMAGE012
;
b.
Figure 617860DEST_PATH_IMAGE013
Figure 2011102797791100002DEST_PATH_IMAGE014
Figure 890710DEST_PATH_IMAGE015
If c.
Figure 2011102797791100002DEST_PATH_IMAGE016
makes
Figure 557314DEST_PATH_IMAGE017
;
C. return .
The
Figure 573812DEST_PATH_IMAGE019
is
Figure 2011102797791100002DEST_PATH_IMAGE020
binary code.
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;
Fig. 2 is that curve of the present invention
Figure 9472DEST_PATH_IMAGE021
is gone up point and added and put territory number of operations doubly.
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
Figure 718802DEST_PATH_IMAGE001
is defined on the limited prime field ; is the arbitrfary point;
Figure 771007DEST_PATH_IMAGE004
is arbitrary integer, and
Figure 713555DEST_PATH_IMAGE019
is the binary coding of
Figure 89173DEST_PATH_IMAGE020
in the algorithm;
Input:
Figure 509790DEST_PATH_IMAGE005
;
Output:
Figure 920043DEST_PATH_IMAGE006
;
A. make
Figure 971176DEST_PATH_IMAGE007
;
Figure 896406DEST_PATH_IMAGE008
,
Figure 58397DEST_PATH_IMAGE009
;
B.
Figure 119894DEST_PATH_IMAGE010
is decremented to
Figure 341928DEST_PATH_IMAGE011
, carries out:
A. make
Figure 754455DEST_PATH_IMAGE012
;
b.
Figure 839403DEST_PATH_IMAGE014
Figure 29076DEST_PATH_IMAGE015
If c.
Figure 863652DEST_PATH_IMAGE016
makes
Figure 429762DEST_PATH_IMAGE017
;
C. return .
From the required storage space of algorithm; The storage space of more several kinds of some multiplication algorithms; For the number
Figure 967371DEST_PATH_IMAGE020
that binary digit has
Figure 2011102797791100002DEST_PATH_IMAGE022
to be grown; NAF algorithm and NAF_w algorithm all need extra
Figure 292173DEST_PATH_IMAGE023
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
Figure 490253DEST_PATH_IMAGE020
; 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
Figure 224991DEST_PATH_IMAGE006
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
Figure 833827DEST_PATH_IMAGE021
adds and puts doubly required territory number of operations; The point of two additions of symbol
Figure 2011102797791100002DEST_PATH_IMAGE024
expression is respectively to represent with
Figure 882686DEST_PATH_IMAGE025
coordinate system and
Figure 2011102797791100002DEST_PATH_IMAGE026
coordinate system; And they be to represent with
Figure 833980DEST_PATH_IMAGE027
coordinate system; For example; Two somes addition that
Figure 2011102797791100002DEST_PATH_IMAGE028
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:
Input:
Figure 739619DEST_PATH_IMAGE029
;
Output:
Figure 835751DEST_PATH_IMAGE006
;
A. make
Figure 2011102797791100002DEST_PATH_IMAGE030
;
B.
Figure 422721DEST_PATH_IMAGE031
is decremented to
Figure 2011102797791100002DEST_PATH_IMAGE032
, carries out:
A. make
Figure 225592DEST_PATH_IMAGE012
;
If b.
Figure 364449DEST_PATH_IMAGE033
makes
Figure 2011102797791100002DEST_PATH_IMAGE034
;
C. return
Figure 885561DEST_PATH_IMAGE018
;
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
Figure 995916DEST_PATH_IMAGE035
form doubly fast with Jacobian projection coordinate system all the time and representes;
Figure 2011102797791100002DEST_PATH_IMAGE036
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
Figure 311152DEST_PATH_IMAGE018
of expression with Jacobian projection coordinate system fast; In b goes on foot; Input is throwed coordinate system
Figure 302242DEST_PATH_IMAGE018
and
Figure 560365DEST_PATH_IMAGE036
that representes with affine coordinate system
Figure 142022DEST_PATH_IMAGE037
of point times expression fast with Jacobian; Calling hybrid coordinate is that the quick point of Jacobian-affine adds; Obtain adding result
Figure 790489DEST_PATH_IMAGE018
with the point of projection coordinate representation; Obtain at last to throw the dot product result
Figure 2011102797791100002DEST_PATH_IMAGE038
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:
Input:
Figure 585270DEST_PATH_IMAGE029
;
Output:
Figure 217240DEST_PATH_IMAGE006
;
A. make
Figure 868801DEST_PATH_IMAGE030
, ;
B.
Figure 247010DEST_PATH_IMAGE011
is incremented to
Figure 2011102797791100002DEST_PATH_IMAGE040
, carries out:
If a. makes
Figure 773859DEST_PATH_IMAGE041
;
B. make
Figure 2011102797791100002DEST_PATH_IMAGE042
;
C. return ;
Number of scans word bit from right to left not only needs the space of extra storage point
Figure 115159DEST_PATH_IMAGE043
; And
Figure 2011102797791100002DEST_PATH_IMAGE044
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;
Figure 456141DEST_PATH_IMAGE045
need throw coordinate
Figure 2011102797791100002DEST_PATH_IMAGE046
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:
If is defined on the limited prime field ;
Figure 650001DEST_PATH_IMAGE003
is the arbitrfary point, and
Figure 2011102797791100001DEST_PATH_IMAGE004
is arbitrary integer;
Input:
Figure 367421DEST_PATH_IMAGE005
;
Output:
Figure 2011102797791100001DEST_PATH_IMAGE006
;
A. make
Figure 700314DEST_PATH_IMAGE007
;
Figure 2011102797791100001DEST_PATH_IMAGE008
, ;
B.
Figure 2011102797791100001DEST_PATH_IMAGE010
is decremented to
Figure 150198DEST_PATH_IMAGE011
, carries out:
A. make
Figure 2011102797791100001DEST_PATH_IMAGE012
;
b.
Figure 351985DEST_PATH_IMAGE013
Figure 2011102797791100001DEST_PATH_IMAGE014
If c.
Figure 2011102797791100001DEST_PATH_IMAGE016
makes
Figure 95130DEST_PATH_IMAGE017
;
C. return .
2. the implementation method of quick some multiplication algorithm in the elliptic curve cryptosystem according to claim 1 is characterized in that: described
Figure 26177DEST_PATH_IMAGE019
binary coding for
Figure 2011102797791100001DEST_PATH_IMAGE020
.
CN2011102797791A 2011-09-20 2011-09-20 Implementation method for rapid scalar multiplication algorithm in elliptic curve cryptosystem Pending CN102393812A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101262345A (en) * 2008-01-04 2008-09-10 清华大学 Time point system for ellipse curve password system

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
赖晖: "椭圆曲线密码体制的研究及DSP实现", 《CNKI中国知网》 *

Cited By (12)

* Cited by examiner, † Cited by third party
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