cardano-crypto-praos-2.2.4.0: Crypto primitives from libsodium
Safe HaskellNone
LanguageHaskell2010

Cardano.Crypto.VRF.Praos

Description

Verifiable Random Function (VRF) implemented as FFI wrappers around the implementation in https://github.com/input-output-hk/libsodium

Synopsis

VRFAlgorithm API

data PraosVRF Source #

Instances

Instances details
VRFAlgorithm PraosVRF Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Generic (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type Rep (CertVRF PraosVRF) ∷ Type → Type #

Generic (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type Rep (SignKeyVRF PraosVRF) ∷ Type → Type #

Generic (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type Rep (VerKeyVRF PraosVRF) ∷ Type → Type #

Show (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Show (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Show (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

FixedSizeCodec (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type FixedSize (CertVRF PraosVRF) ∷ Nat Source #

FixedSizeCodec (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type FixedSize (SignKeyVRF PraosVRF) ∷ Nat Source #

FixedSizeCodec (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type FixedSize (VerKeyVRF PraosVRF) ∷ Nat Source #

FromCBOR (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

FromCBOR (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

FromCBOR (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

ToCBOR (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

toCBOR ∷ CertVRF PraosVRF → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy (CertVRF PraosVRF) → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [CertVRF PraosVRF] → Size Source #

ToCBOR (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

ToCBOR (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

NFData (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

rnf ∷ CertVRF PraosVRF → () #

NFData (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

rnf ∷ SignKeyVRF PraosVRF → () #

NFData (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

rnf ∷ VerKeyVRF PraosVRF → () #

Eq (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Eq (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Eq (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Ord (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

NoThunks (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

NoThunks (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

NoThunks (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type CertSizeVRF PraosVRF Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

newtype CertVRF PraosVRF Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type ContextVRF PraosVRF Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type SignKeySizeVRF PraosVRF Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

newtype SignKeyVRF PraosVRF Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type Signable PraosVRF Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type VerKeySizeVRF PraosVRF Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

newtype VerKeyVRF PraosVRF Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type Rep (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type Rep (CertVRF PraosVRF) = D1 ('MetaData "CertVRF" "Cardano.Crypto.VRF.Praos" "cardano-crypto-praos-2.2.4.0-inplace" 'True) (C1 ('MetaCons "CertPraosVRF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Proof)))
type Rep (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type Rep (SignKeyVRF PraosVRF) = D1 ('MetaData "SignKeyVRF" "Cardano.Crypto.VRF.Praos" "cardano-crypto-praos-2.2.4.0-inplace" 'True) (C1 ('MetaCons "SignKeyPraosVRF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SignKey)))
type Rep (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type Rep (VerKeyVRF PraosVRF) = D1 ('MetaData "VerKeyVRF" "Cardano.Crypto.VRF.Praos" "cardano-crypto-praos-2.2.4.0-inplace" 'True) (C1 ('MetaCons "VerKeyPraosVRF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VerKey)))
type FixedSize (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type FixedSize (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type FixedSize (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Key sizes

Seed and key generation

data Seed Source #

A random seed, used to derive a key pair.

Instances

Instances details
NoThunks Seed Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

genSeed ∷ IO Seed Source #

Generate a random seed. Uses randombytes_buf to create random data.

This function provides an alternative way of generating seeds specifically for the PraosVRF algorithm. Unlike the genKeyPairVRF method, which uses a ByteString-based Seed, this seed generation method bypasses the GHC heap, keeping the seed in C-allocated memory instead.

This provides two advantages: 1. It avoids the overhead of unnecessary GHC-side heap allocations. 2. It avoids leaking the seed via the GHC heap; the Seed type itself takes care of zeroing out its memory upon finalization.

keypairFromSeed ∷ Seed → (VerKey, SignKey) Source #

Derive a key pair (Sign + Verify) from a seed.

Conversions

outputBytes ∷ Output → ByteString Source #

Convert a proof verification output hash into a ByteString that we can inspect.

proofBytes ∷ Proof → ByteString Source #

Deprecated: Use rawEncodeFixedSized instead

Convert a proof into a ByteString that we can inspect.

skBytes ∷ SignKey → ByteString Source #

Deprecated: Use rawEncodeFixedSized instead

Convert a signing key into a ByteString that we can inspect.

vkBytes ∷ VerKey → ByteString Source #

Deprecated: Use rawEncodeFixedSized instead

Convert a verification key into a ByteString that we can inspect.

skToVerKey ∷ SignKey → VerKey Source #

Derive a Verification Key from a Signing Key.

skToSeed ∷ SignKey → Seed Source #

Get the seed used to generate a given Signing Key

proofFromBytes ∷ MonadFail m ⇒ ByteString → m Proof Source #

Deprecated: Use rawDecodeFixedSized instead

skFromBytes ∷ MonadFail m ⇒ ByteString → m SignKey Source #

Deprecated: Use rawDecodeFixedSized instead

vkFromBytes ∷ MonadFail m ⇒ ByteString → m VerKey Source #

Deprecated: Use rawDecodeFixedSized instead

vkToBatchCompat ∷ VerKeyVRF PraosVRF → VerKeyVRF PraosBatchCompatVRF Source #

Construct a BatchCompat vkey from praos, non-batchcompat

skToBatchCompat ∷ SignKeyVRF PraosVRF → SignKeyVRF PraosBatchCompatVRF Source #

Construct a BatchCompat skey from praos, non-batchcompat

outputToBatchCompat ∷ OutputVRF PraosVRF → OutputVRF PraosBatchCompatVRF Source #

Construct a BatchCompat output from praos, non-batchcompat

Core VRF operations

prove ∷ SignKey → ByteString → Maybe Proof Source #

Construct a proof from a Signing Key and a message. Returns Just the proof on success, Nothing if the signing key could not be decoded.

verify ∷ VerKey → Proof → ByteString → Maybe Output Source #

Verify a VRF proof and validate the Verification Key. Returns Just a hash of the verification result on success, Nothing if the verification did not succeed.

For a given verification key and message, there are many possible proofs but only one possible output hash.

data family SignKeyVRF v Source #

Instances

Instances details
Generic (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type Rep (SignKeyVRF PraosVRF) ∷ Type → Type #

Generic (SignKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

Associated Types

type Rep (SignKeyVRF PraosBatchCompatVRF) ∷ Type → Type #

Show (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Show (SignKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

FixedSizeCodec (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type FixedSize (SignKeyVRF PraosVRF) ∷ Nat Source #

FixedSizeCodec (SignKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

Associated Types

type FixedSize (SignKeyVRF PraosBatchCompatVRF) ∷ Nat Source #

FromCBOR (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

FromCBOR (SignKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

ToCBOR (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

ToCBOR (SignKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

NFData (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

rnf ∷ SignKeyVRF PraosVRF → () #

NFData (SignKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

Eq (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Eq (SignKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

(TypeError ('Text "Ord not supported for signing keys, use the hash instead") ∷ Constraint, Eq (SignKeyVRF v)) ⇒ Ord (SignKeyVRF v) 
Instance details

Defined in Cardano.Crypto.VRF.Class

Methods

compare ∷ SignKeyVRF v → SignKeyVRF v → Ordering #

(<) ∷ SignKeyVRF v → SignKeyVRF v → Bool #

(<=) ∷ SignKeyVRF v → SignKeyVRF v → Bool #

(>) ∷ SignKeyVRF v → SignKeyVRF v → Bool #

(>=) ∷ SignKeyVRF v → SignKeyVRF v → Bool #

max ∷ SignKeyVRF v → SignKeyVRF v → SignKeyVRF v #

min ∷ SignKeyVRF v → SignKeyVRF v → SignKeyVRF v #

NoThunks (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

NoThunks (SignKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

newtype SignKeyVRF PraosVRF Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

newtype SignKeyVRF PraosBatchCompatVRF Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

type Rep (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type Rep (SignKeyVRF PraosVRF) = D1 ('MetaData "SignKeyVRF" "Cardano.Crypto.VRF.Praos" "cardano-crypto-praos-2.2.4.0-inplace" 'True) (C1 ('MetaCons "SignKeyPraosVRF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SignKey)))
type Rep (SignKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

type Rep (SignKeyVRF PraosBatchCompatVRF) = D1 ('MetaData "SignKeyVRF" "Cardano.Crypto.VRF.PraosBatchCompat" "cardano-crypto-praos-2.2.4.0-inplace" 'True) (C1 ('MetaCons "SignKeyPraosBatchCompatVRF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SignKey)))
type FixedSize (SignKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type FixedSize (SignKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

data family VerKeyVRF v Source #

Instances

Instances details
Generic (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type Rep (VerKeyVRF PraosVRF) ∷ Type → Type #

Generic (VerKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

Associated Types

type Rep (VerKeyVRF PraosBatchCompatVRF) ∷ Type → Type #

Show (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Show (VerKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

FixedSizeCodec (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type FixedSize (VerKeyVRF PraosVRF) ∷ Nat Source #

FixedSizeCodec (VerKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

Associated Types

type FixedSize (VerKeyVRF PraosBatchCompatVRF) ∷ Nat Source #

FromCBOR (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

FromCBOR (VerKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

ToCBOR (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

ToCBOR (VerKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

NFData (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

rnf ∷ VerKeyVRF PraosVRF → () #

NFData (VerKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

Eq (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Eq (VerKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

(TypeError ('Text "Ord not supported for verification keys, use the hash instead") ∷ Constraint, Eq (VerKeyVRF v)) ⇒ Ord (VerKeyVRF v) 
Instance details

Defined in Cardano.Crypto.VRF.Class

Methods

compare ∷ VerKeyVRF v → VerKeyVRF v → Ordering #

(<) ∷ VerKeyVRF v → VerKeyVRF v → Bool #

(<=) ∷ VerKeyVRF v → VerKeyVRF v → Bool #

(>) ∷ VerKeyVRF v → VerKeyVRF v → Bool #

(>=) ∷ VerKeyVRF v → VerKeyVRF v → Bool #

max ∷ VerKeyVRF v → VerKeyVRF v → VerKeyVRF v #

min ∷ VerKeyVRF v → VerKeyVRF v → VerKeyVRF v #

NoThunks (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

NoThunks (VerKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

newtype VerKeyVRF PraosVRF Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

newtype VerKeyVRF PraosBatchCompatVRF Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

type Rep (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type Rep (VerKeyVRF PraosVRF) = D1 ('MetaData "VerKeyVRF" "Cardano.Crypto.VRF.Praos" "cardano-crypto-praos-2.2.4.0-inplace" 'True) (C1 ('MetaCons "VerKeyPraosVRF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VerKey)))
type Rep (VerKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

type Rep (VerKeyVRF PraosBatchCompatVRF) = D1 ('MetaData "VerKeyVRF" "Cardano.Crypto.VRF.PraosBatchCompat" "cardano-crypto-praos-2.2.4.0-inplace" 'True) (C1 ('MetaCons "VerKeyPraosBatchCompatVRF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 VerKey)))
type FixedSize (VerKeyVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type FixedSize (VerKeyVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

data family CertVRF v Source #

Instances

Instances details
Generic (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type Rep (CertVRF PraosVRF) ∷ Type → Type #

Generic (CertVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

Associated Types

type Rep (CertVRF PraosBatchCompatVRF) ∷ Type → Type #

Show (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Show (CertVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

FixedSizeCodec (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type FixedSize (CertVRF PraosVRF) ∷ Nat Source #

FixedSizeCodec (CertVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

Associated Types

type FixedSize (CertVRF PraosBatchCompatVRF) ∷ Nat Source #

FromCBOR (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

FromCBOR (CertVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

ToCBOR (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

toCBOR ∷ CertVRF PraosVRF → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy (CertVRF PraosVRF) → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [CertVRF PraosVRF] → Size Source #

ToCBOR (CertVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

NFData (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

rnf ∷ CertVRF PraosVRF → () #

NFData (CertVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

Methods

rnf ∷ CertVRF PraosBatchCompatVRF → () #

Eq (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Eq (CertVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

Ord (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Ord (CertVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

NoThunks (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

NoThunks (CertVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

newtype CertVRF PraosVRF Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

newtype CertVRF PraosBatchCompatVRF Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

type Rep (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type Rep (CertVRF PraosVRF) = D1 ('MetaData "CertVRF" "Cardano.Crypto.VRF.Praos" "cardano-crypto-praos-2.2.4.0-inplace" 'True) (C1 ('MetaCons "CertPraosVRF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Proof)))
type Rep (CertVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

type Rep (CertVRF PraosBatchCompatVRF) = D1 ('MetaData "CertVRF" "Cardano.Crypto.VRF.PraosBatchCompat" "cardano-crypto-praos-2.2.4.0-inplace" 'True) (C1 ('MetaCons "CertPraosBatchCompatVRF" 'PrefixI 'False) (S1 ('MetaSel ('Nothing ∷ Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Proof)))
type FixedSize (CertVRF PraosVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type FixedSize (CertVRF PraosBatchCompatVRF) Source # 
Instance details

Defined in Cardano.Crypto.VRF.PraosBatchCompat

Internal types

data Proof Source #

A proof, as constructed by the prove function.

Instances

Instances details
Generic Proof Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type Rep Proof ∷ Type → Type #

Methods

from ∷ Proof → Rep Proof x #

to ∷ Rep Proof x → Proof #

Show Proof Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

showsPrec ∷ Int → Proof → ShowS #

show ∷ Proof → String #

showList ∷ [Proof] → ShowS #

FixedSizeCodec Proof Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type FixedSize Proof ∷ Nat Source #

FromCBOR Proof Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

ToCBOR Proof Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

toCBOR ∷ Proof → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy Proof → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [Proof] → Size Source #

NFData Proof Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

rnf ∷ Proof → () #

Eq Proof Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

(==) ∷ Proof → Proof → Bool #

(/=) ∷ Proof → Proof → Bool #

Ord Proof Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

compare ∷ Proof → Proof → Ordering #

(<) ∷ Proof → Proof → Bool #

(<=) ∷ Proof → Proof → Bool #

(>) ∷ Proof → Proof → Bool #

(>=) ∷ Proof → Proof → Bool #

max ∷ Proof → Proof → Proof #

min ∷ Proof → Proof → Proof #

NoThunks Proof Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type Rep Proof Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type Rep Proof
type FixedSize Proof Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type FixedSize Proof = 80

data SignKey Source #

Signing key. In this implementation, the signing key is actually a 64-byte value that contains both the 32-byte signing key and the corresponding 32-byte verification key.

Instances

Instances details
Generic SignKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type Rep SignKey ∷ Type → Type #

Methods

from ∷ SignKey → Rep SignKey x #

to ∷ Rep SignKey x → SignKey #

Show SignKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

showsPrec ∷ Int → SignKey → ShowS #

show ∷ SignKey → String #

showList ∷ [SignKey] → ShowS #

FixedSizeCodec SignKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type FixedSize SignKey ∷ Nat Source #

FromCBOR SignKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

ToCBOR SignKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

toCBOR ∷ SignKey → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy SignKey → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [SignKey] → Size Source #

NFData SignKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

rnf ∷ SignKey → () #

Eq SignKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

(==) ∷ SignKey → SignKey → Bool #

(/=) ∷ SignKey → SignKey → Bool #

NoThunks SignKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type Rep SignKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type FixedSize SignKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type FixedSize SignKey = 64

data VerKey Source #

Verification key.

Instances

Instances details
Generic VerKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type Rep VerKey ∷ Type → Type #

Methods

from ∷ VerKey → Rep VerKey x #

to ∷ Rep VerKey x → VerKey #

Show VerKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

showsPrec ∷ Int → VerKey → ShowS #

show ∷ VerKey → String #

showList ∷ [VerKey] → ShowS #

FixedSizeCodec VerKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type FixedSize VerKey ∷ Nat Source #

FromCBOR VerKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

ToCBOR VerKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

toCBOR ∷ VerKey → Encoding Source #

encodedSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy VerKey → Size Source #

encodedListSizeExpr ∷ (∀ t. ToCBOR t ⇒ Proxy t → Size) → Proxy [VerKey] → Size Source #

NFData VerKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

rnf ∷ VerKey → () #

Eq VerKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Methods

(==) ∷ VerKey → VerKey → Bool #

(/=) ∷ VerKey → VerKey → Bool #

NoThunks VerKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type Rep VerKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type Rep VerKey
type FixedSize VerKey Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type FixedSize VerKey = 32

data Output Source #

Hashed output of a proof verification, as returned by the verify function.

Instances

Instances details
Generic Output Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

Associated Types

type Rep Output ∷ Type → Type #

Methods

from ∷ Output → Rep Output x #

to ∷ Rep Output x → Output #

NoThunks Output Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type Rep Output Source # 
Instance details

Defined in Cardano.Crypto.VRF.Praos

type Rep Output