CN107425974A - The Hardware Implementation of KP computings on a kind of FourQ elliptic curves - Google Patents

The Hardware Implementation of KP computings on a kind of FourQ elliptic curves Download PDF

Info

Publication number
CN107425974A
CN107425974A CN201710351975.2A CN201710351975A CN107425974A CN 107425974 A CN107425974 A CN 107425974A CN 201710351975 A CN201710351975 A CN 201710351975A CN 107425974 A CN107425974 A CN 107425974A
Authority
CN
China
Prior art keywords
mrow
msup
msub
fourq
elliptic curves
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.)
Granted
Application number
CN201710351975.2A
Other languages
Chinese (zh)
Other versions
CN107425974B (en
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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201710351975.2A priority Critical patent/CN107425974B/en
Publication of CN107425974A publication Critical patent/CN107425974A/en
Application granted granted Critical
Publication of CN107425974B publication Critical patent/CN107425974B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)
  • Other Investigation Or Analysis Of Materials By Electrical Means (AREA)

Abstract

The present invention proposes a kind of Hardware Implementation of KP computings on FourQ elliptic curves, for realizing the KP computings on FourQ elliptic curves, and reduces complexity of the KP computings of elliptic curve in hardware implementation process, realizes that step is:Select the basic point P (x, y) and KP computing scalars K on FourQ elliptic curves;Build homomorphism computing ψ (P), the φ (P) and ψ (φ (P)) on FourQ elliptic curves;Build and concordance list is pre-stored on FourQ elliptic curves;KP computing scalars K is decomposed;Build the point add operation and point doubling on FourQ elliptic curves;The hardware structure of KP computings is built on FourQ elliptic curves.The system resource of the present invention is unrestricted and safe, on the elliptic curve cryptosystems such as digital signature and encryption key distribution.

Description

