hjugement-protocol-0.0.0.20190511: A cryptographic protocol for the Majority Judgment.

Safe HaskellNone
LanguageHaskell2010

Voting.Protocol.Trustees.All

Contents

Synopsis

Type TrusteePublicKey

Type ErrorTrusteePublicKey

proveTrusteePublicKey :: Monad m => RandomGen r => SubGroup q => SecretKey q -> StateT r m (TrusteePublicKey q) Source #

(proveTrusteePublicKey trustSecKey) returns the PublicKey associated to trustSecKey and a Proof of its knowledge.

verifyTrusteePublicKey :: Monad m => SubGroup q => TrusteePublicKey q -> ExceptT ErrorTrusteePublicKey m () Source #

(verifyTrusteePublicKey trustPubKey) returns True iif. the given trustee_SecretKeyProof does prove that the SecretKey associated with the given trustee_PublicKey is known by the trustee.

Hashing

combineDecryptionShares :: SubGroup q => [[Encryption q]] -> [PublicKey q] -> DecryptionShareCombinator q Source #

(combineDecryptionShares checker pubKeyByTrustee decShareByTrustee) returns the DecryptionFactors by voter by question