1. 程式人生 > 其它 >GmSSL3.0密碼演算法庫

GmSSL3.0密碼演算法庫

GmSSL3.0密碼演算法庫

一、開發背景

GmSSL 3.0版本具有更快、更小、更安全的特點,相比於GmSSL 2.0我們主要從以下方向進行改進:
採用CMake替代目前基於Perl的構建系統
支援Linux/Windows/macOS/Android/iOS等主流作業系統,移除對嵌入式OS等其他系統的支援
支援X86/ARM/RISC-V,針對上述平臺64位指令集做彙編層面的優化
將C語言標準由目前的C89更新為最新的C99或C11,及部分GCC特性,移除對Perl的依賴
移除不安全的演算法和協議,僅支援國密演算法和主流國際演算法,提升對AEAD、TLS 1.3等新標準的預設支援力度
提升密碼演算法抗木馬、抗側通道攻擊的安全性
降低執行時堆記憶體的使用量,降低總體二進位制程式碼體積
提供特定於國密演算法和協議的統一的多語言(支援Rust/Java/Go/PHP)封裝
保持和OpenSSL最新版本的相容性,實現GmSSL和OpenSSL在同一個軟體中的共存

二、功能

GmSSL是一個開源的密碼工具箱,支援SM2/SM3/SM4/SM9/ZUC等國密(國家商用密碼)演算法、SM2國密數字證書及基於SM2證書的SSL/TLS安全通訊協議,支援國密硬體密碼裝置,提供符合國密規範的程式設計介面與命令列工具,可以用於構建PKI/CA、安全通訊、資料加密等符合國密標準的安全應用。GmSSL專案是OpenSSL專案的分支,並與OpenSSL保持介面相容。因此GmSSL可以替代應用中的OpenSSL元件,並使應用自動具備基於國密的安全能力。GmSSL專案採用對商業應用友好的類BSD開源許可證,開源且可以用於閉源的商業應用。