Abstract
Point compression is an essential technique to save bandwidth and memory when deploying elliptic curve based security solutions in wireless communication systems. In this contribution, we provide new linear algebra (LA) based compression algorithms for multiple points on elliptic curves, that are compression algorithms which only make use of LA (with a constant number of field multiplications and at most one inversion, with no quadratic or higher degree polynomial root finding). In particular, we extend the results of Khabbazian et al. (IEEE Trans Comput 56(3):305–313, 2007) to four (resp. five) points on elliptic curves by generically storing five (resp. six) field elements and provide an asymptotic generalization to any number n of points on a curve \(y^2=f(x)\) by generically storing \(n+1\) values.
Similar content being viewed by others
Notes
In fact, as noticed by a reviewer of a previous version of this work, since one inversion is roughly equivalent to one square root extraction, there is the easier compression method of always storing \((x_1, x_2, y_1, b)\), where b is a bit allowing to compute \(y_2\) from \(f(x_2)=y^2_2\). The decompression then simply costs 1 inversion.
Meaning that the \(2^n\) sums \(\pm y_1 \pm \cdots \pm y_n\) are all distinct.
References
Adj G., Rodríguez-Henríquez F.: Square root computation over even extension fields. IEEE Trans. Comput. 63(11), 2829–2841 (2014).
Ahmadi O., Hankerson D., Menezes A.: Software implementation of arithmetic in \({\mathbb{F}}_{3^m}\). In: Carlet C., Sunar B. (eds.) Proceedings of WAIFI 2007. Lecture Notes in Computer Science, vol. 4876, pp. 85–102. Springer, Berlin (2007).
ANSI X9.62 Public Key Cryptography for the Financial Services Industry: The Elliptic Curve Digital Signature Algorithm (ECDSA) (2005).
ANSI X9.63. Public Key Cryptography for the Financial Services Industry: Key Agreement and Key Transport Using Elliptic Curve Cryptography (2001).
Avanzi R.M., Cohen H., Doche D., Frey G., Lange T., Nguyen K., Vercauteren F.: Handbook of Elliptic and Hyperelliptic Curve Cryptography. Chapman & Hall/CRC, Boca Raton (2006).
Avanzi R.M.: Another look at square roots (and other less common operations) in fields of even characteristic. In: Adams C., Miri A., Wiener M. (eds.) Proceedings of SAC 2007. Lecture Notes in Computer Science, vol. 4876, pp. 138–154. Springer, Berlin (2007).
Barretol P.S.L.M., Kim H.Y., Lynn B., Scott M.: Efficient algorithms for pairing-based cryptosystems. In: Yung M. (ed.) Proceedings of CRYPTO 2002. Lecture Notes in Computer Science, vol. 2442, pp. 354–369. Springer, Berlin (2002).
Bellare M., Namprempre C., Neven G.: Security proofs for identity-based identification and signature schemes. In: Cachin C., Camenisch J. (eds.) Proceedings of EUROCRYPT 2004. Lecture Notes in Computer Science, vol. 3027, pp. 268–286. Springer, Berlin (2004).
Blake-Wilson, S., Bolyard, N., Gupta, V., Hawk, C., Moeller, B.: Elliptic curve cryptography (ECC) cipher suites for transport layer security (TLS). IETF Internet Draft, May 2006. http://tools.ietf.org/html/rfc4492.
Campagna, M., Zaverucha, G.: A cryptographic suite for embedded systems (suite E). IETF Internet Draft, October 2012. http://tools.ietf.org/html/draft-campagna-suitee-04.
Cohen H.: A Course in Computational Algebraic Number Theory, vol. 138. Graduate Texts in Mathematics. Springer, Berlin (1996).
Cox D.A., Little J., O’Shea D.: Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra. Springer, Secaucus (2007).
Cox D.A., Little J., O’Shea D.: Using Algebraic Geometry. Springer, Secaucus (1998).
Devegili A.J., Scott M., Dahab R.: Implementing cryptographic pairings over Barreto-Naehrig curves. In: Takagi T., Okamoto E., Okamoto T., Okamoto T. (eds.) Proceedings of Pairing 2007. Lecture Notes in Computer Science, vol. 4575, pp. 197–207. Springer, Berlin (2007).
Fan X., Gong G.: Accelerating signature-based broadcast authentication for wireless sensor networks. Ad Hoc Netw. 10(4), 723–736 (2012).
Fulton W.: Intersection Theory. Ergebnisse der Mathematik und ihrer Grenzgebiete. Springer, Berlin (1984).
Galindo D., Garcia F.D.: A Schnorr-like lightweight identity-based signature scheme. In: Preneel B. (ed.) Proceedings of AFRICACRYPT 2009. Lecture Notes in Computer Science, vol. 5580, pp. 135–148. Springer, Berlin (2009).
Hankerson D., Menezes A., Vanstone S.: Guide to Elliptic Curve Cryptography. Springer, Heidelberg (2003).
IEEE Vehicular Technology Society. IEEE standard for wireless access in vehicular environments security services for applications and management messages (2013).
Khabbazian M., Gulliver T.A., Bhargava V.K.: Double point compression with applications to speeding up random point multiplication. IEEE Trans. Comput. 56(3), 305–313 (2007).
Koblitz N.: Elliptic curve cryptosystems. J. Math. Comput. 48, 203–209 (1987).
Koo N., Cho G.H., Kwon S.: Square root algorithm in\(\mathbb{F} _q\) for \(q \equiv 2^s + 1 ~(\text{mod} \; 2^{s+1})\). https://eprint.iacr.org/2013/087.pdf.
Lange T.: Explicit formulas database. http://hyperelliptic.org.
Liu Z., Seo H., Groschädl J., Kim H.: Efficient implementation of NIST-compliant elliptic curve cryptography for sensor node. In: Qing S., Zhou J., Liu D. (eds.) Proceedings of ICICS 2013. Lecture Notes in Computer Science, vol. 8233, pp. 302–317. Springer, Berlin (2013).
Lou W., Ren K., Yu S., Zhang Y.: Multi-user broadcast authentication in wireless sensor networks. IEEE Trans. Veh. Technol. 58(8), 4554–4564 (2009).
National Highway Traffic Safety Administration. Vehicle safety communications project—task 3 final report, March 2005. http://www.its.dot.gov/research_docs/pdf/59vehicle-safety.pdf.
NIST SP 800-90. Recommendation for Random Number Generation Using Deterministic Random Bit Generators (2012)
NIST Removes Cryptography Algorithm from Random Number Generator Recommendations, April 2014. http://www.nist.gov/itl/csd/sp800-90-042114.cfm.
Peterson W.W., Brown D.T.: Cyclic Codes for Error Detection. Proc. IRE 49(1), 228–235 (1961).
Rouillier F.: Solving zero-dimensional systems through the rational univariate representation. Appl. Algebra Eng. Commun. Comput. 9(5), 433–461 (1999).
Vanstone S., Menezes A., van Oorschot P.: Handbook of Applied Cryptography. CRC Press, Boca Raton (2001).
Wollinger T., Pelzl J., Paar C., Saldamli G., Koç Ç.K.: Elliptic and hyperelliptic curves on embedded \(\mu \)p. ACM Trans. Embed. Comput. Syst. 3(3), 509–533 (2004).
Yen S.-M., Laih C.-S., Lenstra A.K.: Multi-exponentiation. Comput. Digit. Tech. 141(6), 325–326 (1994).
Zhu S., Liu D., Ning P., Jajodia S.: Practical broadcast authentication in sensor networks. In: Proceedings of the Second Annual International Conference on Mobile and Ubiquitous System: Networking and Services (MobiQuitous 2005), pp. 118–129 (2005).
Acknowledgments
We would like to thank Changbo Chen for the discussion about Gröbner bases and specifically about pointing us to the Shape Lemma. The project is financially supported by the grant of the Corporate Fund “Fund of Social Development” to Adilet Otemissov and Francesco Sica.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by C. Mitchell.
This work was done when Xinxin Fan was a research associate at the University of Waterloo.
Adilet Otemissov worked on part of this project as his capstone thesis at Nazarbayev University.
Appendices
Appendix 1: Expression of the polynomials \(g_i\) when \(n=4\)
Next, \(g_3(a_1)\) equals
divided by
The formula for \(g_4(a_1)\) is
divided by
These formulas were obtained by running the following commands in SAGE (www.sagemath.org):
Appendix 2: Computational complexity of the decompression for \(n = 4\)
1.1 All points are decompressed
The calculation of the complexity is based on the principles described in [23], which are as follows.
-
Only the square and multiply operations are counted; the computational cost of the addition and subtraction is neglected.
-
Multiplication by a constant is neglected as well.
It most cases inversion is computationally costly as compared to multiplication and square operations. For that reason, we will minimize the number of the inversions.
Denote
Then Eq. (10) yields
The computation of \(y_1, y_2, y_3, y_4\) separately using the equation above ends up with 4 inversions. For the sake of efficiency, it makes sense to compute \(y_i\)’s in the following way:
Here all \(y_i\)’s are converted to the common denominator, which means that only one inversion is needed.
Table 1 shows how the computational complexity is calculated.
Overall, the decompression algorithm require \(55M + 11S + 1I\).
1.2 Only one point is decompressed
The complexity of the decompression can be reduced when one has to extract only one \(y_i, i \in \{1, 2, 3, 4\},\) and not all of them. Note that in many practical situations only one of the y-coordinates has to be extracted for the archive.
Without loss of generality, suppose we have to recover \(y_1\). We will compute \(y_1\) using Eq. (23).
Then in Table 1 we can avoid the computation of the following values: \(D + E y_2^2\), \(D + E y_3^2\), \(D + E y_4^2\), \(\big (D + E y_1^2\big ) \big (D + E y_2^2\big ) \big (D + E y_3^2\big ) \big (D + E y_4^2\big )\), \(B + C\big (a_2 y_2^2 + y_2^4\big )\), \(B + C\big (a_2 y_3^2 + y_2^4\big )\), \(B + C\big (a_2 y_4^2 + y_2^4\big )\). This saves us \(1M + 1M + 1M + 3M + 2M + 2M + 2M = 12M\).
Instead of inverting \(\big (D + E y_1^2\big ) \big (D + E y_2^2\big ) \big (D + E y_3^2\big ) \big (D + E y_4^2\big )\) we will invert \(\big (D + E y_1^2\big )\) so we still need 1I.
In the end we needed extra 16M to compute \(y_1, y_2, y_3, y_4\) (see the very end of Sect. 1). And now we will need 1M instead: this is the multiplication \(\Big (B + C \big (a_2 y_1^2 + y_1^4\big )\Big ) \cdot \big (D + E y_1^2\big )^{-1}\). This saves us 15M.
In total we save \(12M + 15M = 27M\) and the overall complexity becomes \((55M + 11S + 1I) - 27M = 28M + 11S + 1I\).
Furthermore, in the case when the decompression algorithm may output the projective coordinates of the point (which is acceptable e.g. when the decompressed point is used for the point addition or point doubling) we can avoid the inversion.
Appendix 3: Computational complexity of the decompression for \(n = 5\)
1.1 Preparation step
Table 2 shows the cost of computing \(y_i^2, b_i\), \(i = 1, 2, 3, 4, 5\) as well as C, F, G, H, K, L.
1.2 Final computation of \(y_i\)
Table 3 demonstrates the cost of the computation of \(y_i\), \(i = 1, 2, 3, 4, 5\) in the case when the goal is to retrieve the y-coordinates of all five points. Table 4 shows the cost of the computational complexity can be reduced significantly when the goal is to retrieve only one \(y_i, i \in \{1, 2, 3, 4, 5\}\).
The overall computational complexity of the decompression algorithm is \(120 M + 12 S + I\) in the case when the goal is to retrieve the y-coordinates of all five points. If only one point has to be retrieved the complexity reduces to \(64 M + 12 S + I\). Furthermore, when the decompression algorithm may output the projective coordinates we can avoid the inversion.
Rights and permissions
About this article
Cite this article
Fan, X., Otemissov, A., Sica, F. et al. Multiple point compression on elliptic curves. Des. Codes Cryptogr. 83, 565–588 (2017). https://doi.org/10.1007/s10623-016-0251-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10623-016-0251-2