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.
Similar content being viewed by others
Notes
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
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)
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)
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)
Avanzi, R.: Side channel attacks on implementations of curve-based cryptographic primites. IACR Cryptology ePrint Archive, report 2005/017 (2005)
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)
Bernstein, D.J.: Curve25519: new Diffie-Hellman speed records. In: Public Key Cryptography—PKC 2006, LNCS, vol. 3958, pp. 207–228. Springer (2006)
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)
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)
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)
Bernstein, D.J., Lange, T.: Explicit formula database. http://www.hyperelliptic.org/EFD/
Bernstein, D.J., Lange, T.: SafeCurves: choosing safe curves for elliptic-curve cryptography. http://safecurves.cr.yp.to/
Bogdanov, A.: Improved side-channel collision attacks on AES. In: SAC 2007, LNCS, vol. 4876, pp. 84–95. Springer (2007)
Bogdanov, A.: Multiple-differential side-channel collision attacks on AES. In: CHES 2008, LNCS, vol. 5154, pp. 30–44. Springer (2008)
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)
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)
Chevallier-Mames, B.: Self-randomized exponentiation algorithms. In: Topics in Cryptology—CT-RSA 2004, LNCS, vol. 2964, pp. 236–249. Springer (2004)
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)
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)
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)
Clavier, C., Joye, M.: Universal exponentiation algorithm. In: Cryptographic Hardware and Embedded Systems—CHES 2001, LNCS, vol. 2162, pp. 300–308. Springer (2001)
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)
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)
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)
Edwards, H.M.: A normal form for elliptic curves. Bull. Am. Math. Soc. New Ser. 44(3), 393–422 (2007)
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)
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)
Giry, D., Quinsquater, J.-J.: Bluekrypt cryptographic key length. Recommendation 2011, v26.0, April 18. http://www.keylength.com/ (2011)
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)
Hamburg, M.: Ed448-goldilocks, fast, strong elliptic curve cryptography. http://ed448goldilocks.sourceforge.net/
Josefson, S., Liusvaara, I.: Edwards-curve digital signature algorithm (EdDSA). Internet Research Task Force memo. https://tools.ietf.org/html/rfc8032 (2017)
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)
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)
Koblitz, N.: Elliptic curve cryptosystems. Math. Comput. 48, 203–209 (1987)
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)
Kocher, P., Jaffe, J., Jun, B.: Differential power analysis. In: Advances in Cryptology—CRYPTO 1999, LNCS, vol. 1666, pp. 388–397. Springer (1999)
Langley, A., Hamburg, M., Turner, S.: Elliptic curves for security. Internet Research Task Force memo. https://tools.ietf.org/html/rfc7748 (2016)
Mangard, S., Oswald, E., Popp, T.: Power Analysis Attacks: Revealing the Secrets of Smart Cards. Springer, Berlin (2010)
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)
Miller, V.S.: Use of elliptic curves in cryptography. In: Advances in Cryptology—CRYPTO 1985, LNCS, vol. 218, pp. 417–426. Springer (1986)
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)
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)
Moradi, A., Mischke, O., Eisenbarth, T.: Correlation-enhanced power analysis collision attack. In: CHES 2010, LNCS, vol. 6225, pp. 125–139. Springer (2010)
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)
Naccache, D., Smart, N.P., Stern, J.: Projective coordinates leak. In: Advances in Cryptology—EUROCRYPT 2004, LNCS, vol. 3027, pp. 257–267. Springer (2004)
Nascimento, E., Chmielewski, L., Oswald, D., Schwabe, P.: Attacking embedded ECC implementations through CMOV side channels. IARC Cryptology ePrint Archive, report 2016/923 (2016)
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)
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)
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)
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)
Smart, N.P., Oswald, E., Page, D.: Randomised representations. IET Inf. Secur. 2(2), 19–27 (2008)
Standards for efficient cryptography, SEC 2: Recommended Elliptic Curve Domain Parameters. Certicom Corp. Version 2.0, January 2010
Strauss, E.G.: Addition chains of vectors (problem 5125). Am. Math. Mon. 70, 806–808 (1964)
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)
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)
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)
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)
Author information
Authors and Affiliations
Corresponding author
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 \}\) |
These sets of variables produce the following identities that could potentially be used to generate SVA-points:
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:
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:
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
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.
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
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
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.
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s13389-019-00206-6