Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Same value analysis on Edwards curves

  • Regular Paper
  • Published:
Journal of Cryptographic Engineering Aims and scope Submit manuscript

Abstract

Recently, several research groups in cryptography have presented new elliptic curve models based on Edwards curves. These new curves were selected for their good performance and security perspectives. Cryptosystems based on elliptic curves in embedded devices can be vulnerable to side-channel attacks (SCA), such as simple power analysis (SPA) or differential power analysis. In this paper, we analyze the existence of special points—whose use in SCA is known as same value analysis (SVA)—in the case of Edwards elliptic curves. These special points can be identified through a power analysis of the scalar multiplication. We show that all Edwards curves recently proposed for standardization contain some of these points and are therefore unsafe against SVA. As a countermeasure, we use the isogeny volcano approach to find SVA-secure isogenous curves to those proposed for standardization.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Notes

  1. In [23], Ebeid studied implementations of this countermeasure using the Shamir-Strauss method [52] and found a vulnerability which can be attacked by via a differential power analysis (DPA) (Lemma 6.1). As a result of this study, it is recommended that each term of \([k-r]P\) and [r]P should be computed separately using a SPA-resistant algorithm.

References

  1. Akishita, T., Takagi, T.: Zero-value point attacks on elliptic curve cryptosystem. In: Information Security—ISC 2003, LNCS, vol. 2851, pp. 218–233. Springer (2003)

  2. Akishita, T., Takagi, T.: On the optimal parameter choice for elliptic curve cryptosystems using isogeny. In: Public Key Cryptography—PKC 2004, LNCS, vol. 2947, pp. 346–359. Springer (2004)

  3. Aranha, D., Barreto, P., Pereira, G., Ricardini, J.: A note on high-security general-purpose elliptic curves. IARC Cryptology ePrint Archive, report 2013/647 (2013)

  4. Avanzi, R.: Side channel attacks on implementations of curve-based cryptographic primites. IACR Cryptology ePrint Archive, report 2005/017 (2005)

  5. Bauer, A., Jaulmes, E., Prouff, E., Wild, J.: Horizontal collision correlation attack on elliptic curves. In: SAC 2013, LNCS, vol. 8282, pp. 553–570. Springer (2014)

  6. Bernstein, D.J.: Curve25519: new Diffie-Hellman speed records. In: Public Key Cryptography—PKC 2006, LNCS, vol. 3958, pp. 207–228. Springer (2006)

  7. Bernstein, D.J., Birkner, P., Joye, M., Lange, T., Peters, C.: Twisted Edwards curves. In: Progress in Cryptology—AFRICACRYPT 2008, LNCS, vol. 5023, pp. 389–405. Springer (2008)

  8. Bernstein, D.J., Hamburg, M., Krasnova, A., Lange, T.: Elligator: elliptic-curve points indistinguishable from uniform random strings. IACR Cryptology ePrint Archive, report 2013/325 (2013)

  9. Bernstein, D.J., Lange, T.: Faster addition and doubling on elliptic curves. In: Advances in Cryptology—ASIACRYPT 2007, LNCS, vol. 4833, pp. 29–50. Springer (2007)

  10. Bernstein, D.J., Lange, T.: Explicit formula database. http://www.hyperelliptic.org/EFD/

  11. Bernstein, D.J., Lange, T.: SafeCurves: choosing safe curves for elliptic-curve cryptography. http://safecurves.cr.yp.to/

  12. Bogdanov, A.: Improved side-channel collision attacks on AES. In: SAC 2007, LNCS, vol. 4876, pp. 84–95. Springer (2007)

  13. Bogdanov, A.: Multiple-differential side-channel collision attacks on AES. In: CHES 2008, LNCS, vol. 5154, pp. 30–44. Springer (2008)

  14. Bos, J.W., Costello, C., Longa, P., Naehrig, M.: Selecting elliptic curves for cryptography: an efficiency and security analysis. J. Cryptogr. Eng. 6(4), 259–286 (2016)

    Article  Google Scholar 

  15. Chari, S., Rao, J.R., Rohati, P.: Template attacks. In: Cryptographic Hardware and Embedded Systems—CHES 2002, LNCS, vol. 2523, pp. 13–28. Springer (2003)

  16. Chevallier-Mames, B.: Self-randomized exponentiation algorithms. In: Topics in Cryptology—CT-RSA 2004, LNCS, vol. 2964, pp. 236–249. Springer (2004)

  17. Chmielewski, L., Costa Massolino, P.M., Vliegen, J., Batina, L., Mentens, N.: Completing the complete ECC formulae with countermeasures. J. Low Power Electron. Appl. 7(1), 3 (2017)

    Article  Google Scholar 

  18. Ciet, M., Joye, M.: (Virtually) free randomization techniques for elliptic curve cryptography. In: Information and Communications Security—ICICS 2003, LNCS, vol. 2836, pp. 348–359. Springer (2003)

  19. Clavier, C., Feix, B., Gagnerot, G., Roussellet, M., Verneuil, V.: Improved collision-correlation power analysis on first order protected AES. In: Cryptographic Hardware and Embedded Systems—CHES 2011, LNCS, vol. 6917, pp. 49–62. Springer (2011)

  20. Clavier, C., Joye, M.: Universal exponentiation algorithm. In: Cryptographic Hardware and Embedded Systems—CHES 2001, LNCS, vol. 2162, pp. 300–308. Springer (2001)

  21. Coron, J.: Resistance against differential power analysis for elliptic curve cryptosystems. In: Cryptographic Hardware and Embedded Systems—CHES 1999, LNCS, vol. 1717, pp. 392–302. Springer (1999)

  22. Danger, J.-L., Guilley, S., Hoogvorst, P., Murdica, C., Naccache, D.: Improving the Big Mac attack on elliptic curve cryptography. In: The New Codebreakers, LNCS, vol. 9100, pp. 374–386. Springer (2016)

  23. Ebeid, N.M.: Key randomization countermeasures to power analysis attacks on elliptic curve cryptosystems. Ph.D. thesis in Electrical and Computer Engineering, University of Waterloo (2007)

  24. Edwards, H.M.: A normal form for elliptic curves. Bull. Am. Math. Soc. New Ser. 44(3), 393–422 (2007)

    Article  MathSciNet  Google Scholar 

  25. Feix, B., Verneuil, V.: There’s something about m-ary, protected against physical attacks. In: Progress in Cryptology—INDOCRYPT 2013, LNCS, vol. 8250, pp. 197–214. Springer (2013)

  26. Gandolfi, K., Mourtel, C., Olivier, F.: Electronic analysis: concrete results. In: Cryptographic Hardware and Embedded Systems—CHES 2001, LNCS, vol. 2162, pp. 251–261. Springer (2001)

  27. Giry, D., Quinsquater, J.-J.: Bluekrypt cryptographic key length. Recommendation 2011, v26.0, April 18. http://www.keylength.com/ (2011)

  28. Goubin, L.: A refined power-analysis attack on elliptic curve cryptosystems. In: Public Key Cryptography—PKC 2003, LNCS, vol. 2567, pp. 199–210. Springer (2003)

  29. Hamburg, M.: Ed448-goldilocks, fast, strong elliptic curve cryptography. http://ed448goldilocks.sourceforge.net/

  30. Josefson, S., Liusvaara, I.: Edwards-curve digital signature algorithm (EdDSA). Internet Research Task Force memo. https://tools.ietf.org/html/rfc8032 (2017)

  31. Joye, M.: Highly regular right-to-left algorithms for scalar multiplication. In: Cryptographic Hardware and Embedded Systems—CHES 2007, LNCS, vol. 4727, pp. 135–147. Springer (2007)

  32. Joye, M., Tymen, C.: Protections against differential analysis for elliptic curve cryptography. In: Cryptographic Hardware and Embedded Systems—CHES 2001, LNCS, vol. 2162, pp. 377–390. Springer (2001)

  33. Koblitz, N.: Elliptic curve cryptosystems. Math. Comput. 48, 203–209 (1987)

    Article  MathSciNet  Google Scholar 

  34. Kocher, P.: Timing attacks on implementation of Diffie-Hellman RSA, DSS and other systems. In: Advances in Cryptology—CRYPTO 1996, LNCS, vol. 1109, pp. 104–113. Springer (1996)

  35. Kocher, P., Jaffe, J., Jun, B.: Differential power analysis. In: Advances in Cryptology—CRYPTO 1999, LNCS, vol. 1666, pp. 388–397. Springer (1999)

  36. Langley, A., Hamburg, M., Turner, S.: Elliptic curves for security. Internet Research Task Force memo. https://tools.ietf.org/html/rfc7748 (2016)

  37. Mangard, S., Oswald, E., Popp, T.: Power Analysis Attacks: Revealing the Secrets of Smart Cards. Springer, Berlin (2010)

    MATH  Google Scholar 

  38. Martínes, S., Sadornil, D., Tena, J., Tomàs, R., Valls, M.: On Edwards curves and ZVP-attacks. Appl. Algebra Eng. Commun. Comput. 24, 507–517 (2013)

    Article  MathSciNet  Google Scholar 

  39. Miller, V.S.: Use of elliptic curves in cryptography. In: Advances in Cryptology—CRYPTO 1985, LNCS, vol. 218, pp. 417–426. Springer (1986)

  40. Miret, J., Sadornil, D., Tena, J., Tomàs, R., Valls, M.: Isogeny cordillera algorithm to obtain cryptographically good elliptic curves. In: Australasian Information Security Workshop: Privacy Enhancing Technologies (AISW), vol. 68, pp. 127–131 (2007)

  41. Möller, B.: Securing elliptic curve point multiplication against side-channel attacks. In: Information Security—ISC 2001, LNCS, vol. 2200, pp. 324–334. Springer (2001)

  42. Moradi, A., Mischke, O., Eisenbarth, T.: Correlation-enhanced power analysis collision attack. In: CHES 2010, LNCS, vol. 6225, pp. 125–139. Springer (2010)

  43. Murdica, C., Guilley, S., Danger, J.-L., Hoogvourst, P., Naccache, D.: Same value power analysis using special point on elliptic curves. In: Constructive Side-Channel Analysis and Secure Design—COSADE 2012, LNCS, vol. 7275, pp. 183–198. Springer (2012)

  44. Naccache, D., Smart, N.P., Stern, J.: Projective coordinates leak. In: Advances in Cryptology—EUROCRYPT 2004, LNCS, vol. 3027, pp. 257–267. Springer (2004)

  45. Nascimento, E., Chmielewski, L., Oswald, D., Schwabe, P.: Attacking embedded ECC implementations through CMOV side channels. IARC Cryptology ePrint Archive, report 2016/923 (2016)

  46. Quisquater, J.-J., Samyde, D.: Electromagnetic analysis (EMA): measures and countermeasures for smard cards. In: Smart Card Programming and Security—E-SMART 2001, LNCS, vol. 2140, pp. 200–210. Springer (2001)

  47. Schramm, K., Leander, G., Felke, P., Paar, C.: A collision-attack on AES: combining side channel- and differential-attack. In: CHES 2004, LNCS, vol. 3156, pp. 163–175. Springer (2004)

  48. Schramm, K., Wollinger, T., Paar, C.: A new class of collision attacks and its application to DES. In: Fast Software Encryption—FSE 2003. LNCS, vol. 2887, pp. 206–222. Springer (2003)

  49. Smart, N.: An analysis of Goubin’s refined power analysis attack. In: Cryptographic Hardware and Embedded Systems— CHES 2003, LNCS, vol. 2779, pp. 281–290. Springer (2003)

  50. Smart, N.P., Oswald, E., Page, D.: Randomised representations. IET Inf. Secur. 2(2), 19–27 (2008)

    Article  Google Scholar 

  51. Standards for efficient cryptography, SEC 2: Recommended Elliptic Curve Domain Parameters. Certicom Corp. Version 2.0, January 2010

  52. Strauss, E.G.: Addition chains of vectors (problem 5125). Am. Math. Mon. 70, 806–808 (1964)

    Google Scholar 

  53. Thériault, N.: SPA resistant left-to-right integer recoding. In: Selected Areas in Cryptography—SAC 2005, LNCS, vol. 3897, pp. 345–358. Springer (2005)

  54. Trichina, E., Belleza, A.: Implementation of elliptic curve cryptography with built-in counter measures against side channel attacks. In: Cryptographic Hardware and Embedded Systems—CHES 2002, LNCS, vol. 2523, pp. 98–113. Springer (2002)

  55. Tunstall, M., Joye, M.: Coordinate blinding over large prime fields. In: Cryptographic Hardware and Embedded Systems—CHES 2010, LNCS, vol. 6225, pp. 443–445. Springer (2010)

  56. Witteman, M.F., van Woudenberg, J.G.J., Menarini, F.: Defeating RSA multiply-always and message blinding countermeasures. In: CT-RSA 2011, LNCS, vol. 6558, pp. 77–88. Springer (2011)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rodrigo Abarzúa.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This research was supported by the following research grants: DICYT projects 061433AO and 061513VC_DAS (Universidad de Santiago de Chile, Chile), FONDECYT 1151326 (Chile) and MTM2013-46949-P (Spanish Ministerio de Ciencia e Innovación).

