This library is an evolution of the public domain library by
Daniel J. Bernstein ( http://cr.yp.to/ecdh/curve25519-20050915.tar.gz ).

Unlike the original, which is extremely fast machine code doing most
of the work using floating point registers, this is a portable
implementation using the GMP library.

An implementation of the function is javascript is included in
curve25519.html.

Security note: this implementation is not resistant to timing attacks.

Some test programs are included in the present distribution:

* 'curve25519test': Its output should be identical to that of the
  test-curve25519 program in the curve25519-20050915 library.
  'curve25519test.txt' provides the first 100 lines of output.

* 'curve25519': provides a command-line interface to the curve25519 function,
  usable in scripts or by external programs.  Input and output can be in
  base32, hexadecimal or inverted-byte hexadecimal format (the one
  used in the original library's test program).

  The TESTDUMP file provides sample input and output (to verify the correctness of the
  implementation).


Enjoy!

Copyright (c) 2007 Michele Bini

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
