Documentation ¶
Index ¶
- func Ed25519() types.Curve
- func Link(sigA, sigB *RingSig) bool
- func Secp256k1() types.Curve
- type Curve
- type Ring
- func NewFixedKeyRingFromPublicKeys(curve types.Curve, pubkeys []types.Point) (*Ring, error)
- func NewKeyRing(curve types.Curve, size int, privkey types.Scalar, idx int) (*Ring, error)
- func NewKeyRingFromPublicKeys(curve types.Curve, pubkeys []types.Point, privkey types.Scalar, idx int) (*Ring, error)
- type RingSig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Ring ¶
type Ring struct {
// contains filtered or unexported fields
}
Ring represents a group of public keys such that one of the group created a signature.
func NewFixedKeyRingFromPublicKeys ¶
NewFixedKeyRingFromPublicKeys takes public keys and a curve to create a ring
func NewKeyRing ¶
NewKeyRing creates a ring with size specified by `size` and places the public key corresponding to `privkey` in index idx of the ring. It returns a ring of public keys of length `size`.
func NewKeyRingFromPublicKeys ¶
func NewKeyRingFromPublicKeys(curve types.Curve, pubkeys []types.Point, privkey types.Scalar, idx int) (*Ring, error)
NewKeyRingFromPublicKeys takes public key ring and places the public key corresponding to `privkey` in index idx of the ring. It returns a ring of public keys of length `len(ring)+1`.
func (*Ring) Equals ¶
Equals checks whether the supplied ring is equal to the current ring. The ring's public keys must be in the same order for the rings to be equal
type RingSig ¶
type RingSig struct {
// contains filtered or unexported fields
}
RingSig represents a ring signature.
func Sign ¶
Sign creates a ring signature on the given message using the provided private key and ring of public keys.
func (*RingSig) Deserialize ¶
Deserialize converts the byteified signature into a *RingSig.
func (*RingSig) PublicKeys ¶
PublicKeys returns a copy of the ring signature's public keys.