安企神电脑监控软件 在线试用
扫码咨询客服
安企神电脑监控软件、局域网监控软件
首页
功能介绍
产品简介
下载中心
帮助中心
客户列表
关于安企神

“对称/非对称密钥”加密算法

更新时间:2022-10-28 15:42:05


本文简介:由于“摘要”算法加密的数据仅仅能作为一种身份验证的凭据使用,如果我们要对整个文档数据进行加密,则不能采用这种“不可逆”的算法,因此"密钥"算法(Key Encoding)的概念被提出。此类算法通过一个被称为“密钥”的凭据进行数据加密处理,接收方通过加密时使用的“密钥”字符串进行解密,即双方持有的"密钥"相同(对称)。如果接收方不能提供正确的“密钥”,则解密出来的就不是原来的数据。以上是“对称密钥”

“对称/非对称密钥”加密算法

由于“摘要”算法加密的数据仅仅能作为一种身份验证的凭据使用,如果我们要对整个文档数据进行加密,则不能采用这种“不可逆”的算法,因此"密钥"算法(Key Encoding)的概念被提出。此类算法通过一个被称为“密钥”的凭据进行数据加密处理,接收方通过加密时使用的“密钥”字符串进行解密,即双方持有的"密钥"相同(对称)。如果接收方不能提供正确的“密钥”,则解密出来的就不是原来的数据。

以上是“对称密钥”的概念,“非对称密钥”就是加密和解密文件的密钥不一样。用于加密的是“公钥”(Public Key),而用于解密的是“私钥”(Private Key),公钥是可以公开的,而私钥则不能公开。这种算法规定,对方给你发送数据前,可以用你的"公钥"加密后再发给你,但是这个“公钥”也无法解开它自己加密的数据,即加密过程是单向的,这样即使数据被中途拦截,入侵者也无法对其进行破解。当文件到达自己的计算机后,可以用自己的"私钥"解密,而且只有对应的私钥才可以解密用相应用户的公钥加密的文件。这就是"非对称密钥"加密算法,也称为“公共密钥算法”,这两者均建立在PKI验证体系结构上。

基于“对称密钥”的加密算法有DES、TripleDES、RC2、RC4、RC5和Blowfish等;基于"非对称密钥"的加密算法有RSA、Diffie-Hellman等。

1.DES算法

DES(Data Encryption Standard,数据加密标准)是最早、最著名的保密密钥或对称密钥加密算法。它是由IBM公司在20世纪70年代发展起来的,美国国家标准局于1977年公布把它作为非机要部门使用的数据加密标准。30多年来,它一直活跃在国际保密通信的舞台上,扮演了十分重要的角色。

目前在国内,随着三金工程尤其是金卡工程的启动,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输、IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。

DES是一个分组加密算法,它以64位为分组对数据加密。同时DES也是一个对称算法:加密和解密用的是同一个算法。它的密匙长度是56位(因为每个字节的第8位都用作奇偶校验),密钥可以是任意的56位的数,而且可以任意时候改变。其中有极少量的数被认为是弱密钥,但是很容易避开他们,所以其保密性依赖于密钥。

DES算法具有极高的安全性,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法。而56位长的密钥的穷举空间为256,这意味着如果一台计算机的速度是每秒钟检测一百万个密钥,则它搜索完全部密钥就需要将近2285年的时间,可见这是难以实现的。当然,随着科学技术的发展,当出现超高速计算机后,还可以考虑把DES密钥的长度再增长一些,以此来达到更高的保密程度。

DES算法的入口参数有3个:Key、Data、Mode。其中Key为8个字节,共64位,是DES算法的工作密钥;Data也为8个字节,64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。如Mode为加密,则用Key 去对数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据在公共通信网中传输的安全性和可靠性。通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法。