Appendices

A Addition on Edwards curves in projective coordinates

Given the points \(P_i=(\lambda _i x_i,\lambda _i y_i, \lambda _i)\) for \(i=\{1, 2\}\) in projective coordinates on the Edwards curves E, we identify the degrees in \(\lambda _1\) and \(\lambda _2\) of the partial terms computed during the projective addition of \(P_1\) and \(P_2\). Variables with matching degrees in \(\lambda _1\) and \(\lambda _2\) could potentially be used to mount an SVA-type attack. However, it is not obvious how to construct the corresponding base point except for the first few bits of the scalar.

Algorithm 3 gives the projective addition formula for Edwards curves in projective coordinates. Due to the size of the identities, we only indicate the degrees of the parameters \(\lambda _1\) and \(\lambda _2\) of each operand and of the result (right side of the algorithm). The degrees in \(\lambda _1\) are given with index 1, and those in \(\lambda _2\) with index 2.

The following table gives lists of the partial variables with matching degrees in \(\lambda _1\) and \(\lambda _2\):

Degree of \(\lambda _1\lambda _2\)

Terms

\(1_11_2\)

\(\{A, C, D, H, J \}\)

\(2_22_2\)

\(\{B, E, F, G \}\)

\(3_13_2\)

\(\{I, K\}\)

