diff options
| author | J08nY | 2016-12-21 23:18:13 +0100 |
|---|---|---|
| committer | J08nY | 2016-12-21 23:18:13 +0100 |
| commit | 6e041d78249340d4f517e4a3fd70087dcaba9caf (patch) | |
| tree | d832fce623abb64b3782d1c17e0a282c3b766f81 | |
| parent | 0fab11892b19cd13dcea72cb501cc171c37b2de4 (diff) | |
| download | ecgen-6e041d78249340d4f517e4a3fd70087dcaba9caf.tar.gz ecgen-6e041d78249340d4f517e4a3fd70087dcaba9caf.tar.zst ecgen-6e041d78249340d4f517e4a3fd70087dcaba9caf.zip | |
| -rw-r--r-- | README.md | 22 |
1 files changed, 18 insertions, 4 deletions
@@ -15,13 +15,13 @@ ecgen [-l|-s|-p] -p for a generator of the whole curve as well as a smallest prime order point(pubkey) ``` ecgen then reads three lines of input: -`p` -`a` -`b` +* `p` - a prime number, in hex, without hex prefix +* `a` - a random number, in hex, without hex prefix +* `b` - a random number, in hex, without hex prefix the curve is then specified as `E(Fp): y^2 = x^3 + a x + b mod p` #### gen.sh -Utility script, uses openssl to generate the *p*, *a*, *b* parameters +Utility script, uses OpenSSL to generate the *p*, *a*, *b* parameters required for ecgen. ``` gen.sh [-l|-s|-p] [num_curves] [prime_size] [timeout] @@ -32,3 +32,17 @@ This script will generate `num_curves` curves with random parameters. It requires a timeout value, as the curve order computation can get really slow for some unfortunate curve parameters, it is therefore more effective to skip those after some timeout. + +### Build +``` +git clone https://github.com/J08nY/ecgen.git +cd ecgen +make +``` + +### Requirements +ecgen uses the [PARI/GP](http://pari.math.u-bordeaux.fr/) library for elliptic +curve arithmetic and it's SEA point counting algorithm implementation. + +gen.sh script uses [OpenSSL](https://www.openssl.org/) to generate the random domain parameters, +although any library/language can be used here, ecgen does not require OpenSSL. |