The Hardware Implementation of KP computings on a kind of FourQ elliptic curves
Technical field
The invention belongs to field of information security technology, and in particular to a kind of hardware of KP computings on FourQ elliptic curves is real Existing method.On the elliptic curve cryptosystems such as digital signature and encryption key distribution.
Background technology
Digital signature is a kind of important technology of information privacy, the method for differentiating digital information, and digital signature uses The technology in public key encryption field realizes, with the development of information security, people to the security of signature algorithm, perform speed and Resource consumption, there is higher requirement.The hardware realization of digital signature is the important implementation of information privacy, and elliptic curve Digital signature in cipher system is most widely used one kind, and the KP computings of elliptic curve are the core of elliptic curve cryptosystem Where the heart.
Elliptic curve is a kind of geometric object that property is extremely abundant in mathematics, and elliptic curve cryptosystem is that one kind is based on The public-key cryptosystem of dispersed accumulation, traditional elliptic curve include the elliptic curve based on prime field, based on extension field Elliptic curve and Koblitz elliptic curves.KP computings are that the important operation of private key, KP computings are generated in elliptic curve cryptosystem Hardware Implementation, be elliptic curve cryptosystem Hardware Implementation core, the KP computings of conventional elliptical curve Hardware Implementation usually require to build disassembly in the binary system algoritic module, build point processing module and build basic logic operations Unit module, complexity is high in commission and has that system resource is limited and operational efficiency is held for the KP computings of conventional elliptical curve , the drawbacks of certain be present in terms of hardware realization in the problems such as row environment influences.
FourQ elliptic curves are a new branches of elliptic curve, FourQ elliptic curves in Craig Costello and Paper " the FourQ elliptic curves based on Q elliptic curves structure " (Springer, Heidelberg that Patrick Longa are delivered (2015) vol.9452, pp.214-235) in be suggested.FourQ elliptic curves are that a kind of security and performance are very prominent Elliptic curve, there is parameter the to float clear superiority such as small, safety, order of a curve be sufficiently large also have consumption on hardware realization The advantages that resource is few, and execution efficiency is high.KP computings do not have specific Hardware Implementation on FourQ elliptic curves at present.
The content of the invention
The defects of it is an object of the invention to overcome above-mentioned prior art, it is proposed that KP is transported on a kind of FourQ elliptic curves The Hardware Implementation of calculation, the hardware structure by building KP computings on FourQ elliptic curves are realized on FourQ elliptic curves KP computings, and reduce complexity of the KP computings of elliptic curve in hardware implementation process.
The present invention technical thought be:Transported by homomorphism in the decomposition to KP computing scalars K and structure FourQ elliptic curves Calculate, and give the specific execution flow of KP computings, then build logical operation module, build prestoring for FourQ elliptic curves Concordance list module is stored up, build the logic processing module of FourQ elliptic curves and builds the point processing module of FourQ elliptic curves, The Hardware Implementation of KP computings on FourQ elliptic curves is obtained according to above step.
According to above technical thought, realize that the technical scheme that the object of the invention is taken comprises the following steps:
(1) FourQ elliptic curves are selectedOn basic point P (x, y) and KP computing scalars K:
(1a) defines FourQ elliptic curvesAccording to FourQ elliptic curvesNormal equation, it is ellipse in FourQ Circular curveUpper random selection basic point P (x, y), wherein, x represents FourQ elliptic curvesThe horizontal seat of place coordinate system Mark, y represent FourQ elliptic curvesThe ordinate of place coordinate system;
(1b) selects one and is less than FourQ elliptic curvesThe value of normal equation rank, as KP computing scalars K;
(2) FourQ elliptic curves are builtOn homomorphism computing ψ (P):
(2a) defines three FourQ elliptic curves:ε/F andWherein, F is common finite field,It is flat Square domain,For FourQ elliptic curvesImplicit representation, ε be FourQ elliptic curves ε/F implicit representation, εwIt is ellipse for FourQ Circular curveImplicit representation;
(2b) defines three FourQ elliptic curvesε/F andMapping expression formula and FourQ elliptic curvesOn homomorphism computing ψw(P):Define from FourQ elliptic curvesUpper point is to FourQ elliptic curvesUpper point Relationship map expression formula δ, from FourQ elliptic curvesUpper point is to FourQ elliptic curvesThe relation mapping table of upper point Up to formula δ-1, from FourQ elliptic curves ε/F point to FourQ elliptic curvesThe relationship map expression formula τ of upper point, from FourQ Elliptic curveUpper point expresses formula to the relationship map put on FourQ elliptic curves ε/FDefine FourQ elliptic curves simultaneouslyOn homomorphism computing ψw(P);
(2c) expresses formula δ, δ according to relationship map-1, τ andAnd homomorphism computing ψw(P) FourQ elliptic curves, are derived On homomorphism computing ψ (P);
(3) FourQ elliptic curves are derivedOn homomorphism computing φ (P):According to FourQ elliptic curvesOn Homomorphism computing ψ (P), derive homomorphism computing ψ (P) eigenvalue λψ', and according to homomorphism computing ψ (P) eigenvalue λψ', derive homomorphism fortune Calculate φ (P) eigenvalue λφ', further according to homomorphism computing φ (P) eigenvalue λφ' derive FourQ elliptic curvesOn it is same State computing φ (P);
(4) FourQ elliptic curves are builtOn homomorphism computing ψ (φ (P)):By the knot of homomorphism computing φ (P) computing Input value of the fruit value as homomorphism computing ψ (P), obtains FourQ elliptic curvesOn homomorphism computing ψ (φ (P));
(5) FourQ elliptic curves are builtUpper pre-stored concordance list:
(5a) utilizes FourQ elliptic curvesOn homomorphism computing φ (P), homomorphism computing ψ (P) and homomorphism computing ψ (φ (P)), build FourQ elliptic curvesUpper pre-stored T [u] expression formula:
T [u]=P+ [u0]φ(P)+[u1]ψ(P)+[u2]ψ(φ(P))
Wherein, u is integer and 0≤u≤7, u2,u1,u0For u binary representation;
(5b) utilizes FourQ elliptic curvesU=0, u=1, u=2, u are worked as in upper pre-stored T [u] expression formula, calculating =3, the pre-stored T [u] when u=4, u=5 and u=6, obtains FourQ elliptic curvesOn pre-stored T [0], T [1], T [2], T [3], T [4], T [5] and T [6];
(5c) utilizes FourQ elliptic curvesOn pre-stored T [0], T [1], T [2], T [3], T [4], T [5] and T [6], FourQ elliptic curves are builtUpper pre-stored concordance list;
(6) KP computing scalars K is decomposed, obtains parameter vector (d64,.....,d0) and conceptual vector (m64,.....,m0), wherein, d64And d0For the 65th and first parameter vector, m64And m065th and first Bit flag vector;
(7) FourQ elliptic curves are builtOn point add operation and point doubling;
(8) in FourQ elliptic curvesOn build the hardware structures of KP computings:
(8a) is in FourQ elliptic curvesOn, build including add operation submodule, modular multiplication submodule and ask The logical operation module of inverse operation submodule, for providing basic computing for pre-stored concordance list module and point processing module and patrolling Volume;
(8b) utilizes FourQ elliptic curvesOn homomorphism computing φ (P), homomorphism computing ψ (P) and homomorphism computing ψ (φ (P)), in FourQ elliptic curvesOn build pre-stored concordance list module, prestored for being provided for logic processing module Stored Value;
(8c) utilizes parameter vector (d64,.....,d0) and conceptual vector (m64,.....,m0), in FourQ elliptic curvesOn build data processing module, for providing the data of logic judgment for logic processing module;
(8d) utilizes FourQ elliptic curvesOn point add operation and point doubling, in FourQ elliptic curves On build point processing module, for providing point add operation and point doubling for logic processing module;
(8e) utilizes FourQ elliptic curvesUpper pre-stored concordance list, parameter vector (d64,.....,d0) and mark Vector (m64,.....,m0) and FourQ elliptic curvesOn point add operation and point doubling, in FourQ elliptic curvesOn build logic processing module, for obtaining FourQ elliptic curvesThe end value of upper KP computings.
The present invention compared with prior art, has advantages below:
(1) present invention is by building logical operation module, pre-stored concordance list module, logic processing module, point processing mould Block and logic processing module, realize a kind of Hardware Implementation of KP computings on FourQ elliptic curves.
(2) present invention improves the arithmetic speed of KP computings, by KP computings by establishing pre-stored concordance list module Scalar K is decomposed and is utilized the computings such as montgomery modulo multiplication, is improved security, is reduced system resource occupancy.
Brief description of the drawings
Fig. 1 is the implementation process figure of the present invention;
Fig. 2 is to realize the hardware architecture structural representation that the present invention obtains;
Embodiment
Below in conjunction with the accompanying drawings and specific embodiment, the invention will be further described.
Reference picture 1, the Hardware Implementation of KP computings, comprises the following steps on a kind of FourQ elliptic curves:
Step 1, FourQ elliptic curves are selectedOn basic point P (x, y) and KP computing scalars K:
(1a) defines FourQ elliptic curvesAccording to normal equation in FourQ elliptic curvesUpper random selection Basic point P (x, y), normal equation are:Wherein, x represents FourQ elliptic curvesInstitute In the abscissa of coordinate system, y represents FourQ elliptic curvesThe ordinate of place coordinate system, d are plural number, and χ is that FourQ is ellipse Circular curveImplicit representation,For a square domain, and d= 125317048443780598345676279555970305165*i+42058576488057 77768770, i indicate for plural number;
(1b) selects one and is less than FourQ elliptic curvesThe value of normal equation rank, as KP computing scalars K.
Step 2, FourQ elliptic curves are builtOn homomorphism computing ψ (P):
(2a) defines three FourQ elliptic curves:ε/F andFourQ elliptic curvesNormal equation For:FourQ elliptic curves ε/F normal equation is:ε/F:-x2+y2=1+dx2y2, FourQ elliptic curvesNormal equation be:
Wherein,For a square domain, F is common finite field,For FourQ elliptic curvesPlural d in normal equation Conjugate complex number, εwFor FourQ elliptic curvesImplicit representation, ε be FourQ elliptic curves ε/F implicit representation,For FourQ elliptic curvesImplicit representation;
(2b) defines three FourQ elliptic curvesε/F andMapping expression formula and FourQ elliptic curvesOn homomorphism computing ψw(P):Define respectively from FourQ elliptic curvesUpper point is to FourQ elliptic curvesOn The relationship map expression formula of pointFrom FourQ elliptic curvesUpper point is oval bent to FourQ LineThe relationship map expression formula δ of upper point-1From FourQ elliptic curves ε/F Point arrives FourQ elliptic curvesThe relationship map expression formula τ of upper point:From FourQ Elliptic curveUpper point expresses formula to the relationship map put on FourQ elliptic curves ε/F Together Shi Dingyi FourQ elliptic curvesOn homomorphism computing
Wherein, γ be constant andc0,2,0,1、c9,0,4,0For ci,j,k,lThe calculated value of expression formula, wherein,P=2127-1,
(2c), which is utilized, maps expression formula δ, δ-1And FourQ elliptic curvesOn homomorphism computing ψw(P) it is multiplied, obtains To expression formula:
(2d) utilizes expression formulaψw(P) it is multiplied with τ, it can be deduced that FourQ elliptic curvesOn homomorphism computingWherein, c-2,3,-1,0、c-140,99,0,0、c-76,57,-36,24And c-9,-6,4,3For ci,j,k,lThe calculating of expression formula Value.
Step 3, FourQ elliptic curves are derivedOn homomorphism computing φ (P):
(3a) is according to FourQ elliptic curvesOn homomorphism computing ψ (P), calculate its characteristic value
And λψ'=- λψmodN
Wherein, N is that the binary number of 256, r=15437785290780909242, and α=V/r ∈ Z, Z are integer, V= 49293975489306344711751403123270296814;
(3b) utilizes expression formula 40v2=4p2-tε 2Derive FourQ elliptic curvesOn homomorphism computing φ (P) Characteristic value:
λφ'=- λφmodN
Wherein, tε=136368062447564341573735631776713817674;
(3c) derives FourQ elliptic curvesOn homomorphism computing φ (P):According to FourQ elliptic curvesOn Homomorphism computing φ (P) eigenvalue λφ', calculate FourQ elliptic curvesOn homomorphism computing φ (P) abscissa xφWith ordinate yφ
Then FourQ elliptic curvesOn homomorphism computing φ (P) be:φ (P)=(xφ,yφ), wherein, c7,5,3,2、 c21,15,10,7And c3,2,1,1For ci,j,k,lThe calculated value of expression formula.
Step 4, FourQ elliptic curves are builtOn homomorphism computing ψ (φ (P)):By homomorphism computing φ (P) computing Input value of the end value as homomorphism computing ψ (P), obtain FourQ elliptic curvesOn homomorphism computing ψ (φ (P)).
Step 5, FourQ elliptic curves are builtOn pre-stored concordance list:
(5a) utilizes FourQ elliptic curvesOn homomorphism computing φ (P), homomorphism computing ψ (P) and homomorphism computing ψ (φ (P)), build FourQ elliptic curvesOn pre-stored T [u] expression formula:
T [u]=P+ [u0]φ(P)+[u1]ψ(P)+[u2]ψ(φ(P))
Wherein, u is integer and 0≤u≤7, u2,u1,u0For u binary representation;
(5b) utilizes FourQ elliptic curvesOn pre-stored T [u] expression formula, calculating work as u=0, u=1, u=2, u =3, when u=4, u=5 and u=6, the value of T [u] expression formula is pre-stored, obtains FourQ elliptic curvesOn it is pre-stored:T [0], T [1], T [2], T [3], T [4], T [5] and T [6];
(5c) utilizes FourQ elliptic curvesOn it is pre-stored:T [0], T [1], T [2], T [3], T [4], T [5] and T [6] FourQ elliptic curves are builtOn pre-stored concordance list, can exchange KP computings for a small amount of storage performs effect Rate;
Step 6, KP computing scalars K is decomposed, obtains parameter vector (d64,.....,d0) and conceptual vector (m64,.....,m0), wherein, d64And d0For the 65th and first parameter vector, m64And m065th and first Bit flag vector:
(6a) selects KP computings scalar K to be decomposed substrate B=(b1,b2,b3,b4),
Wherein, b1,b2,b3,b4For the subvector in substrate B, b1,b2,b3,b4Respectively:
224*b1:=(16 (- 60 α+13r-10), 4 (- 10 α -3r+12), 4 (- 15 α+5r-13), -13 α -6r+3)
8*b2:=(32 (5 α-r), 8,8,2 α+r)
224*b3:=(16 (80 α -15r+18), 4 (18 α -3r-16) 4 (- 15-9r+15), 15 α+8r+3 α)
448*b4:=(16 (- 360 α+77r+42), 4 (42 α+17r+72), 4 (85 α -21r-77), (- 77 α -36r-17))
(6b) definition conversion base
Wherein,To change the subvector in base A,Respectively:
(6c) is according to KP computing scalars K, substrate B and conversion base A, calculating KP computing scalars K decomposition value (a1,a2,a3, a4):
Wherein,0≤ai≤264I=1,2,3,4, biFor substrate B coordinate;
Decomposition value (a of (6d) to KP computing scalars K1,a2,a3,a4) encoded, obtain parameter vector (d64,....., d0) and conceptual vector (m64,.....,m0):
(6d1) defines initial parameter m64And z, and carry out assignment:m64=1, z=0;
(6d2) is if z<64, then perform assignment:dz=0, mz=-a1[z+1], j=2, perform (6d3) and otherwise terminate;
(6d3) performs assignment if j≤4:
dz=dz+(aj[0]<<(j-2)), c=(az[z+1]|aj[0])^a1[z+1], aj=(aj>>1)+c, j++, otherwise Perform (6d4);
(6d4) carries out add-one operation to z, performs (6d2);
(6d5) obtains parameter vector (d64,.....,d0) and conceptual vector (m64,.....,m0)。
Step 7, FourQ elliptic curves are builtOn point add operation and point doubling:
(7a) randomly chooses FourQ elliptic curvesOn point p (x1,y1)、q(x2,y2)、r(x4,y4), according to Huseyin Hisi theory:
FourQ elliptic curvesPoint add operation on conventional coordinates (x, y) is:
FourQ elliptic curvesPoint doubling on conventional coordinates (x, y) is:
Wherein:A=-1, x1,x2,x3,x4,x5For the abscissa in coordinate system, y1,y2,y3,y4,y5Vertical seat in coordinate system Mark;
(7b) is by FourQ elliptic curvesUpper (x, y) coordinate system is converted into FourQ elliptic curvesUpper (X, Y, Z, T) coordinate system, conversion regime is:X=X, y=Y, T=XY/Z, Z are depending on actual conditions, according to FourQ elliptic curvesUpper (X, Y, Z, T) coordinate system, carries out the conversion of coordinate:
(i) by (x1,y1) it is converted into (X1, Y1, Z1, T1);
(ii) by (x2,y2) it is converted into (X2, Y2, Z2, T2);
(iii) by (x3,y3) it is converted into (X3, Y3, Z3, T3);
(iv) by (x4,y4) it is converted into (X4, Y4, Z4, T4);
(v) by (x5,y5) it is converted into (X5, Y5, Z5, T5);
(7c) is according to FourQ elliptic curves(X, Y, Z, T) coordinate system, FourQ elliptic curvesOn point Add computing p+q=K (x3,y3) be converted into:
(X1, Y1, Z1, T1)+(X2, Y2, Z2, T2)=(X3, Y3, Z3, T3)
Specifically coordinate is respectively:
X3=(X1Y2-Y1X2)(T1Z2+Z1T2);
Y3=(Y1Y2+aX1X2)(T1Z2-Z1T2);
Z3=(Y1Y2+aX1X2)(X1Y2-Y1X2);
T3=(T1Z2+Z1T2)(T1Z2-Z1T2);
FourQ elliptic curves χ/Fp 2Upper point doubling W (x5,y5)=2r (x4,y4) be converted into:2(X4, Y4, Z4, T4)= (X5, Y5, Z5, T5),
Specifically coordinate is respectively:
X5=2X4Y4(2Z4 2-Y4 2-aX4 2);
Y5=(Y4+aX4 2)(Y4 2-aX4 2);
Z5=(Y4 2+aX4 2)(2Z4 2-Y4 2-aX4 2);
T5=2X4Y4(Y4 2-aX4 2)。
Step 8, reference picture 2, FourQ elliptic curves are builtThe hardware structure of upper KP computings:
(8a) builds the logical operation mould including add operation submodule, modular multiplication submodule and inversion operation submodule Block, logical operation submodule are respectively:
(i) add operation submodule is built:On square domain, add operation is XOR, is utilizedOn square domain XOR build add operation module;
(ii) modular multiplication submodule is built:On square domain, from montgomery modulo multiplication as modular multiplication, modular multiplication Operation expression is:C=a*bmod p are rightMiddle element a and b carry out Montgomery translation operation, obtain A=a*R mod p With B=b*R mod p, by modular multiplication expression formula c=a*bmod p, C=A*B mod p are converted into, by Montgomery also Former computing c=C*R-1Mod p obtain the result c of Montgomery modular multiplication, wherein,D=232, n is positive integer, R=dnAnd p<R;
(iii) inversion operation submodule is built:On square domain, inverted from Montgomery as inversion operation,It is rightMiddle element v Montgomeries translation operation, obtains V=v*R mod p, is expressed using Montgomery inversion operation Formula:U=V-1R2Mod p, computing u=U*R is reduced by Montgomery-1Mod p obtain the result u of Montgomery inversion operation.
(8b) utilizes FourQ elliptic curvesOn homomorphism computing φ (P), homomorphism computing ψ (P) and homomorphism computing ψ (φ (P)), in FourQ elliptic curvesOn build pre-stored concordance list module, prestored for being provided for logic processing module Stored Value;
(8c) utilizes parameter vector (d64,.....,d0) and conceptual vector (m64,.....,m0), in FourQ elliptic curvesOn build data processing module, for providing the data of logic judgment for logic processing module;
(8d) utilizes FourQ elliptic curvesOn point add operation and point doubling, in FourQ elliptic curves On build point processing module, for providing point add operation and point doubling for logic processing module;
(8e) utilizes FourQ elliptic curvesUpper pre-stored concordance list, parameter vector (d64,.....,d0) and mark Vector (m64,.....,m0) and FourQ elliptic curvesOn point add operation and point doubling, in FourQ elliptic curvesOn build logic processing module, for obtaining FourQ elliptic curvesThe end value of upper KP computings
Conceptual vector (the m that (8e1) decomposes to obtain using KP computing scalars K64,.....,m0), defconstant si, sentenced It is disconnected, if mi=1, then si=1, otherwise si=-1, wherein, miFor (m64,.....,m0) in value, i is integer and 0≤i≤64;
(8e2) utilizes s64With FourQ elliptic curvesOn pre-stored concordance list in T [d64], perform computing s64T [d64] obtain initial value Q, wherein s64For siMiddle i=64 value;
(8e3) performs circulate operations of the i from 63 to 0:
(i) FourQ elliptic curves are performed to initial value QUpper point doubling, result is assigned to Q again;
(ii) to FourQ elliptic curvesThe Q and s that upper point doubling obtainsiT[di] perform FourQ elliptic curvesUpper point add operation, result is assigned to Q again;
(8e4) obtains FourQ elliptic curvesUpper logic processing module.

