Hardware implementation of an elliptic curve processor over GF(p)
read more
Citations
Power-Analysis Attacks on an FPGA--First Experimental Results
Hardware Elliptic Curve Cryptographic Processor Over $rm GF(p)$
High-speed hardware implementations of Elliptic Curve Cryptography: A survey
Electromagnetic Analysis Attack on an FPGA Implementation of an Elliptic Curve Cryptosystem
An RNS Implementation of an $F_{p}$ Elliptic Curve Point Multiplier
References
A method for obtaining digital signatures and public-key cryptosystems
Handbook of Applied Cryptography
Differential Power Analysis
Elliptic curve cryptosystems
Use of Elliptic Curves in Cryptography
Related Papers (5)
Frequently Asked Questions (16)
Q2. What are the contributions in this paper?
This paper describes a hardware implementation of an arithmetic processor which is efficient for bit-lengths suitable for both commonly used types of Public Key Cryptography ( PKC ), i. e., Elliptic Curve ( EC ) and RSA Cryptosystems. The processor consists of special operational blocks for Montgomery Modular Multiplication, modular addition/subtraction, EC Point doubling/addition, modular multiplicative inversion, EC point multiplier, projective to affine coordinates conversion and Montgomery to normal representation conversion.
Q3. What is the architecture of the blocks?
The architecture of these blocks is designed to ensure a short critical path to allow for high clock frequencies which are independent from bit-length of the parameters of ECC.
Q4. What is the affine to projective coordinates converter?
MC instructs, NtoM to start conversion from normal to Montgomery representation, EPM to start point multiplication, PtoA to start conversion from projective to affine coordinates and MtoN to start a conversion from Montgomery to normal representation one after another by setting START-NtoM, START-PM, START-PtoA and START-MtoN signals, respectively.
Q5. What is the performance of an elliptic curve cryptosystem?
The performance of an elliptic curve cryptosystem and of other public key cryptosystems, is mostly determined by the efficient implementation of finite field arithmetic.
Q6. What is the expensive operation in hardware?
Montgomery’s method for multiplying two integers x and y (called N -residues) modulo N , avoids trial division by N which is the most expensive operation in hardware.
Q7. Why is PtoA able to perform a point multiplication in parallel?
Because there are both MMMC and modular addition/subtraction (MAS) circuits available, these operations can be executed in parallel.
Q8. what is the j-th digit of ti?
The j-th digit of Ti is obtained using the recurrence relation22 × c1i,j + 2 × c0i,j + ti,j = ti−1,j+1 + xi × yj + mi × nj + 2 × c1i,j−1 + c0i,j−1 (4)i = 0, · · · , l + 1, j = 0, · · · , l + 1, c1i,−1 = 0 and c0i,−1 = 0. In Eq. (4), 2 × c1i,j + c0i,j , j = −1, · · · , l, denotes the carry chain up the adder.
Q9. what is the doubling formula in jm?
The addition formulas in Jm are the following (P = ±Q).U1 =X1Z22 , U2 =X2Z 2 1 , S1 =Y1Z 3 2 , S2 =Y2Z 3 1 , H =U2−U1, r=S2−S1X3 =−H3−2U1H2+r2, Y3 =−S1H3+r ( U1H 2−X3 ) , Z3 =Z1Z2H, aZ43 =aZ 4 3(1)The doubling formulas in Jm are the following (R = 2P ).S =4X1Y 21 , U =8Y 4 1 , M =3X 2 1 + ( aZ41 )X3 =−2S+M2, Y3 =M(S−X3)−U, Z3 =2Y1Z1, aZ43 =2U ( aZ41 ) (2)The Montgomery product is defined as: Mont(x, y) = xyR−1 mod N , where N = (nl−1 · · ·n1n0)b, 0 ≤ x, y < N , R = bl, b = 2α with gcd(N, b) = 1.
Q10. What is the advantage of the Extended Euclidean Algorithm?
This is a low-power architecture that can be realized on moderate silicon area; the author claims that it requires just a little more hardware resources than for a pure GF (p) multiplier.
Q11. What is the j-th digit of the adder?
Algorithm 4 Modular addition and subtraction Require: M , 0 ≤ A < M , 0 ≤ B < M Ensure: C = A + B mod M 1: C′ = A + B 2: C′′ = C′ −M 3: if C′′ < 0 then 4: C = C′5: else 6: C = C′′ 7: end ifRequire: M , 0 ≤ A < M , 0 ≤ B < M Ensure: C = A−B mod M 1: C′ = A−B 2: C′′ = C′ + M 3: if C′ < 0 then 4: C = C′′5: else 6: C = C′ 7: end if
Q12. What is the doubling formula in jm?
Algorithm 2 is the algorithm for Montgomery modular multiplication without final subtraction which has the properties given above.
Q13. What is the simplest way to solve a finite field?
Wolkerstorfer proposes a dual-field arithmetic unit that offers all instructions required for both types of finite fields: GF (p) and GF (2m) in [22].
Q14. What is the simplest representation of the sum of two numbers?
Modular addition and subtraction of two numbers that are in Montgomery representation will produce the Montgomery representation of the sum or difference as xR mod M ± yR mod M = (x±y)R mod M .
Q15. What is the way to add points to a elliptic curve?
The authors have used the modified Jacobian (Jm) coordinates as proposed by Cohen et al. in [5] because EC point doubling is fastest in this representation.
Q16. What is the conversion of the input point to a projective coordinate?
This conversion requires two additional execution of the MMM operation with the inputs xR and 1, then yR and 1, as x = Mont(xR, 1) = xRR−1, y = Mont(yR, 1) = yRR−1.