BeeCrypt 4.2.1
elgamal.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2000, 2001, 2002 X-Way Rights BV
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 *
18 */
19
38#ifndef _ELGAMAL_H
39#define _ELGAMAL_H
40
41#include "beecrypt/mpbarrett.h"
42
43#ifdef __cplusplus
44extern "C" {
45#endif
46
67int elgv1sign(const mpbarrett* p, const mpbarrett* n, const mpnumber* g, randomGeneratorContext*, const mpnumber* hm, const mpnumber* x, mpnumber* r, mpnumber* s);
68
90int elgv3sign(const mpbarrett* p, const mpbarrett* n, const mpnumber* g, randomGeneratorContext*, const mpnumber* hm, const mpnumber* x, mpnumber* r, mpnumber* s);
91
112int elgv1vrfy(const mpbarrett* p, const mpbarrett* n, const mpnumber* g, const mpnumber* hm, const mpnumber* y, const mpnumber* r, const mpnumber* s);
113
135int elgv3vrfy(const mpbarrett* p, const mpbarrett* n, const mpnumber* g, const mpnumber* hm, const mpnumber* y, const mpnumber* r, const mpnumber* s);
136
137#ifdef __cplusplus
138}
139#endif
140
141#endif
#define BEECRYPTAPI
Definition api.h:52
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 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.
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.
Multi-precision integer routines using Barrett modular reduction, headers.
Definition mpbarrett.h:41
Definition mpnumber.h:40
Definition beecrypt.h:239