An implementation of computing SM2 encryption and decryption is provided. Header files and library files of OpenSSL 1.1.1 or higher version are needed while compiling and linking. OpenSSL website is:

    SM2 is a cryptographic algorithm based on elliptic curves. It is defined in the following standards of China:

  • GB/T32918.1-2016,
  • GB/T32918.2-2016,
  • GB/T32918.3-2016,
  • GB/T32918.4-2016,
  • GM/T 0003-2012.

    Computing SM2 encryption and decryption are supported in OpenSSL 1.1.1. In the source package, "/crypto/sm2/sm2_crypt.c" is a good example. SM2 Encryption and decryption are encapsulated in an abstract level called EVP. In some cases using EVP interfaces to compute SM2 encryption and decryption is a little inconvenient. An implementation bypassing invoking OpenSSL EVP interfaces directly is given here.


🚀 Github 镜像仓库 🚀




贡献者 1

G greendow @greendow


  • C 100.0 %