refactor(crypto-sm): align with crypto naming conventions and fix typos (by AI)
This commit is contained in:
parent
c7f13b5de6
commit
5b1929d0f3
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
go.sum
|
||||||
6
AI.md
6
AI.md
@ -14,7 +14,7 @@
|
|||||||
### SM2 (国密非对称)
|
### SM2 (国密非对称)
|
||||||
- `func NewSM2(priv, pub *safe.SafeBuf) (*crypto.Asymmetric, error)`
|
- `func NewSM2(priv, pub *safe.SafeBuf) (*crypto.Asymmetric, error)`
|
||||||
- `func NewSM2AndEraseKey(priv, pub []byte) (*crypto.Asymmetric, error)`
|
- `func NewSM2AndEraseKey(priv, pub []byte) (*crypto.Asymmetric, error)`
|
||||||
- `func NewSM2WithOutEraseKey(priv, pub []byte) (*crypto.Asymmetric, error)`
|
- `func NewSM2WithoutEraseKey(priv, pub []byte) (*crypto.Asymmetric, error)`
|
||||||
- `func GenerateSM2KeyPair() ([]byte, []byte, error)`
|
- `func GenerateSM2KeyPair() ([]byte, []byte, error)`
|
||||||
- `func (a *SM2Algorithm) ParsePrivateKey(der []byte) (any, error)`
|
- `func (a *SM2Algorithm) ParsePrivateKey(der []byte) (any, error)`
|
||||||
- `func (a *SM2Algorithm) ParsePublicKey(der []byte) (any, error)`
|
- `func (a *SM2Algorithm) ParsePublicKey(der []byte) (any, error)`
|
||||||
@ -32,10 +32,10 @@
|
|||||||
### SM4 (国密对称)
|
### SM4 (国密对称)
|
||||||
- `func NewSM4CBC(key, iv *safe.SafeBuf) (*crypto.Symmetric, error)`
|
- `func NewSM4CBC(key, iv *safe.SafeBuf) (*crypto.Symmetric, error)`
|
||||||
- `func NewSM4CBCAndEraseKey(key, iv []byte) (*crypto.Symmetric, error)`
|
- `func NewSM4CBCAndEraseKey(key, iv []byte) (*crypto.Symmetric, error)`
|
||||||
- `func NewSM4CBCWithOutEraseKey(key, iv []byte) (*crypto.Symmetric, error)`
|
- `func NewSM4CBCWithoutEraseKey(key, iv []byte) (*crypto.Symmetric, error)`
|
||||||
- `func NewSM4GCM(key, iv *safe.SafeBuf) (*crypto.Symmetric, error)`
|
- `func NewSM4GCM(key, iv *safe.SafeBuf) (*crypto.Symmetric, error)`
|
||||||
- `func NewSM4GCMAndEraseKey(key, iv []byte) (*crypto.Symmetric, error)`
|
- `func NewSM4GCMAndEraseKey(key, iv []byte) (*crypto.Symmetric, error)`
|
||||||
- `func NewSM4GCMWithOutEraseKey(key, iv []byte) (*crypto.Symmetric, error)`
|
- `func NewSM4GCMWithoutEraseKey(key, iv []byte) (*crypto.Symmetric, error)`
|
||||||
- `func (s *SM4Cipher) Encrypt(data, key, iv []byte) ([]byte, error)`
|
- `func (s *SM4Cipher) Encrypt(data, key, iv []byte) ([]byte, error)`
|
||||||
- `func (s *SM4Cipher) Decrypt(data, key, iv []byte) ([]byte, error)`
|
- `func (s *SM4Cipher) Decrypt(data, key, iv []byte) ([]byte, error)`
|
||||||
|
|
||||||
|
|||||||
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
### SM2 (国密非对称)
|
### SM2 (国密非对称)
|
||||||
- `func NewSM2AndEraseKey(priv, pub []byte) (*crypto.Asymmetric, error)`
|
- `func NewSM2AndEraseKey(priv, pub []byte) (*crypto.Asymmetric, error)`
|
||||||
- `func NewSM2WithOutEraseKey(priv, pub []byte) (*crypto.Asymmetric, error)`
|
- `func NewSM2WithoutEraseKey(priv, pub []byte) (*crypto.Asymmetric, error)`
|
||||||
- `func GenerateSM2KeyPair() ([]byte, []byte, error)`
|
- `func GenerateSM2KeyPair() ([]byte, []byte, error)`
|
||||||
- *注:SM2 继承 `Asymmetric` 接口,支持所有 `crypto.Asymmetric` 方法 (含 `Must` 和 `Try` 系列)。*
|
- *注:SM2 继承 `Asymmetric` 接口,支持所有 `crypto.Asymmetric` 方法 (含 `Must` 和 `Try` 系列)。*
|
||||||
|
|
||||||
|
|||||||
14
go.sum
14
go.sum
@ -1,14 +0,0 @@
|
|||||||
apigo.cc/go/crypto v1.0.0 h1:EoswEWKH6AW/0Swv5GfXkEcwzilr4g0PpYt742DEk/g=
|
|
||||||
apigo.cc/go/crypto v1.0.0/go.mod h1:prKV3L5Rx0OXvogb+gSZhpnDhwcLXa0U4e7n9OPkJ2c=
|
|
||||||
apigo.cc/go/encoding v1.0.0 h1:NFb658uGqyh8hKKK9EYqQ6ybmcIOslV57Tdqvd0+z6Y=
|
|
||||||
apigo.cc/go/encoding v1.0.0/go.mod h1:V5CgT7rBbCxy+uCU20q0ptcNNRSgMtpA8cNOs6r8IeI=
|
|
||||||
apigo.cc/go/rand v1.0.2 h1:dJsm607EynJOAoukTvarrUyvLtBF7pi27A99vw2+i78=
|
|
||||||
apigo.cc/go/rand v1.0.2/go.mod h1:mZ/4Soa3bk+XvDaqPWJuUe1bfEi4eThBj1XmEAuYxsk=
|
|
||||||
apigo.cc/go/safe v1.0.0 h1:zgZ83EFwJM5tpMbOxnZG9NpWmtYAZROgbDW80k+vt2U=
|
|
||||||
apigo.cc/go/safe v1.0.0/go.mod h1:7hXqV2irGeggfnZWO5E1+WvFeCLznJbDQMGjEjUpJAA=
|
|
||||||
github.com/emmansun/gmsm v0.28.0 h1:0WyTHmQgaAfM8IwMnNMJCfEiK999cZ2J8csfcZ2Ooco=
|
|
||||||
github.com/emmansun/gmsm v0.28.0/go.mod h1:9lKtK8f3c7wh2z0g6fsqRbay69V1jWYDcBaytyuR95M=
|
|
||||||
golang.org/x/crypto v0.50.0 h1:zO47/JPrL6vsNkINmLoo/PH1gcxpls50DNogFvB5ZGI=
|
|
||||||
golang.org/x/crypto v0.50.0/go.mod h1:3muZ7vA7PBCE6xgPX7nkzzjiUq87kRItoJQM1Yo8S+Q=
|
|
||||||
golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI=
|
|
||||||
golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
|
|
||||||
2
sm2.go
2
sm2.go
@ -24,7 +24,7 @@ func NewSM2(safePrivateKeyBuf, safePublicKeyBuf *safe.SafeBuf) (*crypto.Asymmetr
|
|||||||
func NewSM2AndEraseKey(privateKey, publicKey []byte) (*crypto.Asymmetric, error) {
|
func NewSM2AndEraseKey(privateKey, publicKey []byte) (*crypto.Asymmetric, error) {
|
||||||
return crypto.NewAsymmetricAndEraseKey(SM2, privateKey, publicKey)
|
return crypto.NewAsymmetricAndEraseKey(SM2, privateKey, publicKey)
|
||||||
}
|
}
|
||||||
func NewSM2WithOutEraseKey(privateKey, publicKey []byte) (*crypto.Asymmetric, error) {
|
func NewSM2WithoutEraseKey(privateKey, publicKey []byte) (*crypto.Asymmetric, error) {
|
||||||
return crypto.NewAsymmetricWithoutEraseKey(SM2, privateKey, publicKey, false)
|
return crypto.NewAsymmetricWithoutEraseKey(SM2, privateKey, publicKey, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
8
sm4.go
8
sm4.go
@ -22,8 +22,8 @@ func NewSM4CBC(safeKeyBuf, safeIvBuf *safe.SafeBuf) (*crypto.Symmetric, error) {
|
|||||||
func NewSM4CBCAndEraseKey(key, iv []byte) (*crypto.Symmetric, error) {
|
func NewSM4CBCAndEraseKey(key, iv []byte) (*crypto.Symmetric, error) {
|
||||||
return crypto.NewSymmetricAndEraseKey(SM4CBC, key, iv)
|
return crypto.NewSymmetricAndEraseKey(SM4CBC, key, iv)
|
||||||
}
|
}
|
||||||
func NewSM4CBCWithOutEraseKey(key, iv []byte) (*crypto.Symmetric, error) {
|
func NewSM4CBCWithoutEraseKey(key, iv []byte) (*crypto.Symmetric, error) {
|
||||||
return crypto.NewSymmetricWithOutEraseKey(SM4CBC, key, iv)
|
return crypto.NewSymmetricWithoutEraseKey(SM4CBC, key, iv)
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewSM4GCM(safeKeyBuf, safeIvBuf *safe.SafeBuf) (*crypto.Symmetric, error) {
|
func NewSM4GCM(safeKeyBuf, safeIvBuf *safe.SafeBuf) (*crypto.Symmetric, error) {
|
||||||
@ -32,8 +32,8 @@ func NewSM4GCM(safeKeyBuf, safeIvBuf *safe.SafeBuf) (*crypto.Symmetric, error) {
|
|||||||
func NewSM4GCMAndEraseKey(key, iv []byte) (*crypto.Symmetric, error) {
|
func NewSM4GCMAndEraseKey(key, iv []byte) (*crypto.Symmetric, error) {
|
||||||
return crypto.NewSymmetricAndEraseKey(SM4GCM, key, iv)
|
return crypto.NewSymmetricAndEraseKey(SM4GCM, key, iv)
|
||||||
}
|
}
|
||||||
func NewSM4GCMWithOutEraseKey(key, iv []byte) (*crypto.Symmetric, error) {
|
func NewSM4GCMWithoutEraseKey(key, iv []byte) (*crypto.Symmetric, error) {
|
||||||
return crypto.NewSymmetricWithOutEraseKey(SM4GCM, key, iv)
|
return crypto.NewSymmetricWithoutEraseKey(SM4GCM, key, iv)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *SM4Cipher) Encrypt(data []byte, key []byte, iv []byte) ([]byte, error) {
|
func (s *SM4Cipher) Encrypt(data []byte, key []byte, iv []byte) ([]byte, error) {
|
||||||
|
|||||||
@ -50,7 +50,7 @@ func TestSM4_Exhaustive(t *testing.T) {
|
|||||||
iv := bytes.Repeat([]byte{0x02}, 16)
|
iv := bytes.Repeat([]byte{0x02}, 16)
|
||||||
data := []byte("sm4 exhaustive testing")
|
data := []byte("sm4 exhaustive testing")
|
||||||
|
|
||||||
cipher, _ := sm.NewSM4CBCWithOutEraseKey(key, iv)
|
cipher, _ := sm.NewSM4CBCWithoutEraseKey(key, iv)
|
||||||
|
|
||||||
// 1. CBC
|
// 1. CBC
|
||||||
enc := cipher.MustEncrypt(data)
|
enc := cipher.MustEncrypt(data)
|
||||||
@ -60,7 +60,7 @@ func TestSM4_Exhaustive(t *testing.T) {
|
|||||||
if !bytes.Equal(data, dec) { t.Error("SM4 CBC roundtrip failed") }
|
if !bytes.Equal(data, dec) { t.Error("SM4 CBC roundtrip failed") }
|
||||||
|
|
||||||
// 2. GCM
|
// 2. GCM
|
||||||
gcm, _ := sm.NewSM4GCMWithOutEraseKey(key, iv[:12])
|
gcm, _ := sm.NewSM4GCMWithoutEraseKey(key, iv[:12])
|
||||||
encG := gcm.MustEncrypt(data)
|
encG := gcm.MustEncrypt(data)
|
||||||
decG := gcm.MustDecrypt(encG)
|
decG := gcm.MustDecrypt(encG)
|
||||||
if !bytes.Equal(data, decG) { t.Error("SM4 GCM roundtrip failed") }
|
if !bytes.Equal(data, decG) { t.Error("SM4 GCM roundtrip failed") }
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user