Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Macros
Pages
elgamal
ciphergroup.hpp
Go to the documentation of this file.
1
12
#ifndef _CIPHERGROUP_H_
13
#define _CIPHERGROUP_H_
14
15
16
namespace
elGamal {
17
18
19
// forward declarations
20
class
CipherText;
21
class
ArrayOfCiphers;
22
23
28
class
CipherGroup
29
{
30
private
:
34
arithm::Group
*
grp
;
35
36
public
:
41
CipherGroup
(
arithm::Group
* group);
42
46
arithm::Group
*
getGrp
();
47
52
CipherText
getCipherText
(
verifierUtils::ByteTree
* bt);
53
58
ArrayOfCiphers
getArrayOfCiphers
(
verifierUtils::ByteTree
* bt);
59
62
63
68
CipherText
enc
(
arithm::Elmt
y,
arithm::Elmt
m,
arithm::Elmt
s);
69
74
arithm::Elmt
dec
(
arithm::Elmt
x,
CipherText
uv);
75
80
arithm::Elmt
pdec
(
arithm::Elmt
xl,
CipherText
uv);
81
86
arithm::ArrayOfElmts
pdec
(
arithm::Elmt
xl,
ArrayOfCiphers
uv);
87
92
arithm::Elmt
tdec
(
CipherText
uv,
arithm::Elmt
f);
93
99
arithm::ArrayOfElmts
tdec
(
ArrayOfCiphers
uv,
arithm::ArrayOfElmts
f);
100
102
105
109
CipherText
exponentiation
(
CipherText
c,
arithm::Elmt
s);
110
114
CipherText
multiplication
(
CipherText
c1,
CipherText
c2);
115
119
ArrayOfCiphers
exponentiation
(
ArrayOfCiphers
c,
arithm::ArrayOfElmts
s);
120
124
CipherText
expProduct
(
ArrayOfCiphers
c,
arithm::ArrayOfElmts
s);
125
130
bool
compare
(
CipherText
c1,
CipherText
c2);
131
136
bool
compare
(
ArrayOfCiphers
c1,
ArrayOfCiphers
c2);
137
};
138
139
}
140
141
#endif