crypto

package
v0.5.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 2, 2019 License: GPL-3.0 Imports: 9 Imported by: 36

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CosiSignature added in v0.5.0

type CosiSignature struct {
	Signature Signature
	Mask      uint64
	// contains filtered or unexported fields
}

func CosiAggregateCommitment added in v0.5.0

func CosiAggregateCommitment(randoms map[int]*Key) (*CosiSignature, error)

func (*CosiSignature) AggregatePublicKey added in v0.5.0

func (c *CosiSignature) AggregatePublicKey(publics []*Key) (*Key, error)

func (*CosiSignature) AggregateResponse added in v0.5.0

func (c *CosiSignature) AggregateResponse(publics []*Key, responses map[int]*[32]byte, message []byte, strict bool) error

func (*CosiSignature) Challenge added in v0.5.0

func (c *CosiSignature) Challenge(publics []*Key, message []byte) ([32]byte, error)

func (*CosiSignature) FullVerify added in v0.5.0

func (c *CosiSignature) FullVerify(publics []*Key, threshold int, message []byte) bool

func (*CosiSignature) Keys added in v0.5.0

func (c *CosiSignature) Keys() []int

func (*CosiSignature) Mark added in v0.5.0

func (c *CosiSignature) Mark(i int) error

func (CosiSignature) MarshalJSON added in v0.5.0

func (c CosiSignature) MarshalJSON() ([]byte, error)

func (*CosiSignature) Response added in v0.5.0

func (c *CosiSignature) Response(privateKey, random *Key, publics []*Key, message []byte) ([32]byte, error)

func (CosiSignature) String added in v0.5.0

func (c CosiSignature) String() string

func (*CosiSignature) ThresholdVerify added in v0.5.0

func (c *CosiSignature) ThresholdVerify(threshold int) bool

func (*CosiSignature) UnmarshalJSON added in v0.5.0

func (c *CosiSignature) UnmarshalJSON(b []byte) error

func (*CosiSignature) VerifyResponse added in v0.5.0

func (c *CosiSignature) VerifyResponse(publics []*Key, signer int, s *[32]byte, message []byte) error

type Hash

type Hash [32]byte

func HashFromString

func HashFromString(src string) (Hash, error)

func NewHash

func NewHash(data []byte) Hash

func (Hash) ForNetwork

func (h Hash) ForNetwork(net Hash) Hash

func (Hash) HasValue

func (h Hash) HasValue() bool

func (Hash) MarshalJSON

func (h Hash) MarshalJSON() ([]byte, error)

func (Hash) String

func (h Hash) String() string

func (*Hash) UnmarshalJSON

func (h *Hash) UnmarshalJSON(b []byte) error

type Key

type Key [32]byte

func CosiCommit added in v0.5.0

func CosiCommit(randReader io.Reader) *Key

func DeriveGhostPrivateKey

func DeriveGhostPrivateKey(R, a, b *Key, outputIndex uint64) *Key

func DeriveGhostPublicKey

func DeriveGhostPublicKey(r, A, B *Key, outputIndex uint64) *Key

func KeyAddPub added in v0.5.0

func KeyAddPub(pub1, pub2 *Key) *Key

func KeyMultPubPriv added in v0.5.0

func KeyMultPubPriv(pub, priv *Key) *Key

func NewKeyFromSeed

func NewKeyFromSeed(seed []byte) Key

func ViewGhostOutputKey

func ViewGhostOutputKey(P, a, R *Key, outputIndex uint64) *Key

func (Key) DeterministicHashDerive

func (k Key) DeterministicHashDerive() Key

func (Key) HasValue added in v0.2.1

func (k Key) HasValue() bool

func (Key) HashScalar

func (k Key) HashScalar() *[32]byte

func (Key) MarshalJSON

func (k Key) MarshalJSON() ([]byte, error)

func (*Key) MultScalar

func (k *Key) MultScalar(outputIndex uint64) *Key

func (Key) Public

func (k Key) Public() Key

func (*Key) Sign

func (privateKey *Key) Sign(message []byte) Signature

func (Key) String

func (k Key) String() string

func (*Key) UnmarshalJSON

func (k *Key) UnmarshalJSON(b []byte) error

func (*Key) Verify

func (publicKey *Key) Verify(message []byte, sig Signature) bool

func (*Key) VerifyWithChallenge added in v0.5.0

func (publicKey *Key) VerifyWithChallenge(message []byte, sig Signature, hReduced [32]byte) bool

type Signature

type Signature [64]byte

func (Signature) MarshalJSON

func (s Signature) MarshalJSON() ([]byte, error)

func (*Signature) R

func (s *Signature) R() []byte

func (*Signature) S

func (s *Signature) S() []byte

func (Signature) String

func (s Signature) String() string

func (*Signature) UnmarshalJSON

func (s *Signature) UnmarshalJSON(b []byte) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL