Skip to content
Snippets Groups Projects
Commit 707521b4 authored by Peter Schwabe's avatar Peter Schwabe
Browse files

Updated conclusion

parent 8a5070f0
No related branches found
No related tags found
No related merge requests found
\section{Conclusion}
\section{Future work and conclusion}
\label{sec:conclusion}
\todo{Rework this.}
We see that the slowdown factor ranges from about $1.5\times$
for the Haswell platform, to $2.9\times$ on Cortex M4.
In terms of cycle counts,
Curve13318 is considerably slower than Curve25519.
However, the small factor involved can still be considered
insignificant for complex protocols,
which are often not designed for performance in the first place.
\subheading{Future work.}
Of course it might be possible to improve on our results for optimized arithmetic
using the Renes-Costello-Batina formulas, but we would be surprised to see such
improvements change the big picture and conclusion we draw in this paper.
What would be interesting to explore is carefully optimized software for the
complete ladder formulas presented in~\cite{SM17}.
Our intuition is that in practice they will end up slightly slower than
the signed fixed-window scalar multiplication using Renes-Costello-Batina formulas
we employed here, but setteling this question clearly needs more implementation
effort.
In this paper, we introduced Baretto's Weierstraß curve,
which we call ``Curve13318''.
We implemented optimized algorithms for variable-basepoint scalar multiplication
on the Intel Haswell and Sandy Bridge microarchitectures,
and on the ARM Cortex M4 architecture, using the formulas from~\cite{RCB16}.
We compared their performances to well-known implementations
for scalar multiplication on Curve25519.
The cycle counts show that Curve13318 is considerably slower than Curve25519---%
by a factor ranging from 1.47 on Intel Haswell and 2.87 on ARM Cortex M4---%
though this slowdown should still be reasonable for most cryptographic protocols.
\subheading{Conclusion.}
The analysis in this paper shows that using prime-order Weierstraß curves
with complete addition formulas is between $\approx 1.5$ times and $\approx 2.9$
times slower than using state-of-the-art Montgomery curve arithmetic.
In an area where even a $10$\% improvement in performance is often
considered important an worth publication in major venues, this is
a pretty heavy price to pay; at least for some applications that
are bottlenecked by ECC performance.
We argue that,
% We "believe" that?
while prime-order Weierstraß curves may be slower,
they are easier to implement securely in complex cryptographic protocols than their (twisted) Edwards counterparts.
Moreover, we saw (again) that the overhead of complete formulas
for arithmetic on Weierstraß curves is not that large.
However, for applications that primarily aim at simplicity and safety against
subgroup attacks, the performance penalty might be acceptable.
This point of view is supported, for example, also by the fact that
the attempt to standardize the high-performance ``Four$\mathbb{Q}$''
curve~\cite{CL15} in CFRG~\cite{LLB17} was only very short lived\footnote{For the full dicussion, see \url{https://mailarchive.ietf.org/arch/msg/cfrg/sCqu86nFiAw_9beBXVqBM_zES_k.}}.
The discussion around this proposal acknowledged that Four$\mathbb{Q}$
offers considerably faster arithmetic than Curve25519, but questioned
that there are any applications that really need that performance.
In the end, Weierstraß curves are still superseded by Curve25519.
However for complex protocols,
we discourage the unmodified use of this curve.
Instead, eliminate the non-trivial cofactor; use Ristretto.
% \subheading{Future work.}
% Should be even do this?
% \begin{Verbatim}
% - Implement the other formulas for other GF(2^255-19)-curves
% - Complete formulas useful for scalar randomization
% - Try the Susella-Montrasio formulas.
% - Make the argument that the traditional curves are bad,
% but not because of their Weierstrass form. Only because
% the constants and field are worse than Curve25519s.
% \end{Verbatim}
%
In our opinion, for the design of new protocols the best compromise
is to use Curve25519 in twisted Edwards form with the Ristretto encoding
to remove the non-trivial cofactor.
......@@ -109,7 +109,7 @@ cofactor security}
%\section{Appendix}
%\input{algorithms}
\clearpage
%\clearpage
%\bibliographystyle{splncs04}%
\bibliographystyle{alpha}
\bibliography{refs}%
......
......@@ -39,14 +39,26 @@
title = {Twisted Edwards Curves Revisited},
booktitle = {Advances in Cryptology -- {ASIACRYPT 2008}},
editor = {Josef Pieprzyk},
series = {Lecture Notes in Computer Science},
publisher = {Springer-Verlag Berlin Heidelberg},
publisher = SV,
series = LNCS,
volume = {5350},
year = {2008},
pages = {326--343},
note = {\url{http://eprint.iacr.org/2008/522/}},
}
@inproceedings{CL15,
author = {Craig Costello and Patrick Longa},
title = {Four$\mathbb{Q}$: four-dimensional decompositions on a $\mathbb{Q}$-curve over the Mersenne prime},
booktitle = {Advances in Cryptology -- {ASIACRYPT 2015}},
editor = {Tetsu Iwata and Jung Hee Cheon},
publisher = SV,
series = LNCS,
volume = {9452},
year = {2015},
pages = {214--235},
note = {https://eprint.iacr.org/2015/565.pdf},
}
@misc{VGT+19,
author = {Henry de Valence and Jack Grigg and George Tankersley and Filippo Valsorda and Isis Lovecruft},
......@@ -56,6 +68,14 @@
note = {\url{https://tools.ietf.org/html/draft-hdevalence-cfrg-ristretto-01} (accessed 2019-07-31)},
}
@misc{LLB17,
author = {Watson Ladd and Patrick Longa and Richard Barnes},
title = {{Curve4Q}},
howpublished = {IETF CFRG Internet Draft},
year = {2017},
note = {\url{https://tools.ietf.org/html/draft-ladd-cfrg-4q-00} (accessed 2019-08-18)},
}
@misc{ristretto,
author = {Tony Arcieri and Henry de Valence and Isis Lovecruft},
title = {{The} {Ristretto} {Group}},
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment