#include "beecrypt/dlkp.h"

Go to the source code of this file.
Typedefs | |
| typedef dldp_p | dsaparam |
| typedef dlpk_p | dsapub |
| typedef dlkp_p | dsakp |
Functions | |
| BEECRYPTAPI int | dsasign (const mpbarrett *p, const mpbarrett *q, const mpnumber *g, randomGeneratorContext *, const mpnumber *hm, const mpnumber *x, mpnumber *r, mpnumber *s) |
| This function performs a raw DSA signature. | |
| BEECRYPTAPI int | dsavrfy (const mpbarrett *p, const mpbarrett *q, const mpnumber *g, const mpnumber *hm, const mpnumber *y, const mpnumber *r, const mpnumber *s) |
| This function performs a raw DSA verification. | |
| BEECRYPTAPI int | dsaparamMake (dsaparam *, randomGeneratorContext *, size_t) |
| This function generates a set of DSA parameters. | |
FIPS 186 specifies the DSA algorithm as having a large prime
, a cofactor
and a generator
of a subgroup of
with order
. The private and public key values are
and
respectively.
| int dsaparamMake | ( | dsaparam * | dp, | |
| randomGeneratorContext * | rgc, | |||
| size_t | psize | |||
| ) |
This function generates a set of DSA parameters.
This function calls dldp_pgoqMake with appropriate parameters, i.e. qsize = 160 bits and cofactor = 1.
| dp | The parameters to be generated. | |
| rgc | The random generator context. | |
| psize | The size of prime parameter p; psize must be >= 512 and <= 1024, and be a multiple of 64. |
| 0 | on success. | |
| -1 | on failure. |
| int dsasign | ( | const mpbarrett * | p, | |
| const mpbarrett * | q, | |||
| const mpnumber * | g, | |||
| randomGeneratorContext * | rgc, | |||
| const mpnumber * | hm, | |||
| const mpnumber * | x, | |||
| mpnumber * | r, | |||
| mpnumber * | s | |||
| ) |
This function performs a raw DSA signature.
Signing equations:

| p | The prime. | |
| q | The cofactor. | |
| g | The generator. | |
| rgc | The pseudo-random generator context. | |
| hm | The hash to be signed. | |
| x | The private key value. | |
| r | The signature's r value. | |
| s | The signature's s value. |
| 0 | on success. | |
| -1 | on failure. |
| int dsavrfy | ( | const mpbarrett * | p, | |
| const mpbarrett * | q, | |||
| const mpnumber * | g, | |||
| const mpnumber * | hm, | |||
| const mpnumber * | y, | |||
| const mpnumber * | r, | |||
| const mpnumber * | s | |||
| ) |
This function performs a raw DSA verification.
Verifying equations:
and

| p | The prime. | |
| q | The cofactor. | |
| g | The generator. | |
| hm | The digest to be verified. | |
| y | The public key value. | |
| r | The signature's r value. | |
| s | The signature's s value. |
| 1 | on success. | |
| 0 | on failure. |
1.5.8