Versions in this module Expand all Collapse all v0 v0.0.1 Feb 25, 2022 Changes in this version + var CurveDefault = CurveIdtc26gost341012256paramSetB + var CurveGostR34102001ParamSetcc func() *Curve = func() *Curve + var CurveIdGostR34102001CryptoProAParamSet func() *Curve = func() *Curve + var CurveIdGostR34102001CryptoProBParamSet func() *Curve = func() *Curve + var CurveIdGostR34102001CryptoProCParamSet func() *Curve = func() *Curve + var CurveIdGostR34102001CryptoProXchAParamSet func() *Curve = func() *Curve + var CurveIdGostR34102001CryptoProXchBParamSet func() *Curve = func() *Curve + var CurveIdGostR34102001TestParamSet func() *Curve = func() *Curve + var CurveIdtc26gost341012256paramSetA func() *Curve = func() *Curve + var CurveIdtc26gost341012256paramSetB func() *Curve = func() *Curve + var CurveIdtc26gost341012256paramSetC func() *Curve = func() *Curve + var CurveIdtc26gost341012256paramSetD func() *Curve = func() *Curve + var CurveIdtc26gost341012512paramSetA func() *Curve = func() *Curve + var CurveIdtc26gost341012512paramSetB func() *Curve = func() *Curve + var CurveIdtc26gost341012512paramSetC func() *Curve = func() *Curve + var CurveIdtc26gost341012512paramSetTest func() *Curve = func() *Curve + var CurveIdtc26gost34102012256paramSetA func() *Curve = func() *Curve + var CurveIdtc26gost34102012256paramSetB func() *Curve = func() *Curve + var CurveIdtc26gost34102012256paramSetC func() *Curve = func() *Curve + var CurveIdtc26gost34102012256paramSetD func() *Curve = func() *Curve + var CurveIdtc26gost34102012512paramSetA func() *Curve = func() *Curve + var CurveIdtc26gost34102012512paramSetB func() *Curve = func() *Curve + var CurveIdtc26gost34102012512paramSetC func() *Curve = func() *Curve + var CurveIdtc26gost34102012512paramSetTest func() *Curve = func() *Curve + func NewUKM(raw []byte) *big.Int + func PointSize(p *big.Int) int + func UV2XY(c *Curve, u, v *big.Int) (*big.Int, *big.Int) + func XY2UV(c *Curve, x, y *big.Int) (*big.Int, *big.Int) + type Curve struct + A *big.Int + B *big.Int + Co *big.Int + D *big.Int + E *big.Int + Name string + P *big.Int + Q *big.Int + X *big.Int + Y *big.Int + func NewCurve(p, q, a, b, x, y, e, d, co *big.Int) (*Curve, error) + func (c *Curve) EdwardsST() (*big.Int, *big.Int) + func (c *Curve) Exp(degree, xS, yS *big.Int) (*big.Int, *big.Int, error) + func (c *Curve) IsEdwards() bool + func (c *Curve) PointSize() int + func (our *Curve) Equal(their *Curve) bool + type PrivateKey struct + C *Curve + Key *big.Int + func GenPrivateKey(c *Curve, rand io.Reader) (*PrivateKey, error) + func NewPrivateKey(c *Curve, raw []byte) (*PrivateKey, error) + func (prv *PrivateKey) KEK(pub *PublicKey, ukm *big.Int) ([]byte, error) + func (prv *PrivateKey) KEK2001(pub *PublicKey, ukm *big.Int) ([]byte, error) + func (prv *PrivateKey) KEK2012256(pub *PublicKey, ukm *big.Int) ([]byte, error) + func (prv *PrivateKey) KEK2012512(pub *PublicKey, ukm *big.Int) ([]byte, error) + func (prv *PrivateKey) Public() crypto.PublicKey + func (prv *PrivateKey) PublicKey() (*PublicKey, error) + func (prv *PrivateKey) Raw() []byte + func (prv *PrivateKey) Sign(rand io.Reader, digest []byte, opts crypto.SignerOpts) ([]byte, error) + func (prv *PrivateKey) SignDigest(digest []byte, rand io.Reader) ([]byte, error) + type PrivateKeyReverseDigest struct + Prv *PrivateKey + func (prv *PrivateKeyReverseDigest) Public() crypto.PublicKey + func (prv *PrivateKeyReverseDigest) Sign(rand io.Reader, digest []byte, opts crypto.SignerOpts) ([]byte, error) + type PrivateKeyReverseDigestAndSignature struct + Prv *PrivateKey + func (prv *PrivateKeyReverseDigestAndSignature) Public() crypto.PublicKey + func (prv *PrivateKeyReverseDigestAndSignature) Sign(rand io.Reader, digest []byte, opts crypto.SignerOpts) ([]byte, error) + type PublicKey struct + C *Curve + X *big.Int + Y *big.Int + func NewPublicKey(c *Curve, raw []byte) (*PublicKey, error) + func (our *PublicKey) Equal(theirKey crypto.PublicKey) bool + func (pub *PublicKey) Raw() []byte + func (pub *PublicKey) VerifyDigest(digest, signature []byte) (bool, error)