国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4,SM9。密钥长度和分组长度均为128位。
国密算法种类
- SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
- 采用该算法已经研制了系列芯片、智能IC卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。
- 该算法不公开
- SM2:为非对称加密,基于椭圆曲线密码(ECC)的公钥密码算法标准,提供数字签名,密钥交换,公钥加密,用于替换RSA/ECDSA/ECDH等国际算法
- 安全强度比RSA 2048位高,但运算速度快于RSA。
- 该算法已公开。
- SM3:消息摘要算法,哈希结果为256 bits,用于替换MD5/SHA1/SHA256等国际算法
- 该算法已公开。
- SM4:对称加密算法,密钥长度和分组长度均为128 bits,主要用于无线局域网标准,用于替换DES/AES等算法
- 无线局域网标准的分组数据算法。
- 该算法已公开。
- SM9:标识密码算法包括数字签名算法、密钥协商算法、加解密算法三部分。不同于传统签名算法的由用户随机选择私钥然后计算得到公钥的方式,SM9能够实现用户指定公钥,密钥生成中心通过公钥计算私钥。
国密算法应用
- 国密证书:这里的国密证书指的是使用国密算法(SM2-with-SM3)的标准X509格式证书,证书使用SM3作为哈希算法,使用SM2作为数字签名算法
- 国密SSL:采用国密算法,符合国密标准的安全传输协议,也就是SSL/TLS协议的国密版本
国密SM9算法介绍
基于身份的密码体制(IBE)是公钥密码学的一个研究方向,其特点是直接用标识用户身份的字符串作为公钥。大家熟悉的国密SM9算法就属于该类算法,这是目前国产密码算法中唯一一个基于双线性对的密码算法。
这样可以将一些有意义的字符串,例如身份证号码、邮箱地址等作为用户公钥,从而能在公钥中直接反应出用户信息,这也是标识密码(IBC)的含义。和一般签名验签不同的地方在于,密钥生成分为主密钥生成和用户密钥生成两部分,主私钥由密钥生成中心(KGC)保管。