最原始的数据传输方式就是明文传输。所谓“明文”就是输入什么在文件中最终也显示什么,别人获取到文件后就知道里面的所有内容了。很显然,这种数据传输方式很不安全,被非法截取后,什么都暴露了。html
随后就有了加密传输的理念及相应的技术了,对原始的明文数据进行加密,加密后生成的数据称之为“密文”。密文与明文最大的区别就是打乱了原来明文数据中字符的顺序,甚至生成一堆非字符信息(一般称之为“乱码”),其目的就是让非法获取者看不懂里面真实的数据内容,这样即便数据被非法截取了,对方也看不懂里面究竟是讲什么,天然就没用了。
加密有两种方式:对称密钥加密和非对称密钥加密,下面分别予以介绍。
1. 对称密钥加密原理
在加密传输中最初是采用对称密钥方式,也就是加密和解密都用相同的密钥。对称密钥的加/解密过程如图1-17所示。甲与乙要事先协商好对称密钥,具体加解密过程以下(对应图中的数字序号):
(1)甲使用对称密钥对明文加密,并将密文发送给乙。
(2)乙接收到密文后,使用相同的对称密钥对密文解密,还原出最初的明文。
以上就是对称密钥加/解密原理,就两步,很简单。因此,对称密钥加密的优势是效率高,算法简单,系统开销小,适合加密大量数据。其缺点主要体如今安全性差和扩展性差。 git
图1-17 对称密钥加/解密过程示意图
安全性差的缘由在于进行安全通讯前须要以安全方式进行密钥交换(相互协商使用一致的密钥),不然被人截取后就麻烦了,别人也能够看到你的机密文件了;扩展性差表如今每对通讯用户之间都须要协商密钥,n个用户的团体就须要协商n*(n-1)/2个不一样的密钥,不便于管理;而若是都使用相同密钥的话,密钥被泄漏的机率大大增长,加密也就失去了意义。
目前比较常强的对称密钥加密算法,主要包含DES、3DES、AES算法,这些算法奖在本章后面介绍。
2. 非对称密钥加密原理
正由于对称密钥加密方法也不是很安全,因而想到了一种称之为“非对称密钥”加密(也称公钥加密)方法。所谓非对称密钥加密是指加密和解密用不一样的密钥,其中一个称之为公钥,能够对外公开,一般用于数据加密,另外一个相对称之为私钥,是不能对外公布的,一般用于数据解密。并且公/私钥必须成对使用,也就是用其中一个密钥加密的数据只能由与其配对的另外一个密钥进行解密。这样用公钥加密的数据即便被人非法截取了,由于他没有与之配对的私钥(私钥仅发送方本身拥有),也不能对数据进行解密,确保了数据的安全。
非对称密钥加/解密的过程如图1-18所示。甲要事先得到乙的公钥,具体加/解密过程以下(对应图中的数字序号): 算法
图1-18 非对称密钥加/解密过程示意图
(1)甲使用乙的公钥对明文加密,并将密文发送给乙。
(2)乙收到密文后,使用本身的私钥对密文解密,获得最初的明文。
非对称密钥的加/解密过程看似也很简单,也仅两步就能够实现了,但事要先不只双方获取本身的非对称密钥,还要双方把本身的公钥告诉对方。固然,非对称密钥加/解密方式的主要优势不是体如今其过程简单,而是它具备比对称密钥加/解密方式更高的安全性,由于加密和解密用的是不一样密钥,并且没法从一个密钥推导出另外一个密钥,且公钥加密的信息只能用同一方的私钥进行解密。
非对称密钥加密的缺点是算法很是复杂,致使加密大量数据所用的时间较长,并且因为在加密过程当中会添加较多附加信息,使得加密后的报文比较长,容易形成数据分片,不利于网络传输。
非对称密钥加密适合对密钥或身份信息等敏感信息加密,从而在安全性上知足用户的需求。目前比较经常使用的非对称密钥加密算法主要有DH(Diffie-Hellman)、RSA(Ron Rivest、Adi Shamirh、LenAdleman,这是三我的的名字中的第一个字母)和DSA(Digital Signature Algorithm,数字签名算法)算法。安全
以上内容摘自笔者刚刚上市的华为设备著做——《华为×××学习指南》,是国家十三五重点规划图书,是华为官方指定的ICT培训教材!本书配套实战视频课程即将发布,敬请关注本人课程中心:http://edu.51cto.com/lecturer/user_id-55153.html网络