安全技术
当前位置: 首页 > 安全技术 > 信息安全技术
国密算法规范

1.对称国密算法

SM4(原SMS4)

SM4算法是由中国国家密码管理局于2006年1月6日发布,在无线局域网产品中批准使用的对称密码算法。

SM4密码算法是一个迭代分组密码算法。该算法的信息块长度为128位,密钥长度为128位。加密算法与密钥扩展算法都采用32轮非线性迭代结构,SM4数据解密和数据加密的算法结构相同,只是子密钥的使用顺序相反,解密子密钥是加密子密钥的逆序。

2.非对称国密算法

SM2

SM2算法是由国家密码管理局于2012年12月17日发布的椭圆曲线公钥密码算法,主要满足电子认证系统等应用需求。

该算法的主要参数如下:

①推荐使用素数域256位椭圆曲线。

②椭圆曲线方程:y² = x³+ax+b。

③曲线参数:

p = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00000000 FFFFFFFF FFFFFFFF

a = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF 00000000 FFFFFFFF FFFFFFFC

b = 28E9FA9E 9D9F5E34 4D5A9E4B CF6509A7 F39789F5 15AB8F92 DDBCBD41 4D940E93

n = FFFFFFFE FFFFFFFF FFFFFFFF FFFFFFFF 7203DF6B 21C6052B 53BBF409 39D54123

Gx = 32C4AE2C 1F198119 5F990446 6A39C994 8FE30BBF F2660BE1 715A4589 334C74C7

Gy = BC3736A2 F4F6779C 59BDCEE3 68692153 D0A9877C C62A4740 02DF32E5 2139F0A0

3.国密摘要算法

SM3

SM3算法是由中国国家密码管理局于2012年12月17日发布的摘要算法,主要满足电子认证服务系统等应用需求。

针对长度为l(l<2 64 )比特的消息m,SM3算法经过填充和迭代压缩,生成杂凑值,杂凑值长度为256位。其中填充过程为:假设消息m的长度为l位。首先将位“1”添加到消息的末尾,再添加k个“0”,k是满足l+1+k=448mod的最小的非负整数,然后再添加一个64位的比特串,该比特串是长度l的二进制表示,填充后的消息m’ 的比特长度为512的倍数。

验证SM3算法的正确性的测试用例如下:

SM3(“abc”) = 66c7f0f4 62eeedd9 d1f2d46b dc10e4e2 4167c487 5cf2f7a2 297da02b 8f4ba8e0。

SM3(“61626364 61626364 61626364 61626364 61626364 61626364 61626364 61626364”) = debe9ff9 2275b8a1 38604889 c18e5a4d 6fdb70e5 387e5765 293dcba3 9c0c5732。