GMSM —— 国密简介、概念(SM1-9)、ZUC祖冲之算法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/The_Reader/article/details/83991287

国密算法介绍

国密算法是国家商用密码管理办公室指定的一系列的密码标准,即已经被国家密码局认定的国产密码算法,又称商用密码(是指能够实现商用密码算法的加密,解密和认证等功能的技术),保障在金融,医疗等领域的信息传输安全。

国密算法可分为对称算法和非对称算法,对称算法包括了SM1,SM4,SM7,祖冲之密码(zuc),非对称算法包括SM2,SM9。还有SM3是哈希算法,SM1和SM7对外是不公开的,想要调用的话,需要通过加密芯片的接口才可以。

SM1对称密码

SM1 算法是分组对称算法,分组长度为128位,密钥长度都为 128 比特,算法安全保密强度及相关软硬件实现性能与 AES 相当,算法不公开,仅以 IP 核的形式存在于芯片中。采用该算法已经研制了系列芯片、智能 IC 卡、智能密码钥匙、加密卡、加密机等安全产品,广泛应用于电子政务、电子商务及国民经济的各个应用领域(包括国家政务通、警务通等重要领域)。

SM2椭圆曲线公钥密码算法

SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA 2048位高,但运算速度快于RSA。它是一种先进安全的公钥密码算法,在我们国家商用密码体系中被用来替换RSA算法。SM2算法就是ECC椭圆曲线密码机制,但在签名、密钥交换方面不同于ECDSA、ECDH等国际标准,而是采取了更为安全的机制。另外,SM2推荐了一条256位的曲线作为标准曲线。

SM3杂凑算法

SM3是一种哈希算法,其算法本质是给数据加一个固定的长度的指纹,这个固定指纹长度就是256bit,用于密码应用中的数字签名和验证,消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。可以在SM2,SM9标准中使用

SM4对称算法

SM4算法是一种分组密码算法,用于无限局域网产品,该算法的分组长度为128bit,加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。

SM7对称密码

SM7算法是一种分组密码算法,分组长度为128比特,密钥长度为128比特。SM7适用于非接触式IC卡,应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通等),其跟SM1一样,是不被公开的,想要使用,需要添加加密芯片才能调用。

SM9标识密码算法

为了降低公开密钥系统中密钥和证书管理的复杂性,以色列科学家、RSA算法发明人之一Adi Shamir在1984年提出了标识密码(Identity-Based Cryptography)的理念。标识密码将用户的标识(如邮件地址、手机号码、QQ号码等)作为公钥,省略了交换数字证书和公钥过程,使得安全系统变得易于部署和管理,非常适合端对端离线安全通讯、云端数据加密、基于属性加密、基于策略加密的各种场合。2008年标识密码算法正式获得国家密码管理局颁发的商密算法型号:SM9(商密九号算法),为我国标识密码技术的应用奠定了坚实的基础。

SM9算法不需要申请数字证书,适用于互联网应用的各种新兴应用的安全保障。如基于云技术的密码服务、电子邮件安全、智能终端保护、物联网安全、云存储安全等等。这些安全应用可采用手机号码或邮件地址作为公钥,实现数据加密、身份认证、通话加密、通道加密等安全应用,并具有使用方便,易于部署的特点,从而开启了普及密码算法的大门。

与SM2类似,包含四个部分:总则,数字签名算法,密钥交换协议以及密钥封装机制和公钥加密算法。在这些算法中使用了椭圆曲线上的对这一个工具,不同于传统意义上的SM2算法,可以实现基于身份的密码体质,也就是公钥与用户的身份信息即标识相关,从而比传统意义上的公钥密码体质有许多优点,省去了证书管理等。

现在越来越多行业要求使用国密算法对数据做加解密保护,而国密算法也不像以前那般神秘,集成有国密算法的产品也越来越普遍。武汉瑞纳捷是国密定点生产单位,其国密安全芯片RJMU401,硬件集成国密算法SM1、SM2、SM3、SM4,也集成国际算法3DES、AES、RSA2048、SHA256,芯片具有18KB 的RAM和550KB的FLASH,支持ISO7816和SPI接口。RJMU401已获得国密密码局颁发的国密型号资质。

 ZUC祖冲之算法

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

密码算法作为国家战略资源,比历史上任何时候都显得更为关键。在大数据和云计算的时代,关键信息往往通过数据挖掘技术在海量数据中获得,所以每一个人的信息保护都非常重要。
 

 

猜你喜欢

转载自blog.csdn.net/The_Reader/article/details/83991287