Elliptic Curve Cryptography

The Elliptic Curve Cryptography library that is published be The Hanalei Company is a work from scratch based upon the information from Dr. Michael Rosing's book Implementing Elliptic Curve Cryptography. His book details the basic math for several mathematical basis for implementing Elliptic Curve Cryptography, along with samples in C. It also covered some complex details or strategies that one can deploy with ECC (e.g. - T-matrix, hiding data on the curve itself).

The implementation that is presented for download involves the simplest mathematical modeling and the simplists strategy for forming secrets. The mathematics involves a finite field over F2m and the simple algorithms necessary for establishing a shared secret using one private key, another public key, and a base point on the curve. And the elliptic curves published here are considered by experts in the field to be strong candidates, even if a sub exponential time attack against the curves is discovered.

For those of you who are new to ECC, see our tutorial on Elliptic Curve Cryptography.

Check out our publication line up for ECC:

Present Day Technology

It is becoming clear that ECC is a technology being embraced by the industry as one would expect for an emerging encryption technology. That is, it's acceptance demonstrates an industry wide belief that the technology is sound and may one day replace RSA altogether.

ECC provides some clear benefits for those wishing to deploy an asymmetric cipher that requires less ROM and less RAM than alternate ciphers. It also provides some advantages over its only real competitor, RSA, in the area of verification of key selection and algorithms.

All values in the ECC private key space are legal keys. Therefore, the selection of a private key should be random. Any checks against the selection would be for weak keys only, if some were demonstrated against a curve.

On the other hand, RSA private key selection involves finding a valid prime value. This selection must then be verified to see if it is even a legal value. The result is one of a hunt and pick selection method. Not very effecient for a state of the art cipher.

The entire ECC process of key generation (both private and public) are well known and exposed to the public. It has been said that this is not true for RSA.

Get Firefox!     Get Thunderbird!