ECC (c) 2000 by David Stes .  All Rights Reserved.


ECC is a set of Objective-C objects (classes) for working with elliptic curves.

The arithmetic works over Finite Fields of *large* order and of characteristic > 2 (characteristic equal to a small prime number).

Usually Elliptic Curve packages work in the binary case only (characteristic equal to 2), so this is a difference;

The examples work over fields with prime field F47 i.e. p = 47.

See the INSTALL file for instructions on installing the package.

The examples included are simple TCP/IP applications that implement key exchange through multiplication on elliptic curves.

Note that the curve was just choosen at random and is in fact not very good (since the order is composite).

Example 1 implements Diffie-Hellman key exchange (in the ECC case)

     Start server on some computer, and wait until it accepts connections :

	./ex1server

     Run in another window (possibly on another computer) the client :

	./ex1client <ip-address of server>

Example 2 implements encryption of a message a la T. El Gamal.

Example 3 implements a digital signature a la T. El Gamal.

Example 4 implements a digital signature a la D.S.A.

Example 5 implements encryption of a message a la Massey-Omura.

Example 6 implements key exchange a la Menezes-Qu-Vanstone.

Example 7 implements a digital signature a la Nyberg-Rueppel.

--
David Stes
Email: stes@pandora.be

ECC homepage : http://objc.sourceforge.net
Alternate download : http://metalab.unc.edu/pub/Linux/devel/lang/objc/

