原创 | 密评系列之:专业解读密评与0054(3)
小明,你上回说到,密评的基本原则是要做到合规性、正确性和有效性。具体都包含哪些内容呢?
好,今天我们详细展开讲,上期内容有遗漏的同学可以回顾:
我们先从这个合规性来讲,密评中的合规密码组件包括:密码算法、密码技术、密码产品和密码服务。
啊,密码算法?这个我了解的,SM2、SM3、SM4......我们之前也分享过很多相关内容呢。
是的,虽然关于密码算法介绍的文章很多,我还是想将密码算法重新进行一次梳理,你听我说:
首先关于密码算法:密码算法是用于加密和解密的数学函数,密码算法是密码协议的基础。现行的密码算法主要包括对称密码算法、非对称密码算法(又叫公钥密码算法)、杂凑算法(又叫Hash算法)等,用于保证信息的安全,为应用提供机密性、完整性、真实性和不可否认性等服务。
考考你,什么是对称密码算法与非对称密码算法?
很简单啦,对称密码算法指加密和解密使用相同密钥的加密算法,优点是运行、计算效率较高,缺点是存在密钥分发、管理问题。对称密码算法主要包括序列密码算法、分组密码算法等,主要用于数据加解密等。
非对称密码算法需要两个密钥:公开密钥和私有密钥,公钥对外公开,私钥由个人安全保存;用其中一个密钥来加密,就只能用另一个密钥来解密。优点是解决了密钥分发、管理问题,缺点是运行、计算效率较低。非对称密码算法主要包括基于大数分解的公钥密码算法、基于离散对数的公钥密码算法、基于标识的公钥密码算法等,主要用于身份认证、密钥分发、数据完整性保护和操作行为抗抵赖等。
我说的对吧。另外,你刚提到杂凑算法,这里我想听听你的见解。
杂凑算法是把任意长的输入消息串变化成固定长的输出串的一种函数。杂凑算法主要用于完整性校验以及提高数字签名的有效性。完整性校验很容易理解,输入消息一旦被改变,杂凑运算值就会发生变化。
由于数字签名使用的是非对称算法,要签名的消息如果过长,那么数字签名的效率是特别低的,所以对数据的数字签名都是先对数据进行杂凑运算,然后对杂凑运算值再进行数字签名,从而提高数字签名的有效性,主要用于数据完整性保护、数字签名等 。这么说OK嘛?
哇,给你个赞。还有一个问题,目前主流密码算法有哪些呢额?
密码算法有哪些:
对称密码算法-序列密码:国外的RC4,国内的ZUC(祖冲之)。
对称密码算法-分组密码:国外的3DES、AES,国内的SM4。
非对称密码算法-大数分解:国外的RSA
非对称密码算法-离散对数:国外的ECC,国内的SM2
非对称密码算法-标识:国内的SM9
杂凑算法:国外的MD5、SHA-1、SHA-256,国内的SM3。
你刚才提到合规性,又列举了这么多的密码算法,到底什么是合规的密码算法?
划重点!何为合规的密码算法:
信息系统中使用的密码算法应当符合法律、法规的规定和密码相关国家标准、行业标准的有关要求。
目前我国的密码主管部门为国家密码管理局,国家密码管理局组织制定了一系列的商用密码算法,公开发布标准的商用密码算法为ZUC、SM2、SM3、SM4和SM9。
因此现阶段推荐使用的并且合规的商用密码算法就是上述的ZUC、SM2、SM3、SM4和SM9算法,目前被广泛使用的密码算法主要是SM2、SM3和SM4算法。
我们不但要使用上述密码算法,而且要规范的使用上述密码算法,比如对于SM2密码算法,我们要遵循《GM/T 0009-2012 SM2 密码算法使用规范》和《GM/T 0010-2012 SM2 密码算法加密签名消息语法规范》。
密码算法中,密钥是控制密码变换的关键参数,是密码安全的根本,需进行严格管理,制定科学合理的安全策略。其中密钥产生的安全性主要依赖于随机数的随机性,随机数的产生要符合《GM/T 0005-2012 随机性检测规范》,目前符合该规范的随机数产生方法基本都是采用硬件噪声源芯片产生。
密码算法通过密码模块实现,因此密评应用中对于密码算法的使用需要通过调用具有国密局产品型号证书的密码模块来实现。
听你这么一说,我算是明白了。那么,密评中的合规密码组件的第一部分:密码算法讲完了,是不是要继续介绍第二部分:密码技术了?
欲知后事如何,请听下回分解~
小明,你!!!
未完待续
未完待续
海泰方圆提供内容支持