init: v1.0.0
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
package gcltests
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
|
||||
"xdx.jelly/xgcl/sm/sm4"
|
||||
)
|
||||
|
||||
func SM4MacTest() bool {
|
||||
key := hexDecode("EEE8A0136E9DBC99F09E29EB5C79DAC1")
|
||||
data := hexDecode("27B16EAF7D0341A1449A14A3D1BD69F9")
|
||||
iv := hexDecode("6071A1EB4C784230A037909D33290854")
|
||||
stdMac := hexDecode("F5CAF5A089C06942F83D1B9BB212F8AF")
|
||||
|
||||
mac, err := sm4.Mac(key, iv, data)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
return bytes.Equal(mac, stdMac)
|
||||
}
|
||||
|
||||
func SM4EncECB() bool {
|
||||
key := hexDecode("C35242CC90CB75935A536F32149F5C35")
|
||||
data := hexDecode("ECB57EE6D15BD06632CFE9FD09B822AF")
|
||||
stdCipher := hexDecode("03D8C466A7C245971925E35540E9209F")
|
||||
cipher, err := sm4.EncryptECB(nil, key, data)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
return bytes.Equal(cipher, stdCipher)
|
||||
}
|
||||
|
||||
func SM4DecECB() bool {
|
||||
key := hexDecode("C35242CC90CB75935A536F32149F5C35")
|
||||
stdData := hexDecode("ECB57EE6D15BD06632CFE9FD09B822AF")
|
||||
cipher := hexDecode("03D8C466A7C245971925E35540E9209F")
|
||||
|
||||
data, err := sm4.DecryptECB(nil, key, cipher)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
return bytes.Equal(data, stdData)
|
||||
}
|
||||
|
||||
func SM4EncCBC() bool {
|
||||
key := hexDecode("99CF573EFE8BE7F3277E800FF793F217")
|
||||
iv := hexDecode("57C1AD66EFD690F45785A0176C42211B")
|
||||
|
||||
data := hexDecode("5B3ADAFFDC04A435D8582B5E04D22CB2920B85FBE0655E2C62DBF15EE6D9D2546D05CA85C78BF757AF9B10C3699879160E52A6060A9F910AA05CFA3F4A58B64D")
|
||||
stdCipher := hexDecode("6A4320D8EC4A544116F5AD9C50EB33AC61A472F451AF2496E7C1761734907AC3A7D474CE21CFA8E64D5CB2D92659FCB4A7F8F5D5DAAFAEA0E3C6078176EB6DD3")
|
||||
cipher, err := sm4.EncryptCBC(nil, iv, key, data)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
return bytes.Equal(cipher, stdCipher)
|
||||
}
|
||||
|
||||
func SM4DecCBC() bool {
|
||||
key := hexDecode("99CF573EFE8BE7F3277E800FF793F217")
|
||||
iv := hexDecode("57C1AD66EFD690F45785A0176C42211B")
|
||||
|
||||
stdData := hexDecode("5B3ADAFFDC04A435D8582B5E04D22CB2920B85FBE0655E2C62DBF15EE6D9D2546D05CA85C78BF757AF9B10C3699879160E52A6060A9F910AA05CFA3F4A58B64D")
|
||||
cipher := hexDecode("6A4320D8EC4A544116F5AD9C50EB33AC61A472F451AF2496E7C1761734907AC3A7D474CE21CFA8E64D5CB2D92659FCB4A7F8F5D5DAAFAEA0E3C6078176EB6DD3")
|
||||
|
||||
data, err := sm4.DecryptCBC(nil, iv, key, cipher)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
return bytes.Equal(data, stdData)
|
||||
}
|
||||
Reference in New Issue
Block a user