DES算法的工作原理为:DES对64位的明文分组进行操作,通过一个初始置换将明文分成左半部分和右半部分,然后进行16轮完全相同的运算,最后经过一个末置换便得到64位密文。每一轮的运算包含扩展置换、S盒代换、P盒置换和两次异或运算,另外每一轮中还有一个轮密钥(子密钥)。具体过程如下:DES对一个64位的明文分组(m)进行加密操作,m经过一个初始的P置换成m0,将m0明文分成左半部分和右半部分m0=(L0,R0),各32位长。然后进行16轮完全相同的运算,这些运算被称为函数f,在运算过程中数据与密匙结合。在每一轮中,密匙位移位,然后再从密匙的56位中选出48位。通过一个扩展置换将数据的右半部分扩展成48位,并通过一个异或操作替代成新的32位数据。这4步运算构成了函数f。然后,通过另一个异或运算,函数f的输出与左半部分结合,其结果成为新的右半部分,原来的右半部分成为新的左半部分,这就是S盒代换。经过16轮这样的转换后,左、右半部分再合在一起经过一个末置换,这样就完成了整个加密过程。

DES加密和解密唯一的不同是密匙的次序相反。如果各轮加密密匙分别是K1、K2、K3…K16,那么解密密匙就是K16、K15、K14…K1。

目前在DES算法中,采用最多的还是更复杂、更安全的3DES(TripleDES),是DES加密算法的一种模式。3DES使用3条64位的密钥对数据进行3次加密,密码强度是168位(3×56)。3DES是DES向AES过渡的加密算法(1999年,NIST将3DES指定为过渡的加密标准)。它以DES为基本模块,通过组合分组方法设计出分组加密算法。

2.RC算法

RC系列算法是由大名鼎鼎的RSA三人组设计的密钥长度可变的流加密算法,其中最流行的是RC4算法。RC系列算法可以使用2048位的密钥,但该算法的速度却可以达到DES加密的10倍左右,所以受到用户的广泛欢迎和普遍采用。

RC4算法的原理包括初始化算法和伪随机子密码生成算法两大部分。在初始化的过程中,密钥的主要功能是将一个256字节的初始数簇进行随机搅乱,不同的数簇在经过伪随机子密码生成算法的处理后可以得到不同的子密钥序列,得到的子密钥序列和明文进行异或运算(XOR)后,得到密文。

由于RC4算法加密采用的是异或,所以一旦子密钥序列出现了重复,密文就有可能被破解。

3.RSA算法

RSA算法也是RSA三人设计组设计的,是目前最流行的公钥密码算法。它使用长度可以变化的密钥,是第一个既能用于数据加密,也能用于数字签名的算法。

RSA算法的原理如下:

(1)随机选择两个大质数p和q,p不等于q,计算N=pq。

(2)选择一个大于1、小于N的自然数e,e必须与(p-1)(q-1)互素。

(3)用公式d×e = 1(mod(p-1)(q-1))计算出d。

(4)销毁p和q。

最终得到的N就是"公钥",d就是"私钥",发送方使用N去加密数据,接收方只有使用d才能解开数据内容。

RSA的安全性依赖于大数分解,小于1024位的N已经被证明是不安全的。而且由于RSA算法进行的都是大数计算,使得RSA最快的情况也比DES慢一倍以上,这是RSA最大的缺陷。因此,通常只能用于加密少量数据或者加密密钥,但RSA仍然不失为一种高强度的算法。

立即下载试用

人工智能不是网络安全的“救世主”

AI技术开发人员更是对“AI能够增强网络安全防御能力”这一愿景持乐观态度。他们认为,人为错误是不可避免的,而AI技术可以利用大数据和机器学习持续性观察和监控威胁发展趋势,从而优化提升某些防御行为。

在有关新一代网络安全技术的讨论中,AI无疑是一个高频出现的词汇,总是被反复提及。当前的网络攻击形势愈发严峻,安全人员对于利用AI技术保护数字资产表现出了极大热情。而AI技术开发人员更是对“AI能够增强网络安全防御能力”这一愿景持乐观态度。他们认为,人为错误是不可避免的,而AI技术可以利用大数据和机器学习持续性观察和监控威胁发展趋势,从而优化提升某些防御行为。


