Documentation ¶
Index ¶
- func FlattenECPoints(in []*ECPoint) ([]*big.Int, error)
- func GenerateNTildei(safePrimes [2]*big.Int) (NTildei, h1i, h2i *big.Int, err error)
- type ECPoint
- func DecompressPoint(curve elliptic.Curve, x *big.Int, sign byte) (*ECPoint, error)
- func ECBasePoint2(curve elliptic.Curve) (pt *ECPoint, err error)
- func NewECPoint(curve elliptic.Curve, X, Y *big.Int) (*ECPoint, error)
- func NewECPointFromProtobuf(p *common.ECPoint) (*ECPoint, error)
- func NewECPointNoCurveCheck(curve elliptic.Curve, X, Y *big.Int) *ECPoint
- func ScalarBaseMult(curve elliptic.Curve, k *big.Int) *ECPoint
- func UnFlattenECPoints(curve elliptic.Curve, in []*big.Int, noCurveCheck ...bool) ([]*ECPoint, error)
- func (p *ECPoint) Add(b *ECPoint) (*ECPoint, error)
- func (p *ECPoint) Bytes() []byte
- func (p *ECPoint) EightInvEight() *ECPoint
- func (p *ECPoint) Equals(b *ECPoint) bool
- func (p *ECPoint) GobDecode(buf []byte) error
- func (p *ECPoint) GobEncode() ([]byte, error)
- func (p *ECPoint) IsOnCurve() bool
- func (p *ECPoint) MarshalJSON() ([]byte, error)
- func (p *ECPoint) Neg() *ECPoint
- func (p *ECPoint) ScalarMult(k *big.Int) *ECPoint
- func (p *ECPoint) ScalarMultBytes(k []byte) *ECPoint
- func (p *ECPoint) SetCurve(curve elliptic.Curve) *ECPoint
- func (p *ECPoint) Sub(b *ECPoint) (*ECPoint, error)
- func (p *ECPoint) ToECDSAPubKey() *ecdsa.PublicKey
- func (p *ECPoint) ToProtobufPoint() *common.ECPoint
- func (p *ECPoint) UnmarshalJSON(payload []byte) error
- func (p *ECPoint) ValidateBasic() bool
- func (p *ECPoint) X() *big.Int
- func (p *ECPoint) Y() *big.Int
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ECPoint ¶
type ECPoint struct {
// contains filtered or unexported fields
}
ECPoint represents a point on an elliptic curve in affine form. It is designed to be immutable
func DecompressPoint ¶
func ECBasePoint2 ¶
ECBasePoint2 returns a shared point of unknown discrete logarithm for the given curve, used only in GG20 ECDSA signing phase 3 (as h) Mimics the KZen-networks/curv impl: https://git.io/JfwSa Not so efficient due to 3x sha256 but it's only used once during a signing round.
func NewECPoint ¶
Creates a new ECPoint and checks that the given coordinates are on the elliptic curve.
func NewECPointNoCurveCheck ¶
Creates a new ECPoint without checking that the coordinates are on the elliptic curve. Only use this function when you are completely sure that the point is already on the curve.
func UnFlattenECPoints ¶
func (*ECPoint) EightInvEight ¶
func (*ECPoint) MarshalJSON ¶
crypto.ECPoint is not inherently json marshal-able