SM9 算法基于标识密码(IBC)体系,核心特点是"标识即公钥":用户的唯一标识(如 alice@company.com、手机号码、设备 ID)经过哈希运算后直接作为公钥使用,私钥由密钥生成中心(KGC)根据主密钥和用户标识统一生成。该设计彻底摆脱了对 CA 和数字证书的依赖,大幅简化了密钥管理流程。
KGC 生成系统主密钥对:随机生成主私钥 s(保密存储),计算主公钥 P_pub = s × P2(公开分发)。KGC 同时公开系统参数,包括椭圆曲线参数、基点、哈希函数、双线性对识别符等。主私钥是系统的信任根,必须严格保护。
用户向 KGC 提交身份标识(如邮箱地址),KGC 使用主私钥 s 和标识派生出用户私钥 d_ID = s × H(ID),通过安全渠道(如离线介质、加密通道)分发给用户。此后,任意通信方只需知道对方标识即可进行加密或验签。
SM9 算法标准(GM/T 0044 系列 / GB/T 38635-2020)包括五个部分:总则、数字签名算法、密钥交换协议、密钥封装机制和公钥加密算法、参数定义。