国产商用密码算法及其相关标准介绍

2020-04-02 03:49谢宗晓董坤祥甄杰
中国质量与标准导报 2020年6期
关键词:数字签名密钥国家标准

谢宗晓 董坤祥 甄杰

1 概述

《中华人民共和国密码法》第六条中规定:密码分为核心密码、普通密码和商用密码。同时,在第七条和第八条中规定:核心密码、普通密码属于国家秘密,商用密码用于保护不属于国家秘密的信息。因此,在常见应用中,商用密码得到了大面积的推广,以至于,在实践中,提到“国密”,经常就被默认为国产商用密码算法。

在现代密码系统中,密码算法、密码协议和密钥管理是三个不可或缺的部分,而在这三者之中,最为核心的毫无疑问就是密码算法。虽然实践证明,绝大部分的安全漏洞都产生于实现和部署过程中,但是,算法的安全与否,直接决定了一个密码系统的基础是否安全。例如,选用SHA-1、MD4、MD5、RC4和密钥长度小于2048位的RSA等不安全的算法,不可能实现安全的密码系统。

已经发布的国产商用密码算法,按照类别可以分为:1)对称密码算法,主要包括ZUC和SM4;2)非对称密码算法,主要包括SM2和SM9;3)密码杂凑算法,主要包括SM3。

2 对称密码算法

对称密码(symmetric cryptography)是用相同的密钥(或方法)进行加密解密,这在逻辑上非常清晰,也最直观,有时候也被称之为共享密钥密码,对称密码算法的基本过程如图1所示。

已经发布国产商用密码算法中属于对称密码算法的有ZUC和SM4。

ZUC(祖冲之密码算法)属于序列密码,也称为“流密码”,与之类似的国外密码算法如RC41)。ZUC对应的国家标准、行业标准,如表1所示。

SM4属于分组密码,也称为“块密码”,与之类似的国外密码算法如DES(数据加密标准),TDEA/3DES(三重数据加密标准)以及AES(高级加密标准)等。SM4对应的国家标准、行业标准,如表2所示。

在安全性上,SM4-128与AES-128差不多,当然,AES支持更高的安全强度。但是SM4具备一个很优良的特征,加密和解密的过程基本相同,只需要将密钥的顺序倒置即可实现,AES算法的加密算法和解密算法则不一致。存在类似数学特征的算法,又如,用于公钥加密和数字签名的RSA算法,两者存在完美的逆序。

3 非對称密码算法

公钥密码又称为非对称密码(asymmetric cryptography),最典型的公钥密码用法是,发送者用公钥加密,接收者用私钥解密。公钥一般是公开的,不必担心窃听,私钥又不存在传输的问题。这个思路创造性地解决了对称密码中难以处理的密钥配送问题2)。用于传输消息的公钥密码工作过程如图2所示。

已经发布国产商用密码算法中属于对称密码算法的有SM2和SM9。

SM2为椭圆曲线密码(Elliptic Curve Eryptography,ECC)算法,其数学基础为椭圆曲线离散对数问题。RSA算法,其数学基础为大整数的质因数分解。两者比较,椭圆曲线密码算法所需要的密钥长度比较短,也就是说,同样的密钥长度,椭圆曲线密码可以提供更高等级的安全。SM2对应的国家标准、行业标准,如表3所示。

基于SM2算法的数字签名技术,在国内,尤其是金融行业等,数字认证领域已经得到广泛的应用,逐步替代了基于RSA算法的数字签名。

SM9为标识密码(Identity-Based Cryptograph,IBC)算法,标识密码算法主要为了解决传统PKI(Public Key Infrastructure,公钥基础设施)体系中存在大量数字证书的交换问题,由于标识密码中,公钥是基于用户的唯一特定的身份标识,这样就不再依赖于数字证书,即不再依赖于签名的公钥。SM9对应的国家标准、行业标准,如表4所示。

SM9中的数字签名算法基于椭圆曲线对实现,其安全性是基于椭圆曲线双线性映射的性质,目前业界尚未发现显著影响双线性对密码系统应用的安全性风险,就安全性而言,SM9高于同类算法。

4 密码杂凑算法

密码杂凑算法也被称作“杂凑算法”“散列算法”或“哈希算法”。在GM/Z 4001—2013《密码术语》中,上述几个术语对应的英文都是hash algorithm,其主要功能是将任意长度的比特串映射到固定长的比特串。

已经发布国产商用密码算法中属于密码杂凑算法的有SM3,SM3对应的国家标准、行业标准,如表5所示。

国外密码杂凑算法主要有MD5和SHA(Secure Hash Algorithm,安全杂凑算法)系列,如上文所述,MD5和SHA-1已经证明不安全,虽然目前尚未发现对SHA-2有效攻击方法,但是鉴于SHA-1和SHA-2结构相似,从2012年开始,NIST宣布了新的杂凑算法SHA-3。

5 小结

综上所述,目前发布的国产商业密码算法主要包括ZUC、SM2、SM3、SM4和SM9,其类型涵盖了对称密码算法、非对称密码算法和密码杂凑算法,基本可以满足日常应用的需要,无论是在算法的安全性上,还是在算法效率上,都比国外密码算法要更胜一筹。

(注:本文仅做学术探讨,与作者所在单位观点无关)

参考文献

[1] 霍炜,郭启全,马原.商用密码应用与安全性评估[M].北京:中国工信出版社/电子工业出版社,2020.

[2] 郑昉昱,林璟锵,魏荣,等.密码应用安全技术研究及软件密码模块检测的讨论[J].密码学报,2020,7(3):290-310.

[3] 谢宗晓,甄杰.公钥基础设施(PKI)国家标准解析[J].中国质量与标准导报, 2018(12):18-21.

[4] 谢宗晓,刘琦.公钥基础设施(PKI)国际标准进展[J].金融电子化,2018(10):56-58.

[5] 谢宗晓,董坤祥,甄杰.公钥基础设施(PKI)的发展过程及其架构[J].中国质量与标准导报, 2020(5):17-20.

猜你喜欢
数字签名密钥国家标准
幻中邂逅之金色密钥
幻中邂逅之金色密钥
交通运输行业数字签名系统的设计与实现分析
近期发布的相关国家标准(2019年12月10日)
近期发布的相关国家标准(2019年12月31日)
近期发布的相关国家标准(2020年03月06日)
近期发布的相关国家标准(2020年03月31日)
BitLocker密钥恢复二三事
关于电子商务中安全数字签名的研究
基于XML的数字签名在电子病历的应用方法