mirror of
https://github.com/emmansun/gmsm.git
synced 2025-04-27 04:36:19 +08:00
sm2: refine BenchmarkEncrypt test
This commit is contained in:
parent
105331f164
commit
7fb729f4a8
@ -14,11 +14,10 @@ import (
|
||||
func BenchmarkSM4BCEncrypt1K(b *testing.B) {
|
||||
var key [16]byte
|
||||
c, _ := sm4.NewCipher(key[:])
|
||||
benchmarkBCEncrypt1K(b, c)
|
||||
benchmarkBCEncrypt(b, c, make([]byte, 1024))
|
||||
}
|
||||
|
||||
func benchmarkBCEncrypt1K(b *testing.B, block cipher.Block) {
|
||||
buf := make([]byte, 1024)
|
||||
func benchmarkBCEncrypt(b *testing.B, block cipher.Block, buf []byte) {
|
||||
b.SetBytes(int64(len(buf)))
|
||||
|
||||
var iv [16]byte
|
||||
@ -31,11 +30,10 @@ func benchmarkBCEncrypt1K(b *testing.B, block cipher.Block) {
|
||||
func BenchmarkSM4BCDecrypt1K(b *testing.B) {
|
||||
var key [16]byte
|
||||
c, _ := sm4.NewCipher(key[:])
|
||||
benchmarkBCDecrypt1K(b, c)
|
||||
benchmarkBCDecrypt(b, c, make([]byte, 1024))
|
||||
}
|
||||
|
||||
func benchmarkBCDecrypt1K(b *testing.B, block cipher.Block) {
|
||||
buf := make([]byte, 1024)
|
||||
func benchmarkBCDecrypt(b *testing.B, block cipher.Block, buf []byte) {
|
||||
b.SetBytes(int64(len(buf)))
|
||||
|
||||
var iv [16]byte
|
||||
@ -59,8 +57,7 @@ func BenchmarkSM4HCTREncrypt1K(b *testing.B) {
|
||||
}
|
||||
}
|
||||
|
||||
func benchmarkECBEncrypt1K(b *testing.B, block cipher.Block) {
|
||||
buf := make([]byte, 1024)
|
||||
func benchmarkECBEncrypt(b *testing.B, block cipher.Block, buf []byte) {
|
||||
b.SetBytes(int64(len(buf)))
|
||||
|
||||
ecb := smcipher.NewECBEncrypter(block)
|
||||
@ -72,17 +69,16 @@ func benchmarkECBEncrypt1K(b *testing.B, block cipher.Block) {
|
||||
func BenchmarkSM4ECBEncrypt1K(b *testing.B) {
|
||||
var key [16]byte
|
||||
c, _ := sm4.NewCipher(key[:])
|
||||
benchmarkECBEncrypt1K(b, c)
|
||||
benchmarkECBEncrypt(b, c, make([]byte, 1024))
|
||||
}
|
||||
|
||||
func BenchmarkAES128ECBEncrypt1K(b *testing.B) {
|
||||
var key [16]byte
|
||||
c, _ := aes.NewCipher(key[:])
|
||||
benchmarkECBEncrypt1K(b, c)
|
||||
benchmarkECBEncrypt(b, c, make([]byte, 1024))
|
||||
}
|
||||
|
||||
func benchmarkCBCEncrypt1K(b *testing.B, block cipher.Block) {
|
||||
buf := make([]byte, 1024)
|
||||
func benchmarkCBCEncrypt(b *testing.B, block cipher.Block, buf []byte) {
|
||||
b.SetBytes(int64(len(buf)))
|
||||
|
||||
var iv [16]byte
|
||||
@ -95,17 +91,22 @@ func benchmarkCBCEncrypt1K(b *testing.B, block cipher.Block) {
|
||||
func BenchmarkAESCBCEncrypt1K(b *testing.B) {
|
||||
var key [16]byte
|
||||
c, _ := aes.NewCipher(key[:])
|
||||
benchmarkCBCEncrypt1K(b, c)
|
||||
benchmarkCBCEncrypt(b, c, make([]byte, 1024))
|
||||
}
|
||||
|
||||
func BenchmarkSM4CBCEncrypt1K(b *testing.B) {
|
||||
var key [16]byte
|
||||
c, _ := sm4.NewCipher(key[:])
|
||||
benchmarkCBCEncrypt1K(b, c)
|
||||
benchmarkCBCEncrypt(b, c, make([]byte, 1024))
|
||||
}
|
||||
|
||||
func benchmarkCBCDecrypt1K(b *testing.B, block cipher.Block) {
|
||||
buf := make([]byte, 1024)
|
||||
func BenchmarkSM4CBCEncrypt8K(b *testing.B) {
|
||||
var key [16]byte
|
||||
c, _ := sm4.NewCipher(key[:])
|
||||
benchmarkCBCEncrypt(b, c, make([]byte, 8*1024))
|
||||
}
|
||||
|
||||
func benchmarkCBCDecrypt(b *testing.B, block cipher.Block, buf []byte) {
|
||||
b.SetBytes(int64(len(buf)))
|
||||
|
||||
var iv [16]byte
|
||||
@ -118,13 +119,13 @@ func benchmarkCBCDecrypt1K(b *testing.B, block cipher.Block) {
|
||||
func BenchmarkAESCBCDecrypt1K(b *testing.B) {
|
||||
var key [16]byte
|
||||
c, _ := aes.NewCipher(key[:])
|
||||
benchmarkCBCDecrypt1K(b, c)
|
||||
benchmarkCBCDecrypt(b, c, make([]byte, 1024))
|
||||
}
|
||||
|
||||
func BenchmarkSM4CBCDecrypt1K(b *testing.B) {
|
||||
var key [16]byte
|
||||
c, _ := sm4.NewCipher(key[:])
|
||||
benchmarkCBCDecrypt1K(b, c)
|
||||
benchmarkCBCDecrypt(b, c, make([]byte, 1024))
|
||||
}
|
||||
|
||||
func benchmarkStream(b *testing.B, block cipher.Block, mode func(cipher.Block, []byte) cipher.Stream, buf []byte) {
|
||||
|
@ -823,12 +823,13 @@ func BenchmarkVerify_SM2(b *testing.B) {
|
||||
}
|
||||
}
|
||||
|
||||
func benchmarkEncrypt(b *testing.B, curve elliptic.Curve, plaintext string) {
|
||||
func benchmarkEncrypt(b *testing.B, curve elliptic.Curve, plaintext []byte) {
|
||||
r := bufio.NewReaderSize(rand.Reader, 1<<15)
|
||||
priv, err := ecdsa.GenerateKey(curve, r)
|
||||
if err != nil {
|
||||
b.Fatal(err)
|
||||
}
|
||||
b.SetBytes(int64(len(plaintext)))
|
||||
b.ReportAllocs()
|
||||
b.ResetTimer()
|
||||
for i := 0; i < b.N; i++ {
|
||||
@ -836,26 +837,30 @@ func benchmarkEncrypt(b *testing.B, curve elliptic.Curve, plaintext string) {
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkLessThan32_P256(b *testing.B) {
|
||||
benchmarkEncrypt(b, elliptic.P256(), "encryption standard")
|
||||
func BenchmarkEncryptNoMoreThan32_P256(b *testing.B) {
|
||||
benchmarkEncrypt(b, elliptic.P256(), make([]byte, 31))
|
||||
}
|
||||
|
||||
func BenchmarkLessThan32_SM2(b *testing.B) {
|
||||
benchmarkEncrypt(b, P256(), "encryption standard")
|
||||
func BenchmarkEncryptNoMoreThan32_SM2(b *testing.B) {
|
||||
benchmarkEncrypt(b, P256(), make([]byte, 31))
|
||||
}
|
||||
|
||||
func BenchmarkMoreThan32_P256(b *testing.B) {
|
||||
benchmarkEncrypt(b, elliptic.P256(), "encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard")
|
||||
func BenchmarkEncrypt128_P256(b *testing.B) {
|
||||
benchmarkEncrypt(b, elliptic.P256(), make([]byte, 128))
|
||||
}
|
||||
|
||||
func BenchmarkMoreThan32_SM2(b *testing.B) {
|
||||
benchmarkEncrypt(b, P256(), "encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard")
|
||||
func BenchmarkEncrypt128_SM2(b *testing.B) {
|
||||
benchmarkEncrypt(b, P256(), make([]byte, 128))
|
||||
}
|
||||
|
||||
func BenchmarkEncrypt512_SM2(b *testing.B) {
|
||||
benchmarkEncrypt(b, P256(), "encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption s")
|
||||
benchmarkEncrypt(b, P256(), make([]byte, 512))
|
||||
}
|
||||
|
||||
func BenchmarkEncrypt1024_SM2(b *testing.B) {
|
||||
benchmarkEncrypt(b, P256(), "encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption sencryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption standard encryption s")
|
||||
func BenchmarkEncrypt1K_SM2(b *testing.B) {
|
||||
benchmarkEncrypt(b, P256(), make([]byte, 1024))
|
||||
}
|
||||
|
||||
func BenchmarkEncrypt8K_SM2(b *testing.B) {
|
||||
benchmarkEncrypt(b, P256(), make([]byte, 8*1024))
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user