crypto

package
v0.6.4 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2020 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 KeyFromString added in v0.5.10

func KeyFromString(s string) (Key, error)

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) CheckKey added in v0.6.0

func (k Key) CheckKey() bool

func (Key) CheckScalar added in v0.6.0

func (k Key) CheckScalar() bool

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