.svn folders cleaned
[libg2hec.git] / README
blobc6164d1bbc6d3fcac00385dda20882954e13e3f5
1 THE G2HEC LIBRARY
3 The G2HEC (Genus 2 HyperElliptic Curve) library is a free portable C++ library
4 providing divisor group operations in the Jacobian of genus 2 (imaginary)
5 hyperelliptic curve.  Such curves can be used for discrete-logarithm-based
6 cryptosystems with advantages over elliptic curves (genus 1 curves).  Divisor
7 group operations are essential to using genus 2 curves for cryptography.
9 It is built on top of V. Shoup's NTL library, "a high performance, portable C++
10 library providing data structures and algorithms for arbitrary length integers;
11 for vectors, matrices, and polynomials over the integers and over finite
12 fields; and for arbitrary precision floating point arithmetic."  The NTL
13 library homepage: http://www.shoup.net/ntl/
15 It is recommended to build NTL using GMP (the GNU Multi-Precision package) for
16 best performance.  However, the G2HEC library can be built and used with and
17 without the existence of GMP.  The GMP library homepage:
18 http://www.swox.com/gmp/
20 This library does not assume users' familiarity with any non-trivial math 
21 background except basic concepts of finite fields and polynomials.  No prior
22 knowledge of genus 2 curve is needed to used the library.
24 The G2HEC library is released under the GNU General Public License.  See the
25 file COPYING for details.
27 ----------------------------------------------------------------------------
28 Ning Shang <nshang@math.purdue.edu>