crypto

package
v0.10.2 Latest Latest
Warning

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

Go to latest
Published: Feb 4, 2021 License: GPL-3.0 Imports: 9 Imported by: 35

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HashScalar added in v0.9.8

func HashScalar(k *edwards25519.Point, outputIndex uint64) *edwards25519.Scalar

func KeyMultPubPriv added in v0.5.0

func KeyMultPubPriv(pub, priv *Key) *edwards25519.Point

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) (*edwards25519.Scalar, error)

func (*CosiSignature) FullVerify added in v0.5.0

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

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 KeyFromString added in v0.5.10

func KeyFromString(s string) (Key, error)

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) DeterministicHashDerive

func (k Key) DeterministicHashDerive() Key

func (Key) HasValue added in v0.2.1

func (k Key) HasValue() bool

func (Key) MarshalJSON

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

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, a *edwards25519.Scalar) 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

Jump to

Keyboard shortcuts

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