企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 概述 国密算法是中国自主研发的密码算法,主要用于商用领域,也称为商用密码算法。它们在维护国家安全、促进经济发展、保护人民群众利益方面发挥着重要作用。国密算法包括多种类型的密码技术,如公钥密码算法、对称密码算法、哈希算法等。 **密码学中应用最为广泛的三类算法** * 对称算法(分组密码算法):AES/DES/SM4 * 非对称算法(公钥密码算法):RSA/SM2 * 摘要算法(杂凑算法):MD5/SHA-I/SM3 ### 国密算法介绍 国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。 * **SM1**:**为对称加密**。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。 * **SM2**:**非对称加密**,基于ECC(椭圆加密算法)。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC256位(SM2采用的就是ECC256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。即SM2>RSA2048,安全度高且运算速度块。** 基于椭圆曲线的公钥密码算法,提供数字签名、密钥交换和公钥加密功能。SM2算法的密钥长度为256比特,具有密钥长度短、安全性高的特点。 * **SM3**:消息摘要算法,生成256比特的哈希值,用于数据的完整性保护。SM3算法在结构上与SHA-256相似,但在安全性和效率上具有优势。 * **SM4**:**对称加密**,密钥长度和分组长度均为128位。无线局域网标准的分组数据算法。分组密码算法,用于数据加密和解密。SM4算法的数据分组长度和密钥长度均为128比特,采用32轮非线性迭代结构。 * **SM9**:基于双线性对的标识密码算法,主要用于数字签名、数据加密、密钥协商和身份认证。SM9算法的密钥长度为256比特。 * **ZUC**:祖冲之序列密码算法,用于移动通信4G网络中的信息加密和完整性保护。ZUC算法包括加密算法和完整性算法。 > 由于SM1、SM4加解密的分组大小为128bit,故对消息进行加解密时,若消息长度过长,需要进行分组,要消息长度不足,则要进行填充。 ## SM2 SM2 国密SM2算法是中国国家密码管理局(CNCA)发布的一种非对称加密算法。它采用椭圆曲线密码体系(Elliptic Curve Cryptography,ECC)进行密钥交换、数字签名和公钥加密等操作。 在商用密码体系中,SM2主要用于替换RSA加密算法,其算法公开。据国家密码管理局表示,SM2基于ECC,其效率较高,安全性与NIST Prime256相当 SM2主要包括三部分:签名算法、密钥交换算法、加密算法,其中SM2签名算法收录于ISO/IEC 14888-3:2018《信息安全技术带附录的数字签名第3部分:基于离散对数的机制》