Claims (10)

1. the Hardware Implementation of KP computings, comprises the following steps on a kind of FourQ elliptic curves:
(1) FourQ elliptic curves are selectedOn basic point P (x, y) and KP computing scalars K:
(1a) defines FourQ elliptic curvesAccording to FourQ elliptic curvesNormal equation, it is oval bent in FourQ LineUpper random selection basic point P (x, y), wherein, x represents FourQ elliptic curvesThe abscissa of place coordinate system, y Represent FourQ elliptic curvesThe ordinate of place coordinate system;
(1b) selects one and is less than FourQ elliptic curvesThe value of normal equation rank, as KP computing scalars K;
(2) FourQ elliptic curves are builtOn homomorphism computing ψ (P):
(2a) defines three FourQ elliptic curves:ε/F andWherein, F is common finite field,For a square domain, For FourQ elliptic curvesImplicit representation, ε be FourQ elliptic curves ε/F implicit representation, εwFor FourQ elliptic curvesImplicit representation;
(2b) defines three FourQ elliptic curvesε/F andMapping expression formula and FourQ elliptic curves On homomorphism computing ψw(P):Define from FourQ elliptic curvesUpper point is to FourQ elliptic curvesThe relation of upper point is reflected Penetrate expression formula δ, from FourQ elliptic curvesUpper point is to FourQ elliptic curvesThe relationship map expression formula δ of upper point-1、 Put from FourQ elliptic curves ε/F to FourQ elliptic curvesIt is the relationship map expression formula τ of upper point, oval bent from FourQ LineUpper point expresses formula to the relationship map put on FourQ elliptic curves ε/FDefine FourQ elliptic curves simultaneously On homomorphism computing ψw(P);
(2c) expresses formula δ, δ according to relationship map-1, τ andAnd homomorphism computing ψw(P) FourQ elliptic curves, are derivedOn Homomorphism computing ψ (P);
(3) FourQ elliptic curves are derivedOn homomorphism computing φ (P):According to FourQ elliptic curvesOn homomorphism Computing ψ (P), derive homomorphism computing ψ (P) eigenvalue λψ', and according to homomorphism computing ψ (P) eigenvalue λψ', derive homomorphism computing φ (P) eigenvalue λφ', further according to homomorphism computing φ (P) eigenvalue λφ' derive FourQ elliptic curvesOn homomorphism fortune Calculate φ (P);
(4) FourQ elliptic curves are builtOn homomorphism computing ψ (φ (P)):By the end value of homomorphism computing φ (P) computing As homomorphism computing ψ (P) input value, FourQ elliptic curves are obtainedOn homomorphism computing ψ (φ (P));
(5) FourQ elliptic curves are builtUpper pre-stored concordance list:
(5a) utilizes FourQ elliptic curvesOn homomorphism computing φ (P), homomorphism computing ψ (P) and homomorphism computing ψ (φ (P) FourQ elliptic curves), are builtUpper pre-stored T [u] expression formula:
T [u]=P+ [u0]φ(P)+[u1]ψ(P)+[u2]ψ(φ(P))
Wherein, u is integer and 0≤u≤7, u2, u1, u0For u binary representation;
(5b) utilizes FourQ elliptic curvesUpper pre-stored T [u] expression formula, calculate when u=0, u=1, u=2, u=3, Pre-stored T [u] when u=4, u=5 and u=6, obtains FourQ elliptic curvesOn pre-stored T [0], T [1], T [2], T [3], T [4], T [5] and T [6];
(5c) utilizes FourQ elliptic curvesOn pre-stored T [0], T [1], T [2], T [3], T [4], T [5] and T [6], structure Build FourQ elliptic curvesUpper pre-stored concordance list;
(6) KP computing scalars K is decomposed, obtains parameter vector (d64... .., d0) and conceptual vector (m64... .., m0), wherein, d64And d0For the 65th and first parameter vector, m64And m065th and the first bit flag vector;
(7) FourQ elliptic curves are builtOn point add operation and point doubling;
(8) in FourQ elliptic curvesOn build the hardware structures of KP computings:
(8a) is in FourQ elliptic curvesOn, build including add operation submodule, modular multiplication submodule and inversion operation The logical operation module of submodule, for providing basic arithmetic logic for pre-stored concordance list module and point processing module;
(8b) utilizes FourQ elliptic curvesOn homomorphism computing φ (P), homomorphism computing ψ (P) and homomorphism computing ψ (φ (P)), in FourQ elliptic curvesOn build pre-stored concordance list module, it is pre-stored for being provided for logic processing module Value;
(8c) utilizes parameter vector (d64... .., d0) and conceptual vector (m64... .., m0), in FourQ elliptic curves On build data processing module, for providing the data of logic judgment for logic processing module;
(8d) utilizes FourQ elliptic curvesOn point add operation and point doubling, in FourQ elliptic curvesOn take Lay foundations computing module, for providing point add operation and point doubling for logic processing module;
(8e) utilizes FourQ elliptic curvesUpper pre-stored concordance list, parameter vector (d64... .., d0) and conceptual vector (m64... .., m0) and FourQ elliptic curvesOn point add operation and point doubling, in FourQ elliptic curves On build logic processing module, for obtaining FourQ elliptic curvesThe end value of upper KP computings.
2. the Hardware Implementation of KP computings on a kind of FourQ elliptic curves according to claim 1, it is characterised in that: FourQ elliptic curves described in step (1a)Normal equation, its expression formula is:
<mrow> <mi>&amp;chi;</mi> <mo>/</mo> <msub> <mi>F</mi> <msup> <mi>p</mi> <mn>2</mn> </msup> </msub> <mo>:</mo> <mo>-</mo> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>y</mi> <mn>2</mn> </msup> <mo>=</mo> <mn>1</mn> <mo>+</mo> <msup> <mi>dx</mi> <mn>2</mn> </msup> <msup> <mi>y</mi> <mn>2</mn> </msup> </mrow>
Wherein, d is plural number, and χ is FourQ elliptic curvesImplicit representation,For a square domain, and d= 125317048443780598345676279555970305165*i+42058576488057 77768770, i indicate for plural number.
3. the Hardware Implementation of KP computings on a kind of FourQ elliptic curves according to claim 1, it is characterised in that: Three FourQ elliptic curves described in step (2a)ε/F andIts normal equation is respectively:
(i) FourQ elliptic curvesNormal equation be:
<mrow> <mover> <mi>&amp;epsiv;</mi> <mo>~</mo> </mover> <mo>/</mo> <mi>F</mi> <mo>:</mo> <mo>-</mo> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>y</mi> <mn>2</mn> </msup> <mo>=</mo> <mn>1</mn> <mo>+</mo> <mover> <mi>d</mi> <mo>~</mo> </mover> <msup> <mi>x</mi> <mn>2</mn> </msup> <msup> <mi>y</mi> <mn>2</mn> </msup> </mrow>
Wherein,For FourQ elliptic curvesPlural d conjugate complex number in normal equation;
(ii) FourQ elliptic curves ε/F normal equation is:
ε/F:-x2+y2=1+dx2y2
(iii) FourQ elliptic curvesNormal equation be:
<mrow> <msub> <mi>&amp;epsiv;</mi> <mi>w</mi> </msub> <mo>/</mo> <msub> <mi>F</mi> <msup> <mi>p</mi> <mn>2</mn> </msup> </msub> <mo>:</mo> <msup> <mi>y</mi> <mn>2</mn> </msup> <mo>=</mo> <msup> <mi>x</mi> <mn>3</mn> </msup> <mo>-</mo> <mrow> <mo>(</mo> <mrow> <mn>30</mn> <mo>-</mo> <mn>8</mn> <msqrt> <mn>5</mn> </msqrt> </mrow> <mo>)</mo> </mrow> <mi>x</mi> <mo>+</mo> <mrow> <mo>(</mo> <mrow> <mn>56</mn> <mo>-</mo> <mn>32</mn> <msqrt> <mn>5</mn> </msqrt> </mrow> <mo>)</mo> </mrow> <mo>.</mo> </mrow>
4. the Hardware Implementation of KP computings on a kind of FourQ elliptic curves according to claim 1, it is characterised in that: Three FourQ elliptic curves described in step (2b)ε/F andMapping expression formula and FourQ elliptic curvesOn homomorphism computing ψw(P), its expression formula is respectively:
(i) FourQ elliptic curvesUpper point is to FourQ elliptic curvesThe relationship map expression formula δ of upper point:
<mrow> <mi>&amp;delta;</mi> <mo>:</mo> <mrow> <mo>(</mo> <mrow> <mfrac> <mrow> <mi>&amp;gamma;</mi> <mrow> <mo>(</mo> <mrow> <mi>x</mi> <mo>-</mo> <mn>4</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mi>y</mi> </mfrac> <mo>,</mo> <mfrac> <mrow> <mi>x</mi> <mo>-</mo> <mn>4</mn> <mo>-</mo> <msub> <mi>c</mi> <mrow> <mn>0</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> </mrow> </msub> </mrow> <mrow> <mi>x</mi> <mo>-</mo> <mn>4</mn> <mo>+</mo> <msub> <mi>c</mi> <mrow> <mn>0</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> </mrow> </msub> </mrow> </mfrac> </mrow> <mo>)</mo> </mrow> </mrow>
Wherein, γ be constant andc0,2,0,1For cI, j, k, lThe calculated value of expression formula, I, j, k, lFor integer combinations;
(ii) FourQ elliptic curves are definedUpper point is to FourQ elliptic curvesThe relationship map expression formula δ of upper point-1
<mrow> <msup> <mi>&amp;delta;</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>:</mo> <mrow> <mo>(</mo> <mrow> <mfrac> <mrow> <msub> <mi>c</mi> <mrow> <mn>0</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <mrow> <mi>y</mi> <mo>+</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> </mrow> <mrow> <mn>1</mn> <mo>-</mo> <mi>y</mi> </mrow> </mfrac> <mo>+</mo> <mn>4</mn> <mo>,</mo> <mfrac> <mrow> <msub> <mi>c</mi> <mrow> <mn>0</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <mrow> <mi>y</mi> <mo>+</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> <mi>&amp;gamma;</mi> </mrow> <mrow> <mi>x</mi> <mrow> <mo>(</mo> <mrow> <mn>1</mn> <mo>-</mo> <mi>y</mi> </mrow> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow> <mo>)</mo> </mrow> </mrow>
(iii) define point on FourQ elliptic curves ε/F and arrive FourQ elliptic curvesThe relationship map expression formula τ of upper point:
<mrow> <mi>&amp;tau;</mi> <mo>:</mo> <mrow> <mo>(</mo> <mrow> <mfrac> <mrow> <mn>2</mn> <mi>x</mi> <mi>y</mi> </mrow> <mrow> <mrow> <mo>(</mo> <mrow> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>y</mi> <mn>2</mn> </msup> </mrow> <mo>)</mo> </mrow> <msqrt> <mover> <mi>d</mi> <mo>~</mo> </mover> </msqrt> </mrow> </mfrac> <mo>,</mo> <mfrac> <mrow> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>-</mo> <msup> <mi>y</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>2</mn> </mrow> <mrow> <msup> <mi>y</mi> <mn>2</mn> </msup> <mo>-</mo> <msup> <mi>x</mi> <mn>2</mn> </msup> </mrow> </mfrac> </mrow> <mo>)</mo> </mrow> </mrow>
(iv) FourQ elliptic curves are definedUpper point expresses formula to the relationship map put on FourQ elliptic curves ε/F
<mrow> <mover> <mi>&amp;tau;</mi> <mo>~</mo> </mover> <mo>:</mo> <mrow> <mo>(</mo> <mrow> <mfrac> <mrow> <mn>2</mn> <mi>x</mi> <mi>y</mi> <msqrt> <mover> <mi>d</mi> <mo>~</mo> </mover> </msqrt> </mrow> <mrow> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>-</mo> <msup> <mi>y</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>2</mn> </mrow> </mfrac> <mo>,</mo> <mfrac> <mrow> <msup> <mi>y</mi> <mn>2</mn> </msup> <mo>-</mo> <msup> <mi>x</mi> <mn>2</mn> </msup> </mrow> <mrow> <msup> <mi>y</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>x</mi> <mn>2</mn> </msup> </mrow> </mfrac> </mrow> <mo>)</mo> </mrow> </mrow>
(v) FourQ elliptic curves are definedOn homomorphism computing ψw(P):
<mrow> <msub> <mi>&amp;psi;</mi> <mi>w</mi> </msub> <mrow> <mo>(</mo> <mi>P</mi> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <msup> <mrow> <mo>(</mo> <mrow> <mo>-</mo> <mfrac> <mi>x</mi> <mn>2</mn> </mfrac> <mo>-</mo> <mfrac> <msub> <mi>c</mi> <mrow> <mn>9</mn> <mo>,</mo> <mn>0</mn> <mo>,</mo> <mn>4</mn> <mo>,</mo> <mn>0</mn> </mrow> </msub> <mrow> <mi>x</mi> <mo>-</mo> <mn>4</mn> </mrow> </mfrac> </mrow> <mo>)</mo> </mrow> <mi>p</mi> </msup> <mo>,</mo> <msup> <mrow> <mo>(</mo> <mrow> <mo>-</mo> <mfrac> <mi>y</mi> <mrow> <mi>i</mi> <msqrt> <mn>2</mn> </msqrt> </mrow> </mfrac> <mrow> <mo>(</mo> <mrow> <mo>-</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mo>+</mo> <mfrac> <msub> <mi>c</mi> <mrow> <mn>9</mn> <mo>,</mo> <mn>0</mn> <mo>,</mo> <mn>4</mn> <mo>,</mo> <mn>0</mn> </mrow> </msub> <msup> <mrow> <mo>(</mo> <mrow> <mi>x</mi> <mo>-</mo> <mn>4</mn> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mfrac> </mrow> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mi>p</mi> </msup> </mrow> <mo>)</mo> </mrow> </mrow>
Wherein:P=2127- 1, c9,0,4,0For cI, j, k, lThe calculated value of expression formula,
5. the Hardware Implementation of KP computings on a kind of FourQ elliptic curves according to claim 1, it is characterised in that: FourQ elliptic curves are derived described in step (2c)On homomorphism computing ψ (P), realize that step is:
(2c1), which is utilized, maps expression formula δ, δ-1And FourQ elliptic curvesOn homomorphism computing ψw(P) it is multiplied, obtains table Up to formula:
<mrow> <msub> <mi>&amp;delta;&amp;psi;</mi> <mi>w</mi> </msub> <msup> <mi>&amp;delta;</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>:</mo> <mrow> <mo>(</mo> <mrow> <mfrac> <mrow> <mn>2</mn> <msup> <mi>ix</mi> <mi>p</mi> </msup> <mo>*</mo> <msub> <mi>c</mi> <mrow> <mo>-</mo> <mn>2</mn> <mo>,</mo> <mn>3</mn> <mo>,</mo> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mn>0</mn> </mrow> </msub> </mrow> <mrow> <msup> <mi>y</mi> <mi>p</mi> </msup> <mo>*</mo> <mrow> <mo>(</mo> <mrow> <msup> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mi>p</mi> </msup> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>*</mo> <msub> <mi>c</mi> <mrow> <mo>-</mo> <mn>140</mn> <mo>,</mo> <mn>99</mn> <mo>,</mo> <mn>0</mn> <mo>,</mo> <mn>0</mn> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>c</mi> <mrow> <mo>-</mo> <mn>76</mn> <mo>,</mo> <mn>57</mn> <mo>,</mo> <mo>-</mo> <mn>36</mn> <mo>,</mo> <mn>24</mn> </mrow> </msub> </mrow> </mfrac> <mo>,</mo> <mfrac> <mrow> <msub> <mi>c</mi> <mrow> <mo>-</mo> <mn>9</mn> <mo>,</mo> <mo>-</mo> <mn>6</mn> <mo>,</mo> <mn>4</mn> <mo>,</mo> <mn>3</mn> </mrow> </msub> <mo>-</mo> <msup> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mi>p</mi> </msup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> <mrow> <msub> <mi>c</mi> <mrow> <mo>-</mo> <mn>9</mn> <mo>,</mo> <mo>-</mo> <mn>6</mn> <mo>,</mo> <mn>4</mn> <mo>,</mo> <mn>3</mn> </mrow> </msub> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msup> <mi>x</mi> <mi>p</mi> </msup> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </mfrac> </mrow> <mo>)</mo> </mrow> </mrow>
(2c2) utilizes expression formulaψw(P) it is multiplied with τ, it can be deduced that FourQ elliptic curvesOn homomorphism computingWherein, c- 2,3, -1,0、c- 140,99,0,0、c- 76,57, -36,24And c- 9, -6,4,3For cI, j, k, lThe calculating of expression formula Value.
6. the Hardware Implementation of KP computings on a kind of FourQ elliptic curves according to claim 1, it is characterised in that: FourQ elliptic curves are derived described in step (3)On homomorphism computing φ (P), realize that step is:
(3a) is according to FourQ elliptic curvesOn homomorphism computing ψ (P), calculate its characteristic value
And λψ'=- λψ mod N
Wherein, N is that the binary number of 256, r=15437785290780909242, and α=V/r ∈ Z, Z are integer, V= 49293975489306344711751403123270296814;
(3b) utilizes expression formula 40v2=4p2-tε 2Derive FourQ elliptic curvesOn homomorphism computing φ (P) feature Value:
<mrow> <msub> <mi>&amp;lambda;</mi> <mi>&amp;phi;</mi> </msub> <mo>=</mo> <mn>4</mn> <mo>*</mo> <mfrac> <mrow> <mrow> <mo>(</mo> <mrow> <mi>p</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> <msup> <mi>r</mi> <mn>3</mn> </msup> </mrow> <mrow> <msup> <mrow> <mo>(</mo> <mrow> <mi>p</mi> <mo>+</mo> <mn>1</mn> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mi>v</mi> </mrow> </mfrac> <mi>mod</mi> <mi> </mi> <mi>N</mi> </mrow>
λφ'=- λφmodN
Wherein, tε=136368062447564341573735631776713817674;
(3c) derives FourQ elliptic curvesOn homomorphism computing φ (P):
According to FourQ elliptic curvesOn homomorphism computing φ (P) eigenvalue λφ', calculate FourQ elliptic curvesOn homomorphism computing φ (P) abscissa xφWith ordinate yφ
<mrow> <msub> <mi>x</mi> <mi>&amp;phi;</mi> </msub> <mo>=</mo> <msup> <mrow> <mo>(</mo> <mfrac> <mrow> <msub> <mi>c</mi> <mrow> <mn>9</mn> <mo>,</mo> <mo>-</mo> <mn>6</mn> <mo>,</mo> <mn>4</mn> <mo>,</mo> <mo>-</mo> <mn>3</mn> </mrow> </msub> <mo>*</mo> <mi>x</mi> <mo>*</mo> <mrow> <mo>(</mo> <mrow> <msup> <mi>y</mi> <mn>2</mn> </msup> <mo>-</mo> <msub> <mi>c</mi> <mrow> <mn>7</mn> <mo>,</mo> <mn>5</mn> <mo>,</mo> <mn>3</mn> <mo>,</mo> <mn>2</mn> </mrow> </msub> <mo>*</mo> <mi>y</mi> <mo>+</mo> <msub> <mi>c</mi> <mrow> <mn>21</mn> <mo>,</mo> <mn>15</mn> <mo>,</mo> <mn>10</mn> <mo>,</mo> <mn>7</mn> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mo>*</mo> <mrow> <mo>(</mo> <mrow> <msup> <mi>y</mi> <mn>2</mn> </msup> <mo>+</mo> <msub> <mi>c</mi> <mrow> <mn>7</mn> <mo>,</mo> <mn>5</mn> <mo>,</mo> <mn>3</mn> <mo>,</mo> <mn>2</mn> </mrow> </msub> <mo>*</mo> <mi>y</mi> <mo>+</mo> <msub> <mi>c</mi> <mrow> <mn>21</mn> <mo>,</mo> <mn>15</mn> <mo>,</mo> <mn>10</mn> <mo>,</mo> <mn>7</mn> </mrow> </msub> </mrow> <mo>)</mo> </mrow> </mrow> <mrow> <mrow> <mo>(</mo> <mrow> <msup> <mi>y</mi> <mn>2</mn> </msup> <mo>+</mo> <msub> <mi>c</mi> <mrow> <mn>3</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>1</mn> <mo>,</mo> <mn>1</mn> </mrow> </msub> <mo>*</mo> <mi>y</mi> <mo>+</mo> <msub> <mi>c</mi> <mrow> <mn>3</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>1</mn> <mo>,</mo> <mn>1</mn> </mrow> </msub> </mrow> <mo>)</mo> </mrow> <mo>*</mo> <mrow> <mo>(</mo> <mrow> <msup> <mi>y</mi> <mn>2</mn> </msup> <mo>-</mo> <msub> <mi>c</mi> <mrow> <mn>3</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>1</mn> <mo>,</mo> <mn>1</mn> </mrow> </msub> <mo>*</mo> <mi>y</mi> <mo>+</mo> <msub> <mi>c</mi> <mrow> <mn>3</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>1</mn> <mo>,</mo> <mn>1</mn> </mrow> </msub> </mrow> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>)</mo> </mrow> <mi>p</mi> </msup> </mrow>
<mrow> <msub> <mi>y</mi> <mi>&amp;phi;</mi> </msub> <mo>=</mo> <mo>(</mo> <mfrac> <mrow> <msub> <mi>c</mi> <mrow> <mn>15</mn> <mo>,</mo> <mn>10</mn> <mo>,</mo> <mn>6</mn> <mo>,</mo> <mn>4</mn> </mrow> </msub> <mo>*</mo> <mrow> <mo>(</mo> <mrow> <mn>5</mn> <msup> <mi>y</mi> <mn>4</mn> </msup> <mo>+</mo> <msub> <mi>c</mi> <mrow> <mn>120</mn> <mo>,</mo> <mn>90</mn> <mo>,</mo> <mn>60</mn> <mo>,</mo> <mn>40</mn> </mrow> </msub> <mo>*</mo> <msup> <mi>y</mi> <mn>2</mn> </msup> <mo>+</mo> <msub> <mi>c</mi> <mrow> <mn>175</mn> <mo>,</mo> <mn>120</mn> <mo>,</mo> <mn>74</mn> <mo>,</mo> <mn>54</mn> </mrow> </msub> </mrow> <mo>)</mo> </mrow> </mrow> <mrow> <mn>5</mn> <mi>y</mi> <mo>*</mo> <mrow> <mo>(</mo> <mrow> <msup> <mi>y</mi> <mn>4</mn> </msup> <mo>+</mo> <msub> <mi>c</mi> <mrow> <mn>240</mn> <mo>,</mo> <mn>170</mn> <mo>,</mo> <mn>108</mn> <mo>,</mo> <mn>76</mn> </mrow> </msub> <mo>*</mo> <msup> <mi>y</mi> <mn>2</mn> </msup> <mo>+</mo> <msub> <mi>c</mi> <mrow> <mn>3055</mn> <mo>,</mo> <mn>2160</mn> <mo>,</mo> <mn>1366</mn> <mo>,</mo> <mn>966</mn> </mrow> </msub> </mrow> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>
Then FourQ elliptic curvesOn homomorphism computing φ (P) be:φ (P)=(xφ, yφ)
Wherein, c7,5,3,2、c21,15,10,7And c3,2,1,1For cI, j, k, lThe calculated value of expression formula.
7. the Hardware Implementation of KP computings on a kind of FourQ elliptic curves according to claim 1, it is characterised in that: Being decomposed to KP computing scalars K described in step (6), realizes that step is:
(6a) selects KP computings scalar K to be decomposed substrate B=(b1, b2, b3, b4),
Wherein, b1, b2, b3, b4For the subvector in substrate B, b1, b2, b3, b4Respectively:
224*b1:=(16 (- 60 α+13r-10), 4 (- 10 α -3r+12), 4 (- 15 α+5r-13), -13 α -6r+3)
8*b2:=(32 (5 α-r), 8,8,2 α+r)
224*b3:=(16 (80 α -15r+18), 4 (18 α -3r-16) 4 (- 15-9r+15), 15 α+8r+3 α)
448*b4:=(16 (- 360 α+77r+42), 4 (42 α+17r+72), 4 (85 α -21r-77), (- 77 α -36r-17))
(6b) definition conversion base
Wherein,To change the subvector in base A,Respectively:
<mrow> <mn>6272</mn> <msup> <mi>r</mi> <mn>3</mn> </msup> <mo>*</mo> <msub> <mover> <mi>&amp;alpha;</mi> <mo>^</mo> </mover> <mn>1</mn> </msub> <mo>=</mo> <msup> <mn>540</mn> <mn>3</mn> </msup> <mo>+</mo> <mn>10</mn> <mi>r</mi> <mrow> <mo>(</mo> <mrow> <mn>27</mn> <mi>r</mi> <mo>-</mo> <mn>4</mn> </mrow> <mo>)</mo> </mrow> <msup> <mi>V</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>6</mn> <msup> <mi>r</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mrow> <mn>9</mn> <msup> <mi>r</mi> <mn>2</mn> </msup> <mo>-</mo> <mn>2</mn> <mi>r</mi> <mo>+</mo> <mn>18</mn> </mrow> <mo>)</mo> </mrow> <mi>V</mi> <mo>+</mo> <msup> <mi>r</mi> <mn>3</mn> </msup> <mrow> <mo>(</mo> <mrow> <mn>27</mn> <mi>r</mi> <mo>+</mo> <mn>4</mn> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msup> <mi>r</mi> <mn>2</mn> </msup> <mo>-</mo> <mn>2</mn> </mrow> <mo>)</mo> </mrow> </mrow>
<mrow> <mn>25088</mn> <msup> <mi>r</mi> <mn>3</mn> </msup> <mo>*</mo> <msub> <mover> <mi>&amp;alpha;</mi> <mo>^</mo> </mover> <mn>2</mn> </msub> <mo>=</mo> <mn>1020</mn> <msup> <mi>V</mi> <mn>3</mn> </msup> <mo>+</mo> <mn>10</mn> <mi>r</mi> <mrow> <mo>(</mo> <mrow> <mn>47</mn> <mi>r</mi> <mo>-</mo> <mn>8</mn> </mrow> <mo>)</mo> </mrow> <msup> <mi>V</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>2</mn> <msup> <mi>r</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mrow> <mn>51</mn> <msup> <mi>r</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>26</mn> <mi>r</mi> <mo>+</mo> <mn>102</mn> </mrow> <mo>)</mo> </mrow> <mi>V</mi> <mo>+</mo> <msup> <mi>r</mi> <mn>3</mn> </msup> <mrow> <mo>(</mo> <mrow> <mn>47</mn> <mi>r</mi> <mo>+</mo> <mn>8</mn> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msup> <mi>r</mi> <mn>2</mn> </msup> <mo>-</mo> <mn>2</mn> </mrow> <mo>)</mo> </mrow> </mrow>
<mrow> <mn>25088</mn> <msup> <mi>r</mi> <mn>3</mn> </msup> <mo>*</mo> <msub> <mover> <mi>&amp;alpha;</mi> <mo>^</mo> </mover> <mn>3</mn> </msub> <mo>=</mo> <mn>220</mn> <msup> <mi>V</mi> <mn>3</mn> </msup> <mo>+</mo> <mn>10</mn> <mi>r</mi> <mrow> <mo>(</mo> <mrow> <mn>11</mn> <mi>r</mi> <mo>+</mo> <mn>16</mn> </mrow> <mo>)</mo> </mrow> <msup> <mi>V</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>2</mn> <msup> <mi>r</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mrow> <mn>11</mn> <msup> <mi>r</mi> <mn>2</mn> </msup> <mo>-</mo> <mn>46</mn> <mi>r</mi> <mo>+</mo> <mn>22</mn> </mrow> <mo>)</mo> </mrow> <mi>V</mi> <mo>+</mo> <msup> <mi>r</mi> <mn>3</mn> </msup> <mrow> <mo>(</mo> <mrow> <mn>11</mn> <mi>r</mi> <mo>-</mo> <mn>16</mn> </mrow> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mrow> <msup> <mi>r</mi> <mn>2</mn> </msup> <mo>-</mo> <mn>2</mn> </mrow> <mo>)</mo> </mrow> </mrow>
<mrow> <mn>1792</mn> <msup> <mi>r</mi> <mn>3</mn> </msup> <mo>*</mo> <msub> <mover> <mi>&amp;alpha;</mi> <mo>^</mo> </mover> <mn>4</mn> </msub> <mo>=</mo> <mn>60</mn> <msup> <mi>V</mi> <mn>3</mn> </msup> <mo>+</mo> <mn>30</mn> <msup> <mi>r</mi> <mn>2</mn> </msup> <msup> <mi>V</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>2</mn> <msup> <mi>r</mi> <mn>2</mn> </msup> <mrow> <mo>(</mo> <mrow> <mn>3</mn> <msup> <mi>r</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>2</mn> <mi>r</mi> <mo>+</mo> <mn>6</mn> </mrow> <mo>)</mo> </mrow> <mi>V</mi> <mo>+</mo> <mn>3</mn> <msup> <mi>r</mi> <mn>4</mn> </msup> <mrow> <mo>(</mo> <mrow> <msup> <mi>r</mi> <mn>2</mn> </msup> <mo>-</mo> <mn>2</mn> </mrow> <mo>)</mo> </mrow> </mrow>
(6c) is according to KP computing scalars K, substrate B and conversion base A, calculating KP computing scalars K decomposition value (a1, a2, a3, a4):
Wherein,0≤ai≤264I=1,2,3,4, biFor substrate B coordinate;
Decomposition value (a of (6d) to KP computing scalars K1, a2, a3, a4) encoded, obtain parameter vector (d64... .., d0) and Conceptual vector (m64... .., m0):
(6d1) defines initial parameter m64And z, and carry out assignment:m64=1, z=0;
(6d2) performs assignment if z < 64:dz=0, mz=-a1[z+1], j=2, perform (6d3) and otherwise terminate;
(6d3) performs assignment if j≤4:
dz=dz+(aj[0] < < (j-2)), c=(az[z+1]|aj[0])a1[z+1], aj=(aj> > 1)+c, j++, otherwise Perform (6d4);
(6d4) carries out add-one operation to z, performs (6d2);
(6d5) obtains parameter vector (d64... .., d0) and conceptual vector (m64... .., m0)。
8. the Hardware Implementation of KP computings on a kind of FourQ elliptic curves according to claim 1, it is characterised in that: FourQ elliptic curves are built described in step (7)On point add operation and point doubling, realize that step is:
(7a) randomly chooses FourQ elliptic curvesOn point p (x1, y1)、q(x2, y2)、r(x4, y4), according to Huseyin Hisi theory:
FourQ elliptic curvesPoint add operation on conventional coordinates (x, y) is:
<mrow> <mi>K</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mn>3</mn> </msub> <mo>,</mo> <msub> <mi>y</mi> <mn>3</mn> </msub> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <mi>p</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> </mrow> <mo>)</mo> </mrow> <mo>+</mo> <mi>q</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mn>2</mn> </msub> <mo>,</mo> <msub> <mi>y</mi> <mn>2</mn> </msub> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <mfrac> <mrow> <msub> <mi>x</mi> <mn>1</mn> </msub> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>+</mo> <msub> <mi>y</mi> <mn>1</mn> </msub> <msub> <mi>x</mi> <mn>2</mn> </msub> </mrow> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>dx</mi> <mn>1</mn> </msub> <msub> <mi>y</mi> <mn>1</mn> </msub> <msub> <mi>x</mi> <mn>2</mn> </msub> <msub> <mi>y</mi> <mn>2</mn> </msub> </mrow> </mfrac> <mo>,</mo> <mfrac> <mrow> <msub> <mi>y</mi> <mn>1</mn> </msub> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>ax</mi> <mn>1</mn> </msub> <msub> <mi>x</mi> <mn>2</mn> </msub> </mrow> <mrow> <mn>1</mn> <mo>-</mo> <msub> <mi>dx</mi> <mn>1</mn> </msub> <msub> <mi>y</mi> <mn>1</mn> </msub> <msub> <mi>x</mi> <mn>2</mn> </msub> <msub> <mi>y</mi> <mn>2</mn> </msub> </mrow> </mfrac> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow>
FourQ elliptic curvesPoint doubling on conventional coordinates (x, y) is:
<mrow> <mi>W</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mn>5</mn> </msub> <mo>,</mo> <msub> <mi>y</mi> <mn>5</mn> </msub> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <mn>2</mn> <mi>r</mi> <mrow> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mn>4</mn> </msub> <mo>,</mo> <msub> <mi>y</mi> <mn>4</mn> </msub> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <mrow> <mo>(</mo> <mrow> <mfrac> <mrow> <mn>2</mn> <msub> <mi>x</mi> <mn>4</mn> </msub> <msub> <mi>y</mi> <mn>4</mn> </msub> </mrow> <mrow> <msup> <msub> <mi>y</mi> <mn>4</mn> </msub> <mn>2</mn> </msup> <mo>+</mo> <msup> <msub> <mi>ax</mi> <mn>4</mn> </msub> <mn>2</mn> </msup> </mrow> </mfrac> <mo>,</mo> <mfrac> <mrow> <msup> <msub> <mi>y</mi> <mn>4</mn> </msub> <mn>2</mn> </msup> <mo>-</mo> <msup> <msub> <mi>ax</mi> <mn>4</mn> </msub> <mn>2</mn> </msup> </mrow> <mrow> <mn>2</mn> <mo>-</mo> <msup> <msub> <mi>y</mi> <mn>4</mn> </msub> <mn>2</mn> </msup> <mo>-</mo> <msup> <msub> <mi>ax</mi> <mn>4</mn> </msub> <mn>2</mn> </msup> </mrow> </mfrac> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow>
Wherein:A=-1, x1, x2, x3, x4, x5For the abscissa in coordinate system, y1, y2, y3, y4, y5Ordinate in coordinate system;
(7b) is by FourQ elliptic curvesUpper (x, y) coordinate system is converted into FourQ elliptic curvesUpper (X, Y, Z, T) is sat Mark system, conversion regime are:X=X, y=Y, T=XY/Z, Z are depending on actual conditions, according to FourQ elliptic curvesOn (X, Y, Z, T) coordinate system, carries out the conversion of coordinate:
(i) by (x1, y1) it is converted into (X1, Y1, Z1, T1);
(ii) by (x2, y2) it is converted into (X2, Y2, Z2, T2);
(iii) by (x3, y3) it is converted into (X3, Y3, Z3, T3);
(iv) by (x4, y4) it is converted into (X4, Y4, Z4, T4);
(v) by (x5, y5) it is converted into (X5, Y5, Z5, T5);
(7c) is according to FourQ elliptic curves(X, Y, Z, T) coordinate system, FourQ elliptic curvesOn point add operation P+q=K (x3, y3) be converted into:
(X1, Y1, Z1, T1)+(X2, Y2, Z2, T2)=(X3, Y3, Z3, T3)
Specifically coordinate is respectively:
X3=(X1Y2-Y1X2)(T1Z2+Z1T2);
Y3=(Y1Y2+aX1X2)(T1Z2-Z1T2);
Z3=(Y1Y2+aX1X2)(X1Y2-Y1X2);
T3=(T1Z2+Z1T2)(T1Z2-Z1T2);
FourQ elliptic curvesUpper point doubling W (x5, y5)=2r (x4, y4) be converted into:2(X4, Y4, Z4, T4)=(X5, Y5, Z5, T5),
Specifically coordinate is respectively:
X5=2X4Y4(2Z4 2-Y4 2-aX4 2);
Y5=(Y4+aX4 2)(Y4 2-aX4 2);
Z5=(Y4 2+aX4 2)(2Z4 2-Y4 2-aX4 2);
T5=2X4Y4(Y4 2-aX4 2)。
9. the Hardware Implementation of KP computings on a kind of FourQ elliptic curves according to claim 1, it is characterised in that: The logical operation for including add operation submodule, modular multiplication submodule and inversion operation submodule is built described in step (8a) Module, logical operation submodule are respectively:
(i) add operation submodule is built:On square domain, add operation is XOR, is utilizedIt is different on square domain Or add operation module is built in computing;
(ii) modular multiplication submodule is built:On square domain, from montgomery modulo multiplication as modular multiplication, modular multiplication Expression formula is:C=a*bmod p are rightMiddle element a and b carry out Montgomery translation operation, obtain A=a*R mod p and B= B*R mod p, by modular multiplication expression formula c=a*bmod p, C=A*B mod p are converted into, computing is reduced by Montgomery C=C*R-1Mod p obtain the result c of Montgomery modular multiplication, wherein,N is positive integer, R=dn And p < R;
(iii) inversion operation submodule is built:On square domain, inverted from Montgomery as inversion operation, It is rightMiddle element v Montgomeries translation operation, obtains V=v*R mod p, utilizes Montgomery inversion operation expression formula:U=V-1R2Mod p, computing u=U*R is reduced by Montgomery-1Mod p obtain the result u of Montgomery inversion operation.
10. the Hardware Implementation of KP computings on a kind of FourQ elliptic curves according to claim 1, it is characterised in that: FourQ elliptic curves are built described in step (8e)Upper logic processing module, realize that step is:
Conceptual vector (the m that (8e1) decomposes to obtain using KP computing scalars K64... .., m0), defconstant si, judged, if mi=1, then si=1, otherwise si=-1, wherein, miFor (m64... .., m0) in value, i is integer and 0≤i≤64;
(8e2) utilizes s64With FourQ elliptic curvesOn pre-stored concordance list in T [d64], perform computing s64T[d64] Obtain initial value Q, wherein s64For siMiddle i=64 value;
(8e3) performs circulate operations of the i from 63 to 0:
(i) FourQ elliptic curves are performed to initial value QUpper point doubling, result is assigned to Q again;
(ii) to FourQ elliptic curvesThe Q and s that upper point doubling obtainsiT[di] perform FourQ elliptic curvesOn Point add operation, result is assigned to Q again;
(8e4) obtains FourQ elliptic curvesUpper logic processing module.
CN201710351975.2A 2017-05-18 2017-05-18 Hardware implementation method for KP operation on Fourier elliptic curve Active CN107425974B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710351975.2A CN107425974B (en) 2017-05-18 2017-05-18 Hardware implementation method for KP operation on Fourier elliptic curve

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710351975.2A CN107425974B (en) 2017-05-18 2017-05-18 Hardware implementation method for KP operation on Fourier elliptic curve

Publications (2)

Publication Number Publication Date
CN107425974A true CN107425974A (en) 2017-12-01
CN107425974B CN107425974B (en) 2021-03-23

Family

ID=60425236

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710351975.2A Active CN107425974B (en) 2017-05-18 2017-05-18 Hardware implementation method for KP operation on Fourier elliptic curve

Country Status (1)

Country Link
CN (1) CN107425974B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108875416A (en) * 2018-06-22 2018-11-23 北京智芯微电子科技有限公司 Elliptic curve multi point arithmetic method and apparatus

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102306091A (en) * 2011-07-08 2012-01-04 西安电子科技大学 Method for rapidly implementing elliptic curve point multiplication hardware
US20120213359A1 (en) * 2011-02-17 2012-08-23 Gradiant Method and apparatus for secure iterative processing
CN103078732A (en) * 2013-01-08 2013-05-01 武汉大学 Prime field elliptic curve crypto dot product accelerating circuit
CN103095450A (en) * 2011-05-11 2013-05-08 Nxp股份有限公司 Finite Field Crytographic Arithmetic Resistant To Fault Attacks
CN105959117A (en) * 2016-07-19 2016-09-21 安徽大学 Vehicle-mounted ad hoc network security authentication method based on Cuckoo filter

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120213359A1 (en) * 2011-02-17 2012-08-23 Gradiant Method and apparatus for secure iterative processing
CN103095450A (en) * 2011-05-11 2013-05-08 Nxp股份有限公司 Finite Field Crytographic Arithmetic Resistant To Fault Attacks
CN102306091A (en) * 2011-07-08 2012-01-04 西安电子科技大学 Method for rapidly implementing elliptic curve point multiplication hardware
CN103078732A (en) * 2013-01-08 2013-05-01 武汉大学 Prime field elliptic curve crypto dot product accelerating circuit
CN105959117A (en) * 2016-07-19 2016-09-21 安徽大学 Vehicle-mounted ad hoc network security authentication method based on Cuckoo filter

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108875416A (en) * 2018-06-22 2018-11-23 北京智芯微电子科技有限公司 Elliptic curve multi point arithmetic method and apparatus
CN108875416B (en) * 2018-06-22 2020-05-19 北京智芯微电子科技有限公司 Elliptic curve multiple point operation method and device
US11003769B2 (en) 2018-06-22 2021-05-11 Beijing Smartchip Microelectronics Technology Comp Elliptic curve point multiplication operation method and apparatus

Also Published As

Publication number Publication date
CN107425974B (en) 2021-03-23

Similar Documents

Publication Publication Date Title
De Feo Mathematics of isogeny based cryptography
Habeeb et al. Public key exchange using semidirect product of (semi) groups
CN111526002B (en) Fully homomorphic encryption method for multiple identities based on lattice
US9948462B2 (en) Hypersphere-based multivariable public key signature/verification system and method
CN109145616B (en) SM2 encryption, signature and key exchange implementation method and system based on efficient modular multiplication
CN106712965A (en) Digital signature method, device and cipher device
Sun et al. Digital image encryption with chaotic map lattices
CN105376057A (en) Method for solving large-scale linear equation set through cloud outsourcing
CN110958108A (en) Asymmetric image encryption method based on RSA and fractional order chaotic system
CN107888385B (en) RSA modulus generation method, RSA key generation method, computer device, and medium
CN107425974A (en) The Hardware Implementation of KP computings on a kind of FourQ elliptic curves
Mittal et al. A quantum secure ID-based cryptographic encryption based on group rings
CN102025489A (en) Public key cryptography improvement method for hidden field ergodic matrices and signature scheme
CN112350827A (en) Koblitz curve-based elliptic curve encryption and decryption method and system for acceleration scalar multiplication calculation
Zhang et al. A novel verifiably encrypted signature scheme without random oracle
Ajeena Integer sub-decomposition (ISD) method for elliptic curve scalar multiplication
CN111897578A (en) Parallel processing method and device for scalar multiplication on elliptic curve with characteristic of 2
CN110879894A (en) Image encryption and decryption method based on lazy scale transformation and random layered fusion
CN104468100A (en) Improved sliding window modular exponentiation computing method
CN107017987A (en) The elliptic curve method of Bilinear map is selected in a kind of security password technology
US10805081B1 (en) Processing batches of point evaluations in a supersingular isogeny-based cryptosystem
Feng et al. Exterior algebras and two conjectures on finite abelian groups
Tea et al. Identity-based encryption schemes–A review
Shah et al. Development of
CN110838908A (en) Image encryption and decryption method based on GF matrix transformation and random layered fusion

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant