There are a bunch of version of sm4 in ./extern/sm4
, which is my another repo before specifically implement sm4 and imported in the cource project using .gitmodule
. Though it's designed with a relative poor interface written before, its optimized idea and detailed statistics are still of certain value.
For more info of how those version optimize sm4, you can read README.md for SM4
Besides, the code ./extern/sm4
is updated from visual studio 2019 -- which theoretically means, as long as there is vs2019+ in your machine, you can simply clone the subdirectory to local environment click .sln
to open it.(not sure)
TODO:
- refactoring it (if time permitted),
- referring to the GMSSL/openssl interface implementation