密码学笔记7 密钥管理国家标准

密钥管理国家标准的管理机构

http://www.oscca.gov.cn/

二、国家标准中密码等级划分

1. 核密

不存在任何商务行为。

2. 普密

重要机关单位的信息安全级别。

普密可以用于保护一定范围的国家安全信息,对国家秘密保护的强度包括它的手段和技术。从密码角度来说保护国家信息的时候所采用的密码必须是普密以上的。

3. 商密

用于保护企业级的商业密秘,技术上不一定比普密低,但商密产品的管理程度不如普密,应用产品多,应用面广。
国家规定商密禁止操作任何国家秘密以上的安全信息。

三、算法比较

1. 对称密码 SM1

SM1算法

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

SSF33

SSF33算法是由国家密码管理局编制的一种商用密码分组标准对称算法,分组长度和密钥长度都为 128比特,该算法不公开,仅以 IP 核的形式存在于芯片中。但是SSF33算法性能比较差,因此在实用中,逐步被SM1、SM4代替。

2. 公用密钥算法SM2(对应国际RSA)

SM2

国家密码管理局于2010年12月17日发布,全称为椭圆曲线算法,采用基于椭圆曲线加密(ECC)算法的非对称算法,密码复杂度高,160位ECC就可以达到与1024位RSA、DSA相同的安全强度。不仅如此,在实现同样的计算复杂度时,SM2在私钥的处理速度上远快于RSA、DSA算法,所以加密效率更高。SM2在签名、密钥交换方面 同于ECDSA、ECDH等国际标准,而是采取了更为安全的机制。另外,SM2推荐了一条256位曲线作为标准曲线。
  SM2 标准包括:总则、数字签名算法、密钥交换协议,公钥加密算法四个部分,并在每个部分的附录详细说明了实现的相关细节及示例。

RSA

RSA算法由Rivest、Shamir、Adleman于1978年首次发表,是迄今为止最容易理解和实现的公钥算法,已经受住了多年深入的攻击,其理论基础是一种特殊的可逆模幂运算,其安全性基于分解大整数的困难性。
  RSA算法既可用于加密,又可用于数字签名,已得到广泛采用,并被许多标准化组织(如ISO、ITU、IETF和Swift等)接纳。目前许多国家标准仍采用RSA算法或它的变型。

ECC

椭圆曲线密码学(Elliptic curve cryptography,缩写为ECC)是基于椭圆曲线数学的一种公钥密码的方法。椭圆曲线在密码学中的使用是在1985年由Neal Koblitz和Victor Miller分别独立提出的。
  ECC的主要优势是在某些情况下它比其他的方法使用更小的密钥——比如RSA加密算法——提供相当的或更高等级的安全。不过一个缺点是加密和解密操作的实现比其他机制花费的时间长。

3. 摘要算法 SM3(对应国际MD5、SHA-256)

SM3

密码杂凑算法,适用于商用密码中的数字签名和验证,消息认证码生成与验证以及随机数的生成,可满足我种密码应用的安全需求。安全性与效率与SHA256相当。

MD5

MD5即Message-Digest Algorithm 5(信息-摘要算法 5),用于确保信息传输完整一致。MD5一度被广泛应用于安全领域。但是由于MD5的弱点被不断发现以及计算机能力不断的提升,现在已经可以构造两个具有相同MD5的信息[2],使本算法不再适合当前的安全环境。2004年,王小云证明MD5数字签名算法可以产生碰撞[3]。2007年,Marc Stevens,Arjen K. Lenstra和Benne de Weger进一步指出通过伪造软件签名,可重复性攻击MD5算法[4]。研究者使用前缀碰撞法(chosen-prefix collision),使程序前端包含恶意程序,利用后面的空间添上垃圾代码凑出同样的MD5 Hash值。

2008年,荷兰埃因霍芬技术大学科学家成功把2个可执行文件进行了MD5碰撞,使得这两个运行结果不同的程序被计算出同一个MD5[5]。2008年12月一组科研人员通过MD5碰撞成功生成了伪造的SSL证书,这使得在https协议中服务器可以伪造一些根CA的签名。

SHA1/SHA2算法:

SHA算法是一种能计算出一个数位讯息所对应到的,长度固定的字串(又称讯息摘要)的算法。SHA-1在许多安全协定中广为使用,包括TLS和SSL、PGP、SSH、S/MIME和IPsec,曾被视为是MD5(更早之前被广为使用的杂凑函数)的后继者。SHA2包括SHA224、SHA-256,SHA-384和SHA-512。摘要算法运行很快,其中SHA2的性能略低于SHA1。

4. 分组密码算法 SM4(对应国际DES/AES)

SM4

此算法是一个分组算法,用于无线局域网产品。该算法的分组长度为128比特,密钥长度为128比特。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。
  此算法采用非线性迭代结构,每次迭代由一个轮函数给出,其中轮函数由一个非线性变换和线性变换复合而成,非线性变换由S盒所给出。其中rki为轮密钥,合成置换T组成轮函数。轮密钥的产生与上图流程类似,由加密密钥作为输入生成,轮函数中的线性变换不同,还有些参数的区别。SM4算法的具体描述和示例见SM4标准。

DES:

DES算法是在美国NSA(国家安全局)资助下由IBM公司开发的密码算法,其初衷是为政府非机密的敏感信息提供较强的加密保护。它是美国政府担保的第一种加密算法,并在1977年被正式作为美国联邦信息处理标准。DES主要提供非军事性质的联邦政府机构和私营部门使用,并迅速成为名声最大,使用最广的商用密码算法。

5. SM7 对称密码

SM7算法,是一种分组密码算法,分组长度为128比特,密钥长度为128比特。SM7适用于非接触式IC卡,应用包括身份识别类应用(门禁卡、工作证、参赛证),票务类应用(大型赛事门票、展会门票),支付与通卡类应用(积分消费卡、校园一卡通、企业一卡通等)。

参考 :
https://www.douban.com/note/513154909/
https://baike.baidu.com/item/国密SM1/1597304?fr=aladdin

猜你喜欢

转载自blog.csdn.net/xundh/article/details/76708763
今日推荐