但事物总是具有双面性,随着对AI技术应用效果的观察,很多用户和安全专家发现,目前的AI技术还并不能成为网络安全领域的“救世主”,至少并非像很多安全厂商宣传的那样。人们往往只关注AI的好处,却有意或无意地忽略了它的应用缺陷。这种对AI看法的偏见引起了一些研究人员的担忧,他们认为,尚不成熟的AI技术应用,正在为网络攻击者制造新的漏洞。


研究人员发现,AI技术在网络安全方面的应用弊端主要包括以下几点:


1、过度依赖大数据


掌握充分的数据是AI技术应用的基础,如果不考虑数据质量和充分性,AI的准确性就会无法保证。如果组织希望利用AI技术检测网络威胁、预测攻击并做出相应的反应,就必须通过机器学习算法模型提供大量的真实数据训练它。对于大型组织来说,这可能不是问题,因为他们本身就拥有大量数据。但是,对于那些只想保护自己的网络安全的中小型企业用户呢?目前,安全厂商正在给用户营造的印象是,AI技术是包罗万象的,但事实却并非如此,因为对那些缺少大数据资源的企业或组织而言,几乎无法有效使用AI技术。


2、数据泄露 


就保护数据隐私而言,处理数据的人越少越好。因为在网络安全领域为实施AI技术创建基础环境既不容易也不便宜,它需要高水平专业技术技能支撑。当企业无法自己管理运营基于AI技术的安全解决方案时,将不得不将其外包给第三方供应商,虽然相关供应商可能会做出“保密”的承诺,但事实上,这个过程增加了企业的数据暴露面和攻击面。同时,第三方供应商也可能为了自身利益而滥用客户数据,并且难以被监控审计。


3、黑客的目标


网络犯罪分子也在将紧跟网络安全趋势视为首要任务。随着AI技术在网络安全方面应用受到广泛关注,他们正竭尽所能地利用这一趋势。当安全专家尝试用最新的算法加强安全防御时,网络犯罪分子很可能已经在这些算法中发现了新的安全漏洞。在网络安全领域,没人能垄断AI技术,独享其带来的优势。入侵者和防御者之间存在一场利益争夺。如果入侵者没能抢在防御者前面,他们的恶意企图就不会得逞,所以入侵者也同样会努力保持领先。


4、AI应用技能不足


拥有一个良好的网络安全环境并不是只靠部署最新的技术就能实现,而是需要能够理解安全防护技术的原理并有效地利用它。除非是专业的网络安全人士,否则很难具备彻底使用AI技术的知识和技能。即便雇佣了AI专业人士来管理网络安全,但如果相关负责人员不了解算法及其工作原理,也无法获得理想的结果。而且,供应商所使用的算法模型可能并不适合企业的网络,如果企业对此并不了解,也将无法获悉这一点。


5、没有创造力和自发性


网络安全技术的目标是为了解决安全问题,因此并不存在完全通用的网络安全方法。就好像在“地面”部署的防御机制可能阻止不了来之“空中”的打击。为了能够及时找出恶意活动,必须要能够应用自发策略来管理特定的攻击。网络专业人士拥有实时遏制网络攻击的专业知识,他们可以用自己的创造力和自发性来应对独特的环境。而这一点正是AI技术所缺乏的,因为它主要是通过持续训练来养成分析和处置行为的。当一些未经过AI算法训练的恶意活动出现时,它将无法保护您的系统,因为AI技术缺乏人类即兴发挥、随机应变的第六感。


6、不切实际的期望


AI技术在网络安全领域的过度炒作让很多用户产生了不切实际的期望。似乎有了AI,就可以不用担心网络攻击了。但这是一个不能实现的承诺,因为AI技术远非完美。AI安全系统是由人设计的,因此根本无法避免漏洞的存在。尽管,AI算法可以为企业提供更好的决策和分析所需的数据,但它并不能为组织的网络安全需求提供“万能的”解决方案。因此,企业在应用AI技术前,必须准确了解它可以为自身的网络安全增加哪些价值,以及应如何实现这种价值。


本文为收集整理,文章部分观点不代表本站观点,如有侵权或其它问题请反馈客服。https://www.wgj7.com/cjwt/16172.html