GmSSL is an open source library of domestic commercial ciphers independently developed by Peking University. It realizes comprehensive functional coverage of national secret algorithms, standards, and secure communication protocols. It supports mainstream operating systems and processors including mobile terminals, and supports cryptographic keys, Cipher cards and other typical domestic cryptographic hardware provide feature-rich command line tools and multiple compiled language programming interfaces. GmSSL 3.0 greatly reduces memory requirements and binary code volume, does not rely on dynamic memory, and can be used in low-power embedded environments (MCU, SOC, etc.) National secret algorithm and SSL protocol are embedded in existing projects. The default CMake build system can be easily used with default compilation tools such as Visual Studio and Android NDK. Developers can also manually write Makefiles to compile in special environments, tailoring.
Features
- Ultra-lightweight: GmSSL 3.0 greatly reduces memory requirements and binary code volume, does not rely on dynamic memory, and can be used in low-power embedded environments (MCU, SOC, etc.)
- More compliance: GmSSL 3.0 can be configured to only include the national secret algorithm and the national secret protocol (TLCP protocol).
- Cryptographic applications that rely on GmSSL can more easily meet the requirements of cryptographic product model detection, and avoid mixing non-national secret algorithms and insecure algorithms.
- Compared with the previous TLS protocol, TLS 1.3 has a huge improvement in security and communication delay. GmSSL 3.0 supports the TLS 1.3 protocol and the national secret suite of RFC 8998. GmSSL 3.0 supports the encryption protection of the key by default, which improves the anti-side channel attack capability of the cryptographic algorithm
- GmSSL 3.0 is easier to cross-platform
- The build system no longer depends on Perl. The default CMake build system can be easily used with default compilation tools such as Visual Studio and Android NDK. Developers can also manually write Makefiles to compile in special environments , tailoring