mirror of
https://github.com/emmansun/gmsm.git
synced 2025-05-11 03:26:17 +08:00
Updated SM4性能优化 (markdown)
parent
c172c6610e
commit
7177a07d38
40
SM4性能优化.md
40
SM4性能优化.md
@ -88,4 +88,42 @@ asm部分改造自aes的实现,优化结果很惊人!
|
||||
CMAC使用CBC模式加密来生成MAC,基于CBC模式的串行化特点以及block加密的性能,其性能必定没有GCM模式好。
|
||||
|
||||
# CFB和OFB
|
||||
Golang没提供这两种模式的优化接口,可能这两种模式不怎么推荐使用了,况且也就CFB解密可以并行。
|
||||
Golang没提供这两种模式的优化接口,可能这两种模式不怎么推荐使用了,况且也就CFB解密可以并行。
|
||||
|
||||
# 和AES的比较
|
||||
相比而言,差距还是有点大,最大的是GCM sign/open, 有二十多倍。
|
||||
|
||||
CPU: i5-8265U
|
||||
goos: windows
|
||||
goarch: amd64
|
||||
pkg: github.com/emmansun/gmsm/sm4_test
|
||||
BenchmarkAESCBCEncrypt1K-8 914280 1279 ns/op 800.49 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkSM4CBCEncrypt1K-8 59565 20344 ns/op 50.34 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkAESCBCDecrypt1K-8 798015 1671 ns/op 612.98 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkSM4CBCDecrypt1K-8 194020 5739 ns/op 178.44 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkAESCFBEncrypt1K-8 601120 2085 ns/op 488.83 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkSM4CFBEncrypt1K-8 67990 21284 ns/op 47.88 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkAESCFBDecrypt1K-8 750609 1774 ns/op 574.31 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkSM4CFBDecrypt1K-8 58508 17990 ns/op 56.64 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkAESCFBDecrypt8K-8 82408 14005 ns/op 584.56 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkSM4CFBDecrypt8K-8 8594 141197 ns/op 57.98 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkAESOFB1K-8 1000000 1222 ns/op 833.65 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkSM4OFB1K-8 46080 22127 ns/op 46.05 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkAESCTR1K-8 801361 1373 ns/op 741.94 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkSM4CTR1K-8 226635 6007 ns/op 169.65 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkAESCTR8K-8 109918 11466 ns/op 714.01 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkSM4CTR8K-8 28767 48448 ns/op 168.99 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkAESGCMSeal1K-8 4178898 308 ns/op 3329.79 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkSM4GCMSeal1K-8 236019 5334 ns/op 191.99 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkAESGCMOpen1K-8 4608244 313 ns/op 3272.58 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkSM4GCMOpen1K-8 231393 8268 ns/op 123.85 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkAESGCMSign1K-8 7460964 182 ns/op 5619.56 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkSM4GCMSign1K-8 2458273 429 ns/op 2384.52 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkAESGCMSign8K-8 1000000 1066 ns/op 7681.92 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkSM4GCMSign8K-8 998692 1624 ns/op 5043.29 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkAESGCMSeal8K-8 639726 1707 ns/op 4798.52 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkSM4GCMSeal8K-8 27079 48554 ns/op 168.72 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkAESGCMOpen8K-8 668884 2139 ns/op 3829.27 MB/s 0 B/op 0 allocs/op
|
||||
BenchmarkSM4GCMOpen8K-8 26265 53390 ns/op 153.44 MB/s 0 B/op 0 allocs/op
|
||||
PASS
|
||||
ok github.com/emmansun/gmsm/sm4_test 47.862s
|
||||
|
Loading…
x
Reference in New Issue
Block a user