Skip to content

Commit 331510f

Browse files
Optimize elgamal encryption. (#276)
1 parent d894a96 commit 331510f

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/electionguard/elgamal.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -219,10 +219,13 @@ namespace electionguard
219219
}
220220

221221
auto pad = g_pow_p(nonce);
222-
auto e = ElementModP::fromUint64(m);
223-
auto gpowp_m = g_pow_p(*e);
224222
auto pubkey_pow_n = pow_mod_p(publicKey, nonce);
225-
auto data = mul_mod_p(*gpowp_m, *pubkey_pow_n);
223+
unique_ptr<ElementModP> data = nullptr;
224+
if (m == 1) {
225+
data = mul_mod_p(G(), *pubkey_pow_n);
226+
} else {
227+
data = move(pubkey_pow_n);
228+
}
226229

227230
Log::trace("Generated Encryption");
228231
Log::trace("publicKey", publicKey.toHex());

0 commit comments

Comments
 (0)