BeeCrypt
4.2.1
|
Digital Signature Algorithm, as specified by NIST FIPS 186. More...
#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 | |
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. More... | |
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. More... | |
int | dsaparamMake (dsaparam *, randomGeneratorContext *, size_t) |
This function generates a set of DSA parameters. More... | |
Digital Signature Algorithm, as specified by NIST FIPS 186.
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:
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. |