数据加密技术研究

i 说数据
数据加密仍是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用。

随着信息化的高速发展,人们对信息安全的需求接踵而至,人才竞争、市场竞争、金融危机、敌特机构等都给企事业单位的发展带来巨大风险,内部窃密、黑客攻击、无意识泄密等窃密手段成为了人与人之间、企业与企业之间、国与国之间的安全隐患。

什么是数据加密

数据加密指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文。它的核心是密码学。

数据加密仍是计算机系统对信息进行保护的一种最可靠的办法。它利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息的安全的作用。

数据加密行业分析

信息安全传统的老三样(防火墙、入侵检测、防病毒)成为了企事业单位网络建设的基础架构,已经远远不能满足用户的安全需求,新型的安全防护手段逐步成为了信息安全发展的主力军。例如主机监控、文档加密等技术。

当今主流的两大数据加密技术是磁盘加密和驱动级解密技术。

对称加密技术

对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,这种方法在密码学中叫做对称加密算法,对称加密算法使用起来简单快捷,密钥较短,且破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,而且对计算机功能要求也没有那么高。IDEA加密标准由PGP(Pretty Good Privacy)系统使用。

我们常见的经典对称加密算法有DES、IDEA、AES、国密SM1和SM4。接下来,我们一个个来看。

DES

DES全称是Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,密钥长度为56位,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。

关于DES,还有一点特别有意思。DES包含一个关键模块:S盒,其设计的原理一直没有公开。因此,很多人都相信,这个S盒中存在后门,只要美国政府需要,就能够解密任何DES密文。

IDEA

IDEA全称是International Data Encryption Algorithm,即国际数据加密算法,是上海交通大学教授来学嘉与瑞士学者James Massey联合提出的,这种算法是在DES算法的基础上发展出来的,类似于三重DES。密钥长度为128位。通过支付专利使用费(通常大约是每个副本$6.00),可以在全世界广泛使用IDEA。相比于DES和AES的使用受到美国政府的控制,IDEA的设计人员并没有对其设置太多的限制,这让IDEA在全世界范围内得到了广泛地使用和研究。

AES

AES全称是Advanced Encryption Standard,即高级加密标准,提供了128位、192位和256位三种密钥长度。通常情况下,我们会使用128位的密钥,来获得足够的加密强度,同时保证性能不受影响。目前,AES是国际上最认可的密码学算法。在算力没有突破性进展的前提下,AES在可预期的未来都是安全的。

国密SM1和SM4

SM1全称是Cryptographic Algorithm,SM4全称是Cryptographic Algorithm,SM1和SM4是中国政府提出的加密算法。SM1算法不公开,属于国家机密,只能通过相关安全产品进行使用。而SM4属于国家标准,算法公开,可自行实现使用。国密算法的优点显而易见:受到国家的支持和认可。

非对称加密技术

1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。相对于“对称加密算法”这种方法也叫做“非对称加密算法”。与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。

经典的非对称加密算法包括:RSA、ECC和国密SM2。接下来,我们一个个来看。

RSA

RSA是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。RSA公开密钥密码体制的原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。RSA是比较经典的非对称加密算法,它的主要优势就是性能比较快,但想获得较高的加密强度,需要使用很长的密钥。

ECC

ECC全称是Elliptic Curve Cryptography,即椭圆加密算法。ECC是基于椭圆曲线的一个数学难题设计的。目前学术界普遍认为,椭圆曲线的难度高于大质数难题,160位密钥的ECC加密强度,相当于1088位密钥的RSA。因此,ECC是目前国际上加密强度最高的非对称加密算法。

国密SM2

SM2全称是Cryptographic Algorithm。国密算法SM2也是基于椭圆曲线问题设计的,属于国家标准,算法公开,加密强度和国际标准的ECC相当。而国密的优势在于国家的支持和认可。

散列算法

散列算法应该是最常见到的密码学算法了。大量的应用都在使用MD5或者SHA算法计算一个唯一的id。作为密码学的算法,散列算法除了提供唯一的id,其更大的利用价值还在于它的不可逆性。当用户注册,提交账号密码时,作为一个安全的应用,是绝对不能够存储明文密码的。因此,我们对用户的密码通过散列算法进行计算,存储最终的散列值。

除了不可逆性,在密码学上,我们对散列算法的要求还有:鲁棒性(同样的消息生成同样的摘要)、唯一性(不存在两个不同的消息,能生成同样的摘要)。

经典的散列算法包括MD5、SHA、国密SM3。接下来,我们一个个来看。

MD5

MD5全称是Message-Digest Algorithm 5,即消息摘要算法,也是哈希散列2算法。MD5可以用来生成一个128位的消息摘要,MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。MD5有两个特性是很重要的,第一:明文数据经过散列以后的值是定长的;第二:是任意一段明文数据,经过散列以后,其结果必须永远是不变的。前者的意思是可能存在有两段明文散列以后得到相同的结果,后者的意思是如果我们散列特定的数据,得到的结果一定是相同的。

SHA

SHA全称是Secure Hash Algorithm,即安全散列算法。SHA家族的五个算法,分别是SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512,由美国国家安全局(NSA)所设计,并由美国国家标准与技术研究院(NIST)发布;是美国的政府标准。和MD5相同,虽然SHA的唯一性也被破解了,但是这也不会构成大的安全问题。目前,SHA-256普遍被认为是相对安全的散列算法,也是我最推荐你使用的散列算法。

国密SM3

SM3全称是Cryptographic Algorithm,其属于国家标准,算法公开,加密强度和国际标准的SHA-256相当。和国密SM2一样,它的优势也在于国家的支持和认可。

总的来说,在使用的时候,你要记住下面这些内容:对称加密具备较高的安全性和性能,要优先考虑。在一对多的场景中(如多用户访问),存在密钥分发难题的时候,我们要使用非对称加密;不需要可逆计算的时候(如存储密码),我们就使用散列算法。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论