密码算法是保障信息安全的核心技术,尤其是最关键的银行业核心领域长期以来都是沿用 3DES、SHA-1、RSA 等国际通用的密码算法体系及相关标准。
2010 年底,国家密码管理局公布了我国自主研制的“椭圆曲线公钥密码算法”(SM2 算法)。为保障重要经济系统密码应用安全,国家密码管理局于 2011 年发布了《关于做好公钥密码算法升级工作的通知》,明确要求“自 2011 年 3 月 1 日起,在建和拟建公钥密码基础设施电子认证系统和密钥管理系统应使用国密算法。自 2011 年 7 月 1 日起,投入运行并使用公钥密码的信息系统,应使用 SM2 算法。”
自 2012 年以来,国家密码管理局以《中华人民共和国密码行业标准》的方式,陆续公布了 SM2/SM3/SM4 等密码算法标准及其应用规范。其中“SM”代表“商密”,即用于商用的、不涉及国家秘密的密码技术。
这其中值得我们关注的主要是以下公开的算法:
SM2:基于椭圆曲线密码(ECC)的公钥密码算法标准,提供数字签名,密钥交换,公钥加密,用于替换 RSA/ECDSA/ECDH 等国际算法
SM3:消息摘要算法,哈希结果为 256 位,用于替换 MD5/SHA1/SHA256 等国际算法
SM4:对称加密算法,密钥长度和分组长度均为 128 位,主要用于无线局域网标准,用于替换 DES/AES 等算法
国密证书:这里的国密证书指的是使用国密算法(SM2-with-SM3)的标准 X509 格式证书,证书使用 SM3 作为哈希算法,使用 SM2 作为数字签名算法
国密 SSL:采用国密算法,符合国密标准的安全传输协议,也就是 SSL/TLS 协议的国密版本。