\(4_14_2\)

\(\{X_3, Y_3, Z_3 \}\)

figure c

These sets of variables produce the following identities that could potentially be used to generate SVA-points:

$$\begin{aligned} x_1x_2&=1&\Rightarrow A&=C, \\ x_1y_2 + y_1x_2&=1&\Rightarrow A&=H, \\ y_1y_2&=1&\Rightarrow A&=D, \\ 1&=y_1y_2-x_1x_2&\Rightarrow A&=J, \\ x_1x_2&=y_1y_2&\Rightarrow C&=D, \\ x_1x_2&=x_1y_2 + y_1x_2&\Rightarrow C&=H, \\ 2x_1x_2&=y_1y_2&\Rightarrow C&=J, \\ y_1y_2&=x_1y_2 + y_1x_2&\Rightarrow D&=H, \\ x_1x_2&=0&\Rightarrow D&=J, \\ (x_1+y_1)(x_2+y_2)&=2y_1y_2&\Rightarrow H&=J, \\ dx_1x_2y_1y_2&=1&\Rightarrow B&=E, \\ x_1x_2y_1y_2&=0&\Rightarrow B&=F=G,\\ 2dx_1x_2y_1y_2&=1&\Rightarrow E&=F, \\ 2dx_1x_2y_1y_2&=0&\Rightarrow I&=K, \end{aligned}$$
$$\begin{aligned} \begin{array}{rr} \\ dx_1x_2y_1y_2&{}= 1 \\ \vee &{} \\ x_1y_2 + x_2y_1 - y_1y_2 + x_1x_2 &{}=0 \\ \\ \end{array}\Bigg \}&\Rightarrow X_3&=Y_3 \\ \begin{array}{rr} \\ dx_1x_2y_1y_2&{}= 1 \\ \vee &{} \\ x_1y_2+y_1x_2+1+dx_1x_2y_1y_2&{}=0 \\ \\ \end{array}\Bigg \}&\Rightarrow X_3&=Z_3 \\ \begin{array}{rr} \\ dx_1x_2y_1y_2&{}=-1 \\ \wedge &{} \\ y_1y_2-x_1x_2-c(1-dx_1x_2y_1y_2)&{}=0 \\ \\ \end{array}\Bigg \}&\Rightarrow Y_3&=Z_3 \end{aligned}$$

