#include "mpbarrett.h"
Go to the source code of this file.
Functions | |
int | elgv1sign (const mpbarrett *p, const mpbarrett *n, const mpnumber *g, randomGeneratorContext *, const mpnumber *hm, const mpnumber *x, mpnumber *r, mpnumber *s) |
This function performs raw ElGamal signing, variant 1. | |
int | elgv3sign (const mpbarrett *p, const mpbarrett *n, const mpnumber *g, randomGeneratorContext *, const mpnumber *hm, const mpnumber *x, mpnumber *r, mpnumber *s) |
This function performs raw ElGamal signing, variant 3. | |
int | elgv1vrfy (const mpbarrett *p, const mpbarrett *n, const mpnumber *g, const mpnumber *hm, const mpnumber *y, const mpnumber *r, const mpnumber *s) |
This function performs raw ElGamal verification, variant 1. | |
int | elgv3vrfy (const mpbarrett *p, const mpbarrett *n, const mpnumber *g, const mpnumber *hm, const mpnumber *y, const mpnumber *r, const mpnumber *s) |
This function performs raw ElGamal verification, variant 3. |
For more information on this algorithm, see: "Handbook of Applied Cryptography", 11.5.2: "The ElGamal signature scheme", p. 454-459
Two of the signature variants in Note 11.70 are implemented.
Explore the possibility of using simultaneous multiple exponentiation, as described in HAC, 14.87 (iii).
Definition in file elgamal.h.
|
This function performs raw ElGamal signing, variant 1. Signing equations:
|
|
This function performs raw ElGamal verification, variant 1. Verifying equations:
|
|
This function performs raw ElGamal signing, variant 3. Signing equations:
|
|
This function performs raw ElGamal verification, variant 3. Verifying equations:
|