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 "mpbarrett.h"
00042
00043 #ifdef __cplusplus
00044 extern "C" {
00045 #endif
00046
00068 BEECRYPTAPI
00069 int elgv1sign(const mpbarrett* p, const mpbarrett* n, const mpnumber* g, randomGeneratorContext*, const mpnumber* hm, const mpnumber* x, mpnumber* r, mpnumber* s);
00070
00091 BEECRYPTAPI
00092 int elgv3sign(const mpbarrett* p, const mpbarrett* n, const mpnumber* g, randomGeneratorContext*, const mpnumber* hm, const mpnumber* x, mpnumber* r, mpnumber* s);
00093
00113 BEECRYPTAPI
00114 int elgv1vrfy(const mpbarrett* p, const mpbarrett* n, const mpnumber* g, const mpnumber* hm, const mpnumber* y, const mpnumber* r, const mpnumber* s);
00115
00136 BEECRYPTAPI
00137 int elgv3vrfy(const mpbarrett* p, const mpbarrett* n, const mpnumber* g, const mpnumber* hm, const mpnumber* y, const mpnumber* r, const mpnumber* s);
00138
00139 #ifdef __cplusplus
00140 }
00141 #endif
00142
00143 #endif