ouroboros-consensus
Safe HaskellNone
LanguageHaskell2010

Test.Consensus.Committee.TestCrypto

Description

Test crypto for voting committee tests, based on BLS signatures.

Synopsis

Test crypto based on BLS signatures

data TestCrypto Source #

Instances

Instances details
CryptoSupportsAggregateVoteSigning TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

CryptoSupportsBatchVRFVerification TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

CryptoSupportsVRF TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

CryptoSupportsVoteSigning TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

Eq (VRFElectionInput TestCrypto) Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

Eq (VRFOutput TestCrypto) Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

Eq (VoteSignature TestCrypto) Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

Show (VRFElectionInput TestCrypto) Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

Show (VRFOutput TestCrypto) Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

Show (VoteSignature TestCrypto) Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

type AggregateVoteSignature TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

type AggregateVoteVerificationKey TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

type ElectionId TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

type PrivateKey TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

type PublicKey TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

newtype VRFElectionInput TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

newtype VRFOutput TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

type VRFSigningKey TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

type VRFVerificationKey TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

type VoteCandidate TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

newtype VoteSignature TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

type VoteSigningKey TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

type VoteVerificationKey TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

data family VoteSignature crypto Source #

Cryptographic signature of a vote

Instances

Instances details
FromCBOR (VoteSignature PerasBLSCrypto) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

ToCBOR (VoteSignature PerasBLSCrypto) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

Eq (VoteSignature PerasBLSCrypto) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

Eq (VoteSignature TestCrypto) Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

Generic (VoteSignature PerasBLSCrypto) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

Associated Types

type Rep (VoteSignature PerasBLSCrypto) 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

type Rep (VoteSignature PerasBLSCrypto) = D1 ('MetaData "VoteSignature" "Ouroboros.Consensus.Peras.Crypto.BLS" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "PerasBLSCryptoVoteSignature" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPerasBLSCryptoVoteSignature") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Signature 'SIGN))))
Show (VoteSignature PerasBLSCrypto) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

Show (VoteSignature TestCrypto) Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

NoThunks (VoteSignature PerasBLSCrypto) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

newtype VoteSignature PerasBLSCrypto Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

newtype VoteSignature TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

type Rep (VoteSignature PerasBLSCrypto) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

type Rep (VoteSignature PerasBLSCrypto) = D1 ('MetaData "VoteSignature" "Ouroboros.Consensus.Peras.Crypto.BLS" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "PerasBLSCryptoVoteSignature" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPerasBLSCryptoVoteSignature") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Signature 'SIGN))))
data VoteSignature (VoidPerasCrypto blk) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Void

data VoteSignature (MockPerasCrypto blk) # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.Mock

data VoteSignature (MockPerasCrypto blk) = MockVoteSignature

data family VRFElectionInput crypto Source #

Input to the verifiable random function.

This is fixed across all participants for a given election.

Instances

Instances details
Eq (VRFElectionInput PerasBLSCrypto) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

Eq (VRFElectionInput TestCrypto) Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

Show (VRFElectionInput PerasBLSCrypto) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

Show (VRFElectionInput TestCrypto) Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

newtype VRFElectionInput PerasBLSCrypto Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

newtype VRFElectionInput TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

data family VRFOutput crypto Source #

Output of the verifiable random function

Instances

Instances details
FromCBOR (VRFOutput PerasBLSCrypto) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

ToCBOR (VRFOutput PerasBLSCrypto) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

Eq (VRFOutput PerasBLSCrypto) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

Eq (VRFOutput TestCrypto) Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

Generic (VRFOutput PerasBLSCrypto) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

Associated Types

type Rep (VRFOutput PerasBLSCrypto) 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

type Rep (VRFOutput PerasBLSCrypto) = D1 ('MetaData "VRFOutput" "Ouroboros.Consensus.Peras.Crypto.BLS" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "PerasBLSCryptoVRFOutput" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPerasBLSCryptoVRFOutput") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Signature 'VRF))))
Show (VRFOutput PerasBLSCrypto) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

Show (VRFOutput TestCrypto) Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

NoThunks (VRFOutput PerasBLSCrypto) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

newtype VRFOutput PerasBLSCrypto Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

newtype VRFOutput TestCrypto Source # 
Instance details

Defined in Test.Consensus.Committee.TestCrypto

type Rep (VRFOutput PerasBLSCrypto) Source # 
Instance details

Defined in Ouroboros.Consensus.Peras.Crypto.BLS

type Rep (VRFOutput PerasBLSCrypto) = D1 ('MetaData "VRFOutput" "Ouroboros.Consensus.Peras.Crypto.BLS" "ouroboros-consensus-4.0.0.0-inplace" 'True) (C1 ('MetaCons "PerasBLSCryptoVRFOutput" 'PrefixI 'True) (S1 ('MetaSel ('Just "unPerasBLSCryptoVRFOutput") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Signature 'VRF))))

QuickCheck helpers

Smoke test properties

prop_SignAndVerifyVoteProperty Source #

Round trip test for vote signatures

prop_SignAndVerifyAggregateVoteProperty Source #

Round trip test for aggregate vote signatures

prop_EvalAndVerifyVRFOutputProperty Source #

Round trip test for VRF evaluation

prop_EvalAndVerifyAggregateVRFOutputProperty Source #

Round trip test for aggregate VRF evaluation