cardano-crypto-class-2.0.0: Type classes abstracting over cryptography primitives for Cardano
Safe HaskellNone
LanguageHaskell2010

Cardano.Crypto.DSIGN.Class

Description

Abstract digital signatures.

Synopsis

DSIGN algorithm class

class (Typeable v, Show (VerKeyDSIGN v), Eq (VerKeyDSIGN v), Show (SignKeyDSIGN v), Show (SigDSIGN v), Eq (SigDSIGN v), NoThunks (SigDSIGN v), NoThunks (SignKeyDSIGN v), NoThunks (VerKeyDSIGN v), KnownNat (SeedSizeDSIGN v), KnownNat (SizeVerKeyDSIGN v), KnownNat (SizeSignKeyDSIGN v), KnownNat (SizeSigDSIGN v)) => DSIGNAlgorithm v where Source #

Associated Types

type SeedSizeDSIGN v :: Nat Source #

type SizeVerKeyDSIGN v :: Nat Source #

type SizeSignKeyDSIGN v :: Nat Source #

type SizeSigDSIGN v :: Nat Source #

data VerKeyDSIGN v :: Type Source #

data SignKeyDSIGN v :: Type Source #

data SigDSIGN v :: Type Source #

type ContextDSIGN v :: Type Source #

Context required to run the DSIGN algorithm

Unit by default (no context required)

type ContextDSIGN v = ()

type Signable v :: Type -> Constraint Source #

type Signable v = Empty

Instances

Instances details
DSIGNAlgorithm NeverDSIGN Source # 
Instance details

Defined in Cardano.Crypto.DSIGN.NeverUsed

DSIGNAlgorithm MockDSIGN Source # 
Instance details

Defined in Cardano.Crypto.DSIGN.Mock

DSIGNAlgorithm Ed448DSIGN Source # 
Instance details

Defined in Cardano.Crypto.DSIGN.Ed448

DSIGNAlgorithm Ed25519DSIGN Source # 
Instance details

Defined in Cardano.Crypto.DSIGN.Ed25519

data Seed Source #

A seed contains a finite number of bytes, and is used for seeding cryptographic algorithms including key generation.

This is not itself a PRNG, but can be used to seed a PRNG.

Instances

Instances details
Eq Seed Source # 
Instance details

Defined in Cardano.Crypto.Seed

Methods

(==) :: Seed -> Seed -> Bool #

(/=) :: Seed -> Seed -> Bool #

Show Seed Source # 
Instance details

Defined in Cardano.Crypto.Seed

Methods

showsPrec :: Int -> Seed -> ShowS #

show :: Seed -> String #

showList :: [Seed] -> ShowS #

Semigroup Seed Source # 
Instance details

Defined in Cardano.Crypto.Seed

Methods

(<>) :: Seed -> Seed -> Seed #

sconcat :: NonEmpty Seed -> Seed #

stimes :: Integral b => b -> Seed -> Seed #

Monoid Seed Source # 
Instance details

Defined in Cardano.Crypto.Seed

Methods

mempty :: Seed #

mappend :: Seed -> Seed -> Seed #

mconcat :: [Seed] -> Seed #

NFData Seed Source # 
Instance details

Defined in Cardano.Crypto.Seed

Methods

rnf :: Seed -> () #

NoThunks Seed Source # 
Instance details

Defined in Cardano.Crypto.Seed

seedSizeDSIGN :: forall v proxy. DSIGNAlgorithm v => proxy v -> Word Source #

The upper bound on the Seed size needed by genKeyDSIGN

sizeVerKeyDSIGN :: forall v proxy. DSIGNAlgorithm v => proxy v -> Word Source #

sizeSignKeyDSIGN :: forall v proxy. DSIGNAlgorithm v => proxy v -> Word Source #

sizeSigDSIGN :: forall v proxy. DSIGNAlgorithm v => proxy v -> Word Source #

SignedDSIGN wrapper

newtype SignedDSIGN v a Source #

Constructors

SignedDSIGN (SigDSIGN v) 

Instances

Instances details
DSIGNAlgorithm v => Eq (SignedDSIGN v a) Source # 
Instance details

Defined in Cardano.Crypto.DSIGN.Class

Methods

(==) :: SignedDSIGN v a -> SignedDSIGN v a -> Bool #

(/=) :: SignedDSIGN v a -> SignedDSIGN v a -> Bool #

DSIGNAlgorithm v => Show (SignedDSIGN v a) Source # 
Instance details

Defined in Cardano.Crypto.DSIGN.Class

Methods

showsPrec :: Int -> SignedDSIGN v a -> ShowS #

show :: SignedDSIGN v a -> String #

showList :: [SignedDSIGN v a] -> ShowS #

Generic (SignedDSIGN v a) Source # 
Instance details

Defined in Cardano.Crypto.DSIGN.Class

Associated Types

type Rep (SignedDSIGN v a) :: Type -> Type #

Methods

from :: SignedDSIGN v a -> Rep (SignedDSIGN v a) x #

to :: Rep (SignedDSIGN v a) x -> SignedDSIGN v a #

DSIGNAlgorithm v => NoThunks (SignedDSIGN v a) Source # 
Instance details

Defined in Cardano.Crypto.DSIGN.Class

type Rep (SignedDSIGN v a) Source # 
Instance details

Defined in Cardano.Crypto.DSIGN.Class

type Rep (SignedDSIGN v a) = D1 ('MetaData "SignedDSIGN" "Cardano.Crypto.DSIGN.Class" "cardano-crypto-class-2.0.0-8Wg6S5FD924IEUDdpkXXc" 'True) (C1 ('MetaCons "SignedDSIGN" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (SigDSIGN v))))

CBOR encoding and decoding

Encoded Size expresssions

encodedVerKeyDSIGNSizeExpr :: forall v. DSIGNAlgorithm v => Proxy (VerKeyDSIGN v) -> Size Source #

Size expression for VerKeyDSIGN which is using sizeVerKeyDSIGN encoded as Size.

encodedSignKeyDESIGNSizeExpr :: forall v. DSIGNAlgorithm v => Proxy (SignKeyDSIGN v) -> Size Source #

Size expression for SignKeyDSIGN which is using sizeSignKeyDSIGN encoded as Size.

encodedSigDSIGNSizeExpr :: forall v. DSIGNAlgorithm v => Proxy (SigDSIGN v) -> Size Source #

Size expression for SigDSIGN which is using sizeSigDSIGN encoded as Size.