Add SM4 cipher (GB/T 32907-2016) support from SM4 enabled mbed TLS library #2424
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello.
There is a SM4 cipher support for mbed TLS in pull request Mbed-TLS/mbedtls#1165 some years. Unfortunately that pull request was still left unmerged and became outdated in current mbed TLS versions; however I still managed to merge that pull request into the long term support branch 2.7, and with this minor modification to shadowsocks-libev, the SM4 ciphers appears fully functional in shadowsocks-libev.
The implemented ciphers in shadowsocks-libev are
sm4-128-cbc
,sm4-128-ctr
andsm4-128-gcm
.Until Mbed-TLS/mbedtls#1165 can be merged, mbed TLS woudn't offically supporting SM4 cipher, however I opened this pull request for discuss whether to check a downstream version of mbed TLS of this SM4 support, in shadowsocks-libev.
My mbed TLS branch with SM4 support merged is available at https://git.nsscn.top/Low-power/mbedtls/tree/mbedtls-2.7-sm4