diff options
Diffstat (limited to 'beecrypt/dldp.h')
-rw-r--r-- | beecrypt/dldp.h | 53 |
1 files changed, 34 insertions, 19 deletions
diff --git a/beecrypt/dldp.h b/beecrypt/dldp.h index 62a5504d8..8775d1f5d 100644 --- a/beecrypt/dldp.h +++ b/beecrypt/dldp.h @@ -5,7 +5,7 @@ * * <conformance statement for IEEE P1363 needed here> * - * Copyright (c) 2000 Virtual Unlimited B.V. + * Copyright (c) 2000, 2001 Virtual Unlimited B.V. * * Author: Bob Deblier <bob@virtualunlimited.com> * @@ -34,11 +34,11 @@ /* * Discrete Logarithm Domain Parameters - Prime * - * Standard definition where p = 2qr+1; in case where p=2q+1, r=1 + * Standard definition where p = qr+1; in case where p=2q+1, r=2 * - * IEEE P1363 definition is p = rk+1 + * In IEEE P1363 naming is p = rk+1 * - * Hence, IEEE r = q and IEEE cofactor k = 2 or k = 2r + * Hence, IEEE prime r = q and cofactor k = r * * Make sure q is large enough to foil Pohlig-Hellman attacks * See: "Handbook of Applied Cryptography", Chapter 3.6.4 @@ -65,55 +65,70 @@ extern "C" { */ BEEDLLAPI -void dldp_pInit(dldp_p*); +int dldp_pInit(dldp_p* dp) + /*@modifies dp */; BEEDLLAPI -void dldp_pFree(dldp_p*); +int dldp_pFree(dldp_p* dp) + /*@modifies dp */; BEEDLLAPI -void dldp_pCopy(dldp_p*, const dldp_p*); +int dldp_pCopy(dldp_p* dp, const dldp_p*) + /*@modifies dp */; /* * Functions for generating keys */ BEEDLLAPI -void dldp_pPrivate(const dldp_p*, randomGeneratorContext*, mp32number*); +int dldp_pPrivate(const dldp_p* dp, randomGeneratorContext* rgc, mp32number* x) + /*@modifies dp, x */; BEEDLLAPI -void dldp_pPublic (const dldp_p*, const mp32number*, mp32number*); +int dldp_pPublic (const dldp_p* dp, const mp32number* x, mp32number* y) + /*@modifies y */; BEEDLLAPI -void dldp_pPair (const dldp_p*, randomGeneratorContext*, mp32number*, mp32number*); +int dldp_pPair (const dldp_p* dp, randomGeneratorContext* rgc, mp32number* x, mp32number* y) + /*@modifies x, y */; /* * Function for comparing domain parameters */ BEEDLLAPI -int dldp_pEqual (const dldp_p*, const dldp_p*); +int dldp_pEqual (const dldp_p* dp, const dldp_p*) + /*@*/; /* * Functions for generating and validating dldp_pgoq variant domain parameters */ BEEDLLAPI -void dldp_pgoqMake (dldp_p*, randomGeneratorContext*, uint32, uint32, int); +int dldp_pgoqMake (dldp_p* dp, randomGeneratorContext* rgc, uint32, uint32, int) + /*@modifies dp, rgc */; BEEDLLAPI -void dldp_pgoqMakeSafe (dldp_p*, randomGeneratorContext*, uint32); +int dldp_pgoqMakeSafe (dldp_p* dp, randomGeneratorContext* rgc, uint32) + /*@modifies dp, rgc */; BEEDLLAPI -void dldp_pgoqGenerator(dldp_p*, randomGeneratorContext*); +int dldp_pgoqGenerator(dldp_p* dp, randomGeneratorContext* rgc) + /*@modifies dp */; BEEDLLAPI -int dldp_pgoqValidate (const dldp_p*, randomGeneratorContext*, int); +int dldp_pgoqValidate (const dldp_p*, randomGeneratorContext* rgc, int) + /*@*/; /* * Functions for generating and validating dldp_pgon variant domain parameters */ BEEDLLAPI -void dldp_pgonMake (dldp_p*, randomGeneratorContext*, uint32, uint32); +int dldp_pgonMake (dldp_p* dp, randomGeneratorContext* rgc, uint32, uint32) + /*@modifies dp, rgc */; BEEDLLAPI -void dldp_pgonMakeSafe (dldp_p*, randomGeneratorContext*, uint32); +int dldp_pgonMakeSafe (dldp_p* dp, randomGeneratorContext* rgc, uint32) + /*@modifies dp, rgc */; BEEDLLAPI -void dldp_pgonGenerator(dldp_p*, randomGeneratorContext*); +int dldp_pgonGenerator(dldp_p* dp, randomGeneratorContext* rgc) + /*@modifies dp */; BEEDLLAPI -int dldp_pgonValidate (const dldp_p*, randomGeneratorContext*); +int dldp_pgonValidate (const dldp_p* dp, randomGeneratorContext* rgc) + /*@*/; #ifdef __cplusplus } |