GB/T 32918.4-2016
信息安全技术 SM2椭圆曲线公钥密码算法 第4部分:公钥加密算法
发布时间:2016-08-29 实施时间:2017-03-01


SM2椭圆曲线公钥密码算法是我国自主研发的密码学算法,是我国政府和企事业单位推荐使用的加密算法之一。SM2算法采用椭圆曲线加密算法,具有安全性高、效率高、适用范围广等优点。其中,公钥加密算法是SM2算法的重要组成部分,用于保护数据的机密性。

GB/T 32918.4-2016《信息安全技术 SM2椭圆曲线公钥密码算法 第4部分:公钥加密算法》规定了SM2算法的公钥加密算法部分。该标准定义了加密算法的输入输出、加密过程、解密过程、密文格式等内容。具体来说,该标准规定了以下内容:

1.加密算法的输入输出:加密算法的输入包括明文、公钥和随机数,输出为密文。其中,明文为长度不超过k-97个字节的任意二进制串,k为椭圆曲线的模长;公钥为椭圆曲线上的点,由公钥算法生成;随机数为长度为k-1个字节的任意二进制串。

2.加密过程:加密过程包括以下步骤:(1)将明文转换为整数m;(2)生成随机数k,并计算椭圆曲线上的点C1=kG,其中G为椭圆曲线上的基点;(3)计算椭圆曲线上的点C2=m⊕KDF(klen, C1||C2||C3),其中KDF为密钥派生函数,klen为密钥长度,C3为公钥;(4)计算C3=[h]PB,其中h为哈希函数,PB为公钥;(5)输出密文C=(C1,C2,C3)。

3.解密过程:解密过程包括以下步骤:(1)从密文中获取C1、C2、C3;(2)计算椭圆曲线上的点D=[dB]C1,其中dB为私钥;(3)计算m=C2⊕KDF(klen, C1||C2||C3);(4)输出明文m。

4.密文格式:密文格式为(C1,C2,C3),其中C1和C3为椭圆曲线上的点,C2为长度不超过k-97个字节的任意二进制串。

总的来说,GB/T 32918.4-2016《信息安全技术 SM2椭圆曲线公钥密码算法 第4部分:公钥加密算法》规定了SM2算法的公钥加密算法部分,为保护信息安全提供了技术支持。

相关标准
GB/T 32918.1-2016 信息安全技术 SM2椭圆曲线公钥密码算法 第1部分:概述和参数定义
GB/T 32918.2-2016 信息安全技术 SM2椭圆曲线公钥密码算法 第2部分:数字签名算法
GB/T 32918.3-2016 信息安全技术 SM2椭圆曲线公钥密码算法 第3部分:密钥交换协议
GB/T 32918.5-2016 信息安全技术 SM2椭圆曲线公钥密码算法 第5部分:数字证书格式
GB/T 32918.6-2016 信息安全技术 SM2椭圆曲线公钥密码算法 第6部分:密码协议