mirror of
https://github.com/emmansun/gmsm.git
synced 2025-05-11 03:26:17 +08:00
Updated SM4性能优化 (markdown)
parent
3ef0ed30f0
commit
7b783498b6
18
SM4性能优化.md
18
SM4性能优化.md
@ -94,6 +94,24 @@ asm部分改造自aes的实现,优化结果很惊人!
|
||||
# CCM及CMAC
|
||||
CMAC使用CBC模式加密来生成MAC,基于CBC模式的串行化特点以及block加密的性能,其性能必定没有GCM模式好。这里有个相关的讨论:[proposal: crypto/tls: add support for AES-CCM #27484](https://github.com/golang/go/issues/27484)
|
||||
|
||||
CPU: i5-9500
|
||||
goos: windows
|
||||
goarch: amd64
|
||||
BenchmarkAESCCMSign1K-6 1000000 1242 ns/op 824.78 MB/s 656 B/op 6 allocs/op
|
||||
BenchmarkSM4CCMSign1K-6 81297 14768 ns/op 69.34 MB/s 688 B/op 6 allocs/op
|
||||
BenchmarkAESCCMSeal1K-6 522488 2362 ns/op 433.44 MB/s 656 B/op 6 allocs/op
|
||||
BenchmarkSM4CCMSeal1K-6 61077 19103 ns/op 53.61 MB/s 688 B/op 6 allocs/op
|
||||
BenchmarkAESCCMOpen1K-6 546088 2330 ns/op 439.54 MB/s 656 B/op 6 allocs/op
|
||||
BenchmarkSM4CCMOpen1K-6 64393 19265 ns/op 53.15 MB/s 688 B/op 6 allocs/op
|
||||
BenchmarkAESCCMSign8K-6 160434 7566 ns/op 1082.71 MB/s 656 B/op 6 allocs/op
|
||||
BenchmarkSM4CCMSign8K-6 10000 114325 ns/op 71.66 MB/s 688 B/op 6 allocs/op
|
||||
BenchmarkAESCCMSeal8K-6 74269 15840 ns/op 517.17 MB/s 656 B/op 6 allocs/op
|
||||
BenchmarkSM4CCMSeal8K-6 8020 143910 ns/op 56.92 MB/s 689 B/op 6 allocs/op
|
||||
BenchmarkAESCCMOpen8K-6 77215 15650 ns/op 523.44 MB/s 656 B/op 6 allocs/op
|
||||
BenchmarkSM4CCMOpen8K-6 8575 143358 ns/op 57.14 MB/s 688 B/op 6 allocs/op
|
||||
|
||||
可以看到AMD64下,sm4-ccm的性能大概是sm4-gcm的1/5。
|
||||
|
||||
# CFB和OFB
|
||||
Golang没提供这两种模式的优化接口,可能这两种模式不怎么推荐使用了,况且也就CFB解密可以并行。
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user