国内搞产业区块链,国密是几乎绕不开的一个坎儿,于是就皮毛了解了一下。
0x01 什么是国密
国密是国家商用密码的简称,是国家密码局认定的国产密码算法。通常用 GM/SM 来表示,GM 就是国密的拼音首字母,SM 就是商密两个字的拼音首字母。
说起来商用密码的应用领域十分广泛,主要用于对不涉及国家秘密内容但又具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护。比如:商用密码可用于企业门禁管理、企业内部的各类敏感信息的传输加密、存储加密,防止非法第三方获取信息内容;也可用于各种安全认证、网上银行、数字签名等。
但事实上也就国内有国家标准要求的地方用用了。
0x02 常用国密
常用的国密有 SM2/SM3/SM4/SM9
SM2为基于椭圆曲线密码的公钥密码算法标准,包含数字签名、密钥交换和公钥加密,用于替换RSA/Diffie-Hellman/ECDSA/ECDH等国际算法。
SM3为密码哈希算法,用于替代MD5/SHA-1/SHA-256等国际算法。
SM4为分组密码,用于替代DES/AES等国际算法。
SM9为基于身份的密码算法,可以替代基于数字证书的PKI/CA体系。