一文读懂国密算法综述

一、加密算法

国密即国家密码局认定的国产密码算法,即商用密码,主要完成加密、解密、签名、验签、摘要等操作。主要有SM1,SM2,SM3,SM4等。与国际商用密码对应关系如下图:

SM1为对称加密,其加密强度与AES 相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。

SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与密钥生成速度都快于RSA。ECC256位(SM2采用的就是ECC256位的一种)安全强度比RSA2048位高,但运算速度快于RSA。

SM3为消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256 位。

SM4为无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为 128位。由于SM1、SM4加解密的分组大小为128bit,故对消息进行加解密时,若消息长度过长需要进行分组,如果消息长度不足,则要进行填充。

SM7算法是一种分组密码算法,属于对称加密。其分组长度和密钥长度均为128比特。该算法由国家密码管理局于2007年颁布,是中国自主研发的密码技术之一,适用于非接触式IC卡应用,包括身份识别、票务、支付与通卡等多个领域。

SM9标识密码算法是一种基于身份的密码方案,非对称加密算法‌。主要用于身份认证和密钥协商。它采用了双线性对等数学工具,支持1024位和2048位密钥。SM9算法具有较高的安全性和计算效率,适用于物联网、云计算等应用场景。

祖冲之序列密码算法是中国自主研究的流密码算法,是运用于移动通信4G网络中的国际标准密码算法,该算法包括祖冲之算法(ZUC)、加密算法(128-EEA3)和完整性算法(128-EIA3)三个部分。目前已有对ZUC算法的优化实现,有专门针对128-EEA3和128-EIA3的硬件实现与优化。

二、算法安全性

SM1算法:基于椭圆曲线离散对数问题的难解性,提供与1024位RSA算法相当的安全性‌。此外,SM1算法的加密过程中包括了置换、代换、线性变换等步骤,进一步保证了加密的强度和安全性‌。

SM2 算法:SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括 SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3 椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。SM2算法与 RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,相对于RSA算法,256的SM2密码强度已经比2048位的RSA密码强度要高。

SM3 算法:SM3杂凑算法是我国自主设计的密码杂凑算法,适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。为了保证杂凑算法的安全性,其产生的杂凑值的长度不应太短,例如MD5输出128比特杂凑值,输出长度太短,影响其安全性。SHA-1算法的输出长度为160比特,SM3算法的输出长度为256比特,因此SM3算法的安全性要高于MD5算法和SHA-1算法。

SM4 算法:SM4 分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。要保证一个对称密码算法的安全性的基本条件是其具备足够的密钥长度 ,SM4算法与 AES算法具有相同的密钥长度,分组长度128比特。因此在安全性上高于 3DES 算法。

SM7算法:SM7算法采用真随机数发生器,确保了密钥的随机性和不可预测性。通过三重相互认证机制,增强了数据交互的安全性。每张卡具有8个相互独立的128位密码,支持一卡一密和一卡多用。每张卡具有4字节的唯一序列号,增强了卡的唯一性和安全性。

SM9算法‌:是一种基于标识的密码算法(IBC),由数字签名算法、标识加密算法和密钥协商协议三部分组成。SM9算法采用了椭圆曲线密码学的原理,使用椭圆曲线上的点来执行数字签名、身份验证和密钥交换。SM9中的密钥生成和派生过程以及加密和解密操作都基于椭圆曲线上的数学运算。据新华网公开报道,SM9的加密强度等同于3072位密钥的RSA加密算法。

ZUC祖冲之算法:祖冲之算法由三部分组成,线性反馈移位寄存器(LFSR),比特重组(BR)和非线性函数(F)。ZUC算法的LFSR设计时充分考虑到安全和效率两方面的问题,在达到高安全目标的同时可以拥有非常高效的软硬件实现。在比特重组部分,精心选用数据使得重组的数据具有良好的随机性,并且出现重复的概率足够小。在非线性函数F的设计上,F函数采用了两个非线性变换S盒(S0和S1),从而为祖冲之密码提供了非线性。

官网:www.myibc.net返回搜狐,查看更多

阅读 ()
平台声明
该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。