Speed reports for elliptic-curve cryptography D. J. Bernstein
Authenticators and signatures
A state-of-the-art Diffie-Hellman function

Speed reports for elliptic-curve cryptography

The following table summarizes various speed reports for elliptic-curve scalar multiplication: i.e., for computing nP, given an integer n and a point P on an elliptic curve.

Sometimes the public key P is compressed to its x-coordinate. For example, the table below lists 595537 Athlon cycles for scalar multiplication on NIST P-224 with 448-bit keys, and 678633 Athlon cycles for scalar multiplication on NIST P-224 with 224-bit keys. A 448-bit key in this case is a pair (x,y) on the curve, while a 224-bit key is simply x.

The ``constant time'' column considers timing attacks, including cache-timing attacks. ``Constant time: yes'' means that the software speed is independent of n and P.

The ``validation included'' column considers invalid-key attacks. ``Validation included: yes'' means that the software can accept arbitrary public keys as input, not just pre-validated public keys.

The ``known attack'' column describes, for each curve, the known discrete-logarithm algorithm having the lowest price-performance ratio. In each case, the fastest algorithm is a Pollard-type algorithm dominated by elliptic-curve additions. These algorithms have very low communication costs and parallelize perfectly across many processors.

constant time validation included cycles CPU field size curve key bits known attack source
nono500000Alpha 21264(2^61-1)^33662^90 adds1999 Kobayashi Morita Kobayashi Horito
nono580000Pentium II2^163NIST K-1633262^77 adds2000 Hankerson Hernandez Menezes
nono595537Athlon (642)2^224-2^96+1NIST P-2244482^112 adds2001 Bernstein
yesyes624786Athlon (622)2^255-19Curve255192552^125 adds2005 Bernstein
yesyes640838Pentium M (695)2^255-19Curve255192552^125 adds2005 Bernstein
nono650000Alpha 21264(2^61-1)^33662^90 adds1999 Bailey Paar
nono668566UltraSPARC II2^224-2^96+1NIST P-2244482^112 adds2001 Bernstein
noyes678633Athlon (642)2^224-2^96+1NIST P-2242242^112 adds2001 Bernstein
nono682000Pentium III2^1633262^81 adds2002 Harley
nono724776Pentium III (672)2^224-2^96+1NIST P-2244482^112 adds2001 Bernstein
nono726922Pentium III (686)2^224-2^96+1NIST P-2244482^112 adds2001 Bernstein
nono734731Pentium II (652)2^224-2^96+1NIST P-2244482^112 adds2001 Bernstein
nono780000Pentium II2^192-2^64+1NIST P-1923842^96 adds2000 Brown Hankerson Hernandez Menezes
nono780000Pentium II(2^31-1)^63722^91 adds1999 Kobayashi Morita Kobayashi Horito
noyes785900UltraSPARC II2^224-2^96+1NIST P-2242242^112 adds2001 Bernstein
noyes823862Pentium III (672)2^224-2^96+1NIST P-2242242^112 adds2001 Bernstein
noyes826955Pentium III (686)2^224-2^96+1NIST P-2242242^112 adds2001 Bernstein
nono827360Pentium 4 (f05)2^224-2^96+1NIST P-2244482^112 adds2001 Bernstein
yesyes832457Pentium III (686)2^255-19Curve255192552^125 adds2005 Bernstein
noyes835530Pentium II (652)2^224-2^96+1NIST P-2242242^112 adds2001 Bernstein
nono837000Pentium III2^163NIST B-1633262^81 adds2003 Fong Hankerson Lopez Menezes
nono838000Athlonnear 2^1603202^80 adds2004 Avanzi
noyes943244Pentium 4 (f05)2^224-2^96+1NIST P-2242242^112 adds2001 Bernstein
yesyes957904Pentium 4 (f12)2^255-19Curve255192552^125 adds2005 Bernstein
nono985097Pentium (525)2^224-2^96+1NIST P-2244482^112 adds2001 Bernstein
nono1019027PowerPC RS64-III2^224-2^96+1NIST P-2244482^112 adds2001 Bernstein
noyes1120824Pentium (525)2^224-2^96+1NIST P-2242242^112 adds2001 Bernstein
noyes1166080PowerPC RS64-III2^224-2^96+1NIST P-2242242^112 adds2001 Bernstein
nono1170368PowerPC 74102^224-2^96+1NIST P-2244482^112 adds2001 Bernstein
nono1200000Pentium II2^224-2^96+1NIST P-2244482^112 adds2000 Brown Hankerson Hernandez Menezes
nono1200000Pentium II2^233NIST K-2334662^112 adds1999 Lopez Dahab
nono1200000UltraSPARC2^1633262^81 adds1998 Certicom
noyes1355344PowerPC 74102^224-2^96+1NIST P-2242242^112 adds2001 Bernstein
nono1395000Athlonnear 2^1923842^96 adds2004 Avanzi
nono1720000Pentium III2^233NIST B-2334662^116 adds2003 Fong Hankerson Lopez Menezes
nono1800000Pentium2^224-2^96+1NIST P-2244482^112 adds2000 Brown Hankerson Hernandez Menezes
nono2300000UltraSPARC2^160-29333202^80 adds1998 Cohen Miyaji Ono
nono2700000Pentium 42^224-2^96+1NIST P-2244482^112 adds2000 Brown Hankerson Hernandez Menezes
nono3048000Athlonnear 2^2565122^128 adds2004 Avanzi
nono3100000Pentium(2^31-1)^63722^91 adds1999 Bailey Paar
nono3600000UltraSPARC2^192-33453842^96 adds1998 Cohen Miyaji Ono
nono4100000UltraSPARC2^1633262^81 adds1999 Lopez Dahab
nono4200000Pentium Pronear 2^1923842^96 adds1998 De Win, Bosselaers, Vanderberghe, De Gersem
nono4800000UltraSPARC2^1913822^86 adds1999 Lopez Dahab
nono5100000UltraSPARC2^224-10254482^112 adds1998 Cohen Miyaji Ono
nono7500000Pentium II2^176352?1999 Aydos Savas Koc
nono7700000UltraSPARC2^2394782^115 adds1999 Lopez Dahab
nono9600000Pentium2^176352?1996 De Win, Mister, Preneel, Wiener
nono10000000Pentium Pro2^1913822^95 adds1998 De Win, Bosselaers, Vanderberghe, De Gersem
nono11800000Alpha2^176352?1998 Guajardo Paar
nono12800000Pentium2^1773542^88 adds1996 De Win, Mister, Preneel, Wiener