B Addition Twisted Edwards curves

The same analysis as in the previous section can be performed for projective addition in Twisted Edwards curve. The formula is given in Algorithm 4:

figure d

This gives the following lists of the partial variables with matching degrees in \(\lambda _1\) and \(\lambda _2\):

Degree of \(\lambda _1 \lambda _2\)

Terms

\(1_1 1_2\)

\(\{A, C, D, I, K \}\)

\(2_1 2_2\)

\(\{B, E, F, G \}\)

\(3_1 3_2\)

\(\{H, J \}\)

\(4_1 4_2\)

\(\{X_3, Y_3, Z_3 \}\)

which in turn produce the following identities that could potentially be used to generate SVA-points:

$$\begin{aligned} x_1x_2&=1&\Rightarrow A&=C, \\ y_1y_2&=1&\Rightarrow A&=D, \\ x_1y_2+y_1x_2&=1&\Rightarrow A&=I, \\ y_1y_2-ax_1x_2&=1&\Rightarrow A&=K, \\ x_1x_2&=y_1y_2&\Rightarrow C&=D, \\ x_1y_2+y_1x_2&=x_1x_2&\Rightarrow C&=I, \\ x_1x_2(1+a)&=y_1y_2&\Rightarrow C&=K, \\ x_1y_2+y_1x_2&=y_1y_2&\Rightarrow D&=I,\\ -ax_1x_2&=0&\Rightarrow D&=K, \\ x_1y_2+y_1x_2&=y_1y_2-ax_1x_2&\Rightarrow I&=K,\\ dx_1x_2y_1y_2&=1&\Rightarrow B&=E, \\ x_1x_2y_1y_2&=0&\Rightarrow B&=F=G, J=H,\\ 2dx_1x_2y_1y_2&=1&\Rightarrow E&=F,\\ y_1y_2&=1&\Rightarrow Y_3&=Z_3. \end{aligned}$$
$$\begin{aligned}&(1-dx_1x_2y_1y_2)(x_1y_2+y_1x_2)\\&\quad = (1+dx_1x_2y_1y_2)(y_1y_2+x_1x_2) \Rightarrow X_3=Y_3, \end{aligned}$$
$$\begin{aligned} \begin{array}{rr} \\ dx_1x_2y_1y_2&{}= 1 \\ \vee &{} \\ (x_1y_2 +y_1x_2)-(1-d(x_1x_2y_1y_2)&{}=0 \\ \\ \end{array}\Bigg \} \Rightarrow X_3=Y_3 \\ \end{aligned}$$

C Alternative DPA countermeasures

1.1 C.1 Scalar randomization countermeasures

Scalar Randomization [21] Select a random number d and compute the scalar multiplication \(Q=[k']P=[k+d(\# E)]P=[k]P+[d(\#E)]P=[k]P\), since \([d(\#E)]P=P_{\infty }\).

Exponent splitting [20] For any random number r is a \(n-\)bit random integer, that is, of the same bit length as k,  and computing \([k]P=[k-r]P+[r]P.\) However, generating a random number r is expensive, and this countermeasure requires at least twice the processing power since both \([k-r]P\) and [r]P need to be computed.Footnote 1

Trichina-Bellezza countermeasure [54] Trichina et al. proposed the following countermeasure. For any random number r, evaluate \([k]P = [kr^{-1}]([r]P )\). A disadvantage of this countermeasure is that it requires to compute the inverse of r modulo ord\(_E(P).\) Besides, two scalar multiplications are needed; first \(R=[r]P\) is computed and then \([kr^{-1}]R\).

Euclidean division [18] The scalar multiplication by k is written as \([k]P=[k \bmod r]P +[\lfloor k/r \rfloor ]([r]P).\) Letting \(S:=[r]P,\)\(k_1:=k \bmod r\) and \(k_2:= \lfloor k/r\rfloor \), we can obtain \(Q=[k]P\) as \([k_1]P+[k_2]S\) where the bit length of r is n / 2. To reduce the cost, Ciet presented a regular algorithm variant of Shamir’s double-ladder technique.

Self-randomized exponentiation [16] Given a scalar \(k=(k_l,\dots ,k_0)_2=\sum _{i=0}^l k_i 2^i\) with \(k_i \in \{0,1\}\) (in binary representation), define

$$\begin{aligned} k_{d \rightarrow j} :=(k_d, \dots , k_j)_2=\sum _{j\le i \le d}k_i 2^{i-j} , \end{aligned}$$

for \(0 \le j \le d \le k\).

The idea behind self-randomized exponentiation consists in taking part of k as a source of randomness. The algorithm relies on the simple observation that, for any \(0\le i_j \le l,\) we have.

$$\begin{aligned}{}[k]P&=[k_{l\rightarrow 0}]P\\&=[((k_{l\rightarrow 0}-k_{l\rightarrow i_1})-k_{l\rightarrow i_2})\dots -k_{i_f}]P\\&\quad +\,[k_{l\rightarrow i_1}]P+[k_{l\rightarrow i_2}]P+\dots +[k_{l\rightarrow i_f}]P . \end{aligned}$$

1.2 C.2 Base point randomization countermeasures

Base point blinding [21] A fixed (secret) point R is selected and \(S=[k]R\) is precomputed. Given P,  the computation of [k]P is replaced by that of \([k](P+R)\) and the known value \(S=[k]R\) is subtracted at the end of the computation.

1.3 C.3 Other countermeasures against special points attacks

Ciet-Joye\(2P^{*}\) Algorithm [18] Ciet and Joye proposed the \(2P^{*}\) Algorithm. This randomization method is applicable to left-to-right scalar multiplication algorithm. The idea is to randomize [2]P using the method of randomized projective coordinates. This allows to keep using P in affine coordinate (which is equivalent to saying that the Z-coordinate of P is equal to 1), and the scalar multiplication is computed in mixed coordinates (which is more efficient than using purely projective coordinates). Moreover, the algorithm can be applied for elliptic curve with parameter \(a = -3\) (which allows cheaper group operations).

Random field isomorphism [32] The idea of this countermeasure is to use a randomly selected representation of the field of definition of the elliptic curve, i.e., use a random field isomorphism \(\phi :\mathbb {K} \rightarrow \mathbb {K'}\) to obtain a point \(P'=\phi (P)\) of the curve \( E' = \phi (E)\), so the scalar multiplication is calculated as

$$\begin{aligned}{}[k]P=\phi ^{-1}([k](\phi (P))) \end{aligned}$$

This countermeasure has a major disadvantage: Special fields used in most standards, for example NIST and SEGC, use irreducible polynomials for which the reduction is much more efficient (for example, in characteristic two using trinomials or pentanomials in which most of the terms have very low degree), but this property is usually lost after the field isomorphism is applied, so the operations over the isomorphic fields can be much slower (see [4]).

Random curve isomorphism [32] The idea of this countermeasure is to transfer the base point \(P_1=(x,y)\in E_1(\mathbb {K})\) to a randomly selected isomorphic curve \(\phi :E_1(\mathbb {K}) \rightarrow E_2(\mathbb {K})\) (the parameters of the curve \(E_2(\mathbb {K})\) are \(a'=r^4 a\) and \(b'=r^6 b\)), the transferred point is \(\phi (P_1)=(r^2x, r^3y)=P_2\) and the scalar multiplication is executed as (\([k]P_2= [k]\phi (P_1)\)) on the curve \(E_2(\mathbb {K})\), and the result \(Q_2=(x_k, y_k)\) is brought back to the original curve \(E_1(\mathbb {K})\), by computing \(\displaystyle Q_1=[k]P=(x_k/r^2, y_k/r^3)=\phi ^{-1}([k](\phi (P)))\). The randomization takes \(4M+2S\) at the beginning of the scalar multiplication and \(1I+3M+1S\) at the end. However, when using random curve isomorphisms, the parameters of \(E_2(\mathbb {K})\) cannot be chosen and one cannot take advantage of algorithms that require curve parameters to be set to specific values. In particular, fast doubling formula for \(a=-3\) usually cannot be used.

Generalization Tunstall and Joye [55] define

$$\begin{aligned}\phi (P)=P'=(X', Y', Z')=(f^\mu X, f^\nu Y, Z) \end{aligned}$$

for an arbitrary \(f \in \mathbb {F}_q^\times \) and some small integers \(\mu \) and \(\nu .\) The inverse of \(\phi \) can be computed without inverting f since \(P=\phi ^{-1}(P')=(f^\nu X', f^\mu Y', f^{\mu +\nu }Z)\). The case \(\mu =2\), \(\nu =3\) correspond to the technique of random curve isomorphism of Joye and Tymen [32].

Projective randomization [21] Randomizing the homogeneous projective coordinates of the point \(P=(X:Y:Z)\) with \(\lambda \ne 0\) to \(P=(\lambda X : \lambda Y : \lambda Z)\). The random variable \(\lambda \) can be updated in every execution or after each doubling or addition. When computing the scalar multiplication using Jacobian coordinates, the point Q is represented as \(Q=(X : Y : Z)\). The point Q can be recovered to affine coordinate by computing \(x=X/Z^2\) and \(y=Y/Z^3\), and so we avoid the attack presented in [44]. Moreover, when using Jacobian coordinates, it is suggested to select curve parameters a as \(a=-3\). Using randomized projective coordinates is much more efficient, but does not allow \(\lambda \) to be set to one [50], i.e., scalar multiplication cannot use mixed coordinates (Jacobian or affine). This countermeasure is effective against Template Attacks [15].

1.4 C.4 Summary

In the following table, we present a summary of known DPA countermeasures, indicating whether they will block (\(\checkmark \)) or allow (\(\times \)) the three types of special points attacks mentioned in this paper: RPA, ZVP, and SVA.

See Table 15.

Table 15 Summary of known countermeasures

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Abarzúa, R., Martínez, S., Mendoza, V. et al. Same value analysis on Edwards curves. J Cryptogr Eng 10, 27–48 (2020). https://doi.org/10.1007/s13389-019-00206-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13389-019-00206-6

Keywords