Primitives for generators of a finite cyclic group of prime order (DH cryptography)
Context
I've been tasked to implement the open vote network in Scilla for an internship with Zilliqa's language team and currently I am blocked by this issue.
Premise
In section 2.2 second paragraph of the doc, it describes the following:
A description of the Open Vote Network is as follows. First, all n voters agree on (G, g) where G denotes a finite cyclic group of prime order q in which the Decisional Diffie-Hellman (DDH) problem is intractable, and g is a generator in G.
The generator is used in the following ways
- when raised to the power of a user generated private key corresponds to a public voting key.
- when raised to a binary option
0or1gives a vote, which is multiplied to the voting key
A formula involving the products of the entities mentioned above and more allows one to calculate the tally of the votes anonymously.
Feature request
I've seen quite a few post on stackexchange to calculate these generators but I'm looking for generators of a relatively large prime to be cryptographically secure in the use case of Scilla.
And I'm sure theres also performance or time complexity concerns (or whatever metric is being used) to minimize gas fees
I'm not super familiar with cryptography, so any help is appreciated on this task.