gmsm

GM-Standards SM2/SM3/SM4/SM9/ZUC for Go

Github CI arm64-qemu sm3-sm4-ni-qemu codecov Go Report Card Documentation GitHub go.mod Go version (branch) Release

English 简体中文

ShangMi (SM) cipher suites for Golang, referred to as GMSM, is a secure, high-performance, easy-to-use Golang ShangMi (SM) cipher suites library, covering public algorithms SM2/SM3/SM4/SM9/ZUC.

Packages

License

This work is licensed under a MIT License. See the LICENSE file for details.

Acknowledgements

The basic architecture, design and some codes are from golang crypto.

The SM4 amd64 SIMD AES-NI implementation is inspired by code from mjosaarinen/sm4ni.

The original SM9/BN256 version is based on code from cloudflare/bn256.

The ZUC amd64 SIMD AES-NI, CLMUL implementation is inspired by code from Intel(R) Multi-Buffer Crypto for IPsec Library.

The pkcs7 is based on code from mozilla-services/pkcs7.

The pkcs8 is based on code from youmark/pkcs8.

Disclaimer

This library is not fully audited and is offered as-is, and without a guarantee. Therefore, it is expected that changes in the code, repository, and API occur in the future. We recommend to take caution before using this library in a production application.