一般互联网上加密算法分为三种:
                对称加密、单向加密、非对称加密
下面就来介绍下如何通过上面的三种加密算法实现数据的机密性、完整性及身份验证

对称机密算法:
     对称加密算法提供加密算法本身并要求用户提供**以后,能够结合算法和**将明文转换为密文,反之,之所以称它为对称加密,是因为加密和解密使用的**是相同的。对称加密算法:加密算法和解密算法,只不过使用的是相同**。


介绍如何通过加密算法实现数据的完整性、机密性及身份验证  
个人理解:
对称加密虽然解决了数据在传输过程得到了数据的完整性,那么如果Tom给许多用户发送数据Data时,都要在本地生成对称**并通过一种**交换方式(Hiffie-Hellman)传送给对方,这样的话Tom用户必须记住所有**对吧!不然的话,如果其中一个用户截取到数据,也可以查看数据内容,为了保证数据的机密性,Tom必须为每个用户生成一组**来保证数据的机密性。
所以说对称**解决了数据的机密性,但不便于管理**。
常见的对称加密算法有:
DES:Data Encrption Standard (默认为56bit)
3DES:经过3词DES加密方式
AES:Advanced Encrption Standard (高级加密标准)
         AES192(192bit)   AES256(256bit)    AES512(512bit)
Blowfish

单向加密算法:(保证了数据的完整性,但不能保证数据的机密性)
单向机密算法的特征:
输入一样:输出必然一样

雪崩效应:输入微小改变,将引起结果巨大该表
定长输出:无论原始数据多大,其结果大小一样

不可逆:无法根据数据的指纹及特征码,还原原始数据
下面通过一个命令来看看雪崩效应的效果:(/etc/passwd为例)

介绍如何通过加密算法实现数据的完整性、机密性及身份验证

好了,我就通过下面的图片来了解下,单向加密算法是如何进行的?

介绍如何通过加密算法实现数据的完整性、机密性及身份验证
 注:如果中间JerryTom发来的数据截获,并将数据重新利用加密算法进行将数据提取指纹及特征码,发送给JackJack并不能保证数据时Tom发送的,也就是说单向加密可以保证数据的完整性,但不能保发送者的身份。

介绍如何通过加密算法实现数据的完整性、机密性及身份验证

 

此时,JerryTom发来的数据截获到本地,并通过Diffie-Hellman进行生成**,并将Data数据进行加密,发送给JackJack收到数据 却不能真正判断发送方的身份。    

单向加密类型:
MD4 
MD5 128bit

SHA1 160bit
SHA192    SHA256   SHA384

非对称加密算法:(公钥加密算法)
非对称加密算法+CA:保证了用户的身份,并解决了对称加密算法的**管理机制
非对称**算法通常在本地生成一对**,一个是私钥,而另一个是公钥.一般公钥是从
私钥中提取的。所以公钥加密,私钥解密,私钥加密,公钥解密。
我们可以通过一个命令来实现生成私钥,并在私钥中提取公钥(如图
介绍如何通过加密算法实现数据的完整性、机密性及身份验证

 
RSA:可以进行数据的加密和签名
DSA:只能用于签名
ElGAMAL


概念补充:什么是CA:
CA:就是一个权威的发证机构,而且是公认,所以在本地生成一对**,一个是私钥,另一个是公钥,将公钥发送给CA,让CA机构进行数字签名,这让就可以验证其身份,这样在通过单向机密的结合实现数据的机密性、完整性及身份验证的信息。

介绍如何通过加密算法实现数据的完整性、机密性及身份验证