- 国密算法,即国家商用密码算法。是由国家密码管理局认定和公布的密码算法标准及其应用规范,其中部分密码算法已经成为国际标准。如SM系列密码,SM代表商密,即商业密码,是指用于商业的、不涉及国家秘密的密码技术。
- 国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。
- 由于SM1、SM4加解密的分组大小为128bit,故对消息进行加解密时,若消息长度过长,需要进行分组,要消息长度不足,则要进行填充。
密码分类 | 国产商用密码 | 国际商用密码 | |
---|---|---|---|
对称加密 | 分组加密/块加密 | SM1/SCB2、 SM4/SMS4、 SM7 | DES、 IDEA、 AES、 RC5、 RC6 |
序列加密/流加密 | ZUC(祖冲之算法)、 SSF46 | RC4 | |
非对称/公钥加密 | 大数分解 | RSA、 DSA、 ECDSA、 Rabin | |
离散对数 | SM2、 SM9 | DH、 DSA、 ECC、 ECDH | |
密码杂凑/散列 | SM3 | MD5、 SHA-1、 SHA2 |
- 它是基于椭圆曲线密码的公钥密码算法标准,其秘钥长度256bit,包含数字签名、密钥交换和公钥加密,用于替换RSA/DH/ECDSA/ECDH等国际算法。可以满足电子认证服务系统等应用需求,由国家密码管理局于2010年12月17号发布。
- SM2采用的是ECC 256位的一种,其安全强度比RSA 2048位高,且运算速度快于RSA。
- 用于替代MD5/SHA-1/SHA-2等国际算法,适用于数字签名和验证、消息认证码的生成与验证以及随机数的生成,可以满足电子认证服务系统等应用需求,于2010年12月17日发布。
- 它是在SHA-256基础上改进实现的一种算法,采用Merkle-Damgard结构,消息分组长度为512bit,输出的摘要值长度为256bit。
- 跟SM1类似,是我国自主设计的分组对称密码算法,用于替代DES/AES等国际算法。SM4算法与AES算法具有相同的密钥长度、分组长度,都是128bit。于2012年3月21日发布,适用于密码应用中使用分组密码的需求。
- 用于无线局域网产品。
- 该算法没有公开。SM7适用于非接触式IC卡应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通、公交一卡通)。
- 用椭圆曲线对实现的基于标识的数字签名算法、密钥交换协议、密钥封装机制和公钥加密与解密算法,包括数字签名生成算法和验证算法,并给出了数字签名与验证算法及其相应的流程。并提供了相应的流程。可以替代基于数字证书的PKI/CA体系。
- SM9主要用于用户的身份认证。据新华网公开报道,SM9的加密强度等同于3072位密钥的RSA加密算法,于2016年3月28日发布。
- 祖冲之序列密码算法是中国自主研究的流密码算法,是运用于移动通信4G网络中的国际标准密码算法,该算法包括祖冲之算法(ZUC)、加密算法(128-EEA3)和完整性算法(128-EIA3)三个部分。
- 传统SSL证书通常采用RSA算法,RSA是目前应用最为普遍的加密算法,能够抵御绝大多数的网络攻击,但随着密码技术的飞速发展,已逐渐证实1024位的RSA算法仍然存在被攻破的风险,因此目前很多SSL证书已将RSA算法升级到2048位。
- 而现阶段的国密SSL证书采用由我国自主设计的SM2公钥密码算法,这种算法基于椭圆曲线密码理论改进而来,其加密强度比RSA算法更高。