00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00038 #ifndef _ELGAMAL_H
00039 #define _ELGAMAL_H
00040
00041 #include "beecrypt/mpbarrett.h"
00042
00043 #ifdef __cplusplus
00044 extern "C" {
00045 #endif
00046
00066 BEECRYPTAPI
00067 int elgv1sign(const mpbarrett* p, const mpbarrett* n, const mpnumber* g, randomGeneratorContext*, const mpnumber* hm, const mpnumber* x, mpnumber* r, mpnumber* s);
00068
00089 BEECRYPTAPI
00090 int elgv3sign(const mpbarrett* p, const mpbarrett* n, const mpnumber* g, randomGeneratorContext*, const mpnumber* hm, const mpnumber* x, mpnumber* r, mpnumber* s);
00091
00111 BEECRYPTAPI
00112 int elgv1vrfy(const mpbarrett* p, const mpbarrett* n, const mpnumber* g, const mpnumber* hm, const mpnumber* y, const mpnumber* r, const mpnumber* s);
00113
00134 BEECRYPTAPI
00135 int elgv3vrfy(const mpbarrett* p, const mpbarrett* n, const mpnumber* g, const mpnumber* hm, const mpnumber* y, const mpnumber* r, const mpnumber* s);
00136
00137 #ifdef __cplusplus
00138 }
00139 #endif
00140
00141 #endif