Documentation ¶
Overview ¶
Package elliptic implements several standard elliptic curves over prime fields.
Package sm2 implements china crypto standards.
Index ¶
- Variables
- func AffineToP256Point(x, y *big.Int) (out p256Point)
- func Decrypt(c []byte, key *PrivateKey) ([]byte, error)
- func DecryptAsn1(priv *PrivateKey, cipher []byte) (plaintext []byte, err error)
- func Encrypt(rand io.Reader, key *PublicKey, msg []byte) (cipher []byte, err error)
- func EncryptAsn1(rand io.Reader, key *PublicKey, msg []byte) (cipher []byte, err error)
- func Hexprint(in []byte)
- func P256() elliptic.Curve
- func Sign(rand io.Reader, priv *PrivateKey, msg []byte) (r, s *big.Int, err error)
- func SignWithDigest(rand io.Reader, priv *PrivateKey, digest []byte) (r, s *big.Int, err error)
- func Sm2KeyGen(rand io.Reader) (sk, pk []byte, err error)
- func Sm2Sign(sk, pk, msg []byte) ([]byte, error)
- func Sm2Verify(sign, pk, msg []byte) bool
- func Uint64ToAffine(in []uint64) (x, y *big.Int)
- func Verify(pub *PublicKey, msg []byte, r, s *big.Int) bool
- func VerifyWithDigest(pub *PublicKey, digest []byte, r, s *big.Int) bool
- type PrivateKey
- type PublicKey
- type Sm2PrivateKey
- type Sm2PublicKey
Constants ¶
This section is empty.
Variables ¶
View Source
var DecryptionErr = errors.New("sm2: decryption error")
View Source
var EncryptionErr = errors.New("sm2: encryption error")
View Source
var (
SM2PARAM_A []byte
)
Functions ¶
func AffineToP256Point ¶
func DecryptAsn1 ¶ added in v0.0.4
func DecryptAsn1(priv *PrivateKey, cipher []byte) (plaintext []byte, err error)
func EncryptAsn1 ¶ added in v0.0.4
func P256 ¶
P256 returns a Curve which implements sm2 curve.
The cryptographic operations are implemented using constant-time algorithms.
func SignWithDigest ¶
func Uint64ToAffine ¶
Types ¶
type PrivateKey ¶
func GenerateKey ¶
func GenerateKey(rand io.Reader) (*PrivateKey, error)
func (*PrivateKey) Decrypt ¶
func (key *PrivateKey) Decrypt(rand io.Reader, msg []byte, opts crypto.DecrypterOpts) (plaintext []byte, err error)
func (*PrivateKey) Public ¶
func (priv *PrivateKey) Public() crypto.PublicKey
The SM2's private key contains the public key
func (*PrivateKey) Sign ¶
func (priv *PrivateKey) Sign(rand io.Reader, msg []byte, opt crypto.SignerOpts) ([]byte, error)
type PublicKey ¶
type Sm2PrivateKey ¶
Click to show internal directories.
Click to hide internal directories.