JAVA Toolkit
| home | contact

Home > Products > Core Crypto Toolkits > ECCelerate™



News Menu

Latest News

ECCelerate 5.0 released!

12/07/2018

We proudly present a new maintenance release of our IAIK ECCelerate™ elliptic curve library! Version 5.0 adds support EdDSA using Curve25519 and Curve448, ECDH using X25519 and X448, and RFC6979. IAIK ECCelerate™ is based on Java 6 technology and has been thoroughly optimized for speed. Currently, it supports ECDSA, EdDSA, ECDH, X25519/448, ECIES and optionally ECMQV.

New releases of PKCS#11 toolkits!

23/01/2018

The new versions of our PKCS#11 toolkits now support the GCM and CCM cipher modes of operation!

References

Our Clients


ECCelerate™

IAIK proudly presents the IAIK ECCelerate™ library for the Java™ platform. It is based on Java 6 technology and offers easy to use elliptic curve cryptography protocols, like ECDSA, ECDH, ECIES and ECMQV (optional), compliant with current standards. As of version 3.0, it also provides support for asymmetric bilinear pairings using Barreto-Naehrig curves. Since version 5.0, ECCelerate™ supports EdDSA and DH based on X25519 and X448. ECCelerate™ is an add-on to the IAIK JCE provider (of version 5.51 or higher), which you have to download and install separately.

 Main Features

  • Written entirely in the Java™ language
  • Compliant with ANSI X9.62-2005 (and legacy support for ANSI X9.62-1998), ANSI X9.63, IEEE P1363a, FIPS 186-4, SEC1 v2.0, SEC2 v2.0, RFC 5639 and ANSSI
  • ECDSA with SHA-1/SHA-2 support according to ANSI X9.62-2005 and BSI TR 03111 v1.11
  • RFC6979 support for ECDSA
  • EdDSA width Curve25519 and Curve448
  • Fast finite field arithmetic in prime fields
  • Fast finite field arithmetic in binary fields. In binary fields we only use polynomial base representation. This is mainly because of the patent situation, but there is no reason to use Gaussian normal bases.
  • Support for elliptic curve arithmetic with affine and several types of projective coordinates (Extended Jacobian, Jacobian, Lopez-Dahab, ...)
  • Comprehensive domain parameter factory (see list of supported parameters)
  • JCE/JCA integration of ECDSA, ECDH (with and without cofactor multiplication, also for X25519/X448), ECIES, EdDSA and ECMQV (optional)
  • ASN.1 encoding of signatures, public and private keys
  • Support for point compression
  • Provides interfaces to IAIK-CMS and IAIK iSaSiLk libraries
  • Optional arithmetic speed-ups enhance performance (Koblitz curves, various optimized scalar multipliers, ...). These are delivered with the add-on due to the vague patent situation.
  • Optional (basic) protection against (remote) timing side-channels
  • Asymmetric pairing (optimal Ate pairing) over Barreto-Naehrig curves (ranging from 160-bit to 638-bit curves)

To get started you should read the Tutorial.

Security Strengths according to NIST SP800-57a (Part 1)

NIST SP-800-57a Part1 Document
 

 Bits of Security

 Example Algorithm

 Prime Field ||p|| *

 Binary Field m

 112

 Triple-DES

 224

 233

 128

 AES-128

 256

 283

 192

 AES-192

 384

 409

 256

 AES-256

 521

 571

 *) by ||p|| is meant the length of the binary expansion of the integer p.

ECCelerate™ Add-On

The ECCelerate™ Add-On holds algorithms that are (assumed to be) subject to patent claims. In case you want to employ our arithmetical optimizations to gain full performance, you must include iaik_eccelerate_addon.jar into your classpath.

Patent Issues

There have been many patents granted and applied for in the field of ECC. This means that this implementation may contain an implementation of an algorithm that is IPR-protected in some country. At this time we are not aware of a specific case, some arithmetical speedups (included in the separate iaik_eccelerate_addon.jar file). If anybody identifies a case of potential patent infringement, we would be grateful if you could inform us about this to enable us dealing with the issue.

ECC Support for Java Versions prior to 1.6

ECCelerate™ does not support Java versions prior to 1.6. Please contact us, if you need support for older Java version, as, in such a case, we can offer you our old IAIK-ECC library.

Sales and Conditions

 For current prices of the ECCelerate™ library, please see the price list and license conditions.

 To order the product enter webshop.


 
print    tip a friend
back to previous page back  |  top to the top of the page