print Print
Logo: Stiftung Secure Information and Communication Technologies SIC Stiftung Secure Information and Communication Technologies SIC


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 Type-2 and Type-3 bilinear pairings on Barreto-Naehrig curves. ECCelerate™ is an add-on to the IAIK JCE provider (of version 4.0 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
  •  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), ECIES 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 Type-2 and Type-3 pairings 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

















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

Advantages Over the Old IAIK-ECC Library

  • Faster prime field implementations
  • Much faster binary field implementations
  • Faster curve arithmetic:
    • Latest addition and doubling formulas
    • Includes the fastest coordinate types
    • Specific addition and doubling formulas for many standardized curves
    • etc.
  • Based on latest standards
  • Includes RFC 5639 (Brainpool) curves and ANSSI FRP256v1 curve
  • FIPS 186-4 compliant ECKeyPairGenerator
  • Includes the ANSI X9.63 key derivation function for use with ECDH
  • Seamless integration into the JDK
  • Additional protocols: ECIES and ECMQV (optional)
  • Asymmetric Type-2 and Type-3 pairings over Barreto-Naehrig curves (ranging from 160-bit to 638-bit curves)
  • Modular design
  • Based on Java 6 technology
  • Easier to use

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 Print