• 热门专题

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

作者:dayong_guo  发布日期:2013-04-09 08:42:22
Tag标签:加密算法  完整性  机密性  身份验证  
  •  一般互联网上加密算法分为三种:
                    对称加密、单向加密、非对称加密
    下面就来介绍下如何通过上面的三种加密算法实现数据的机密性、完整性及身份验证。

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


     


     

    解:
    对称加密虽然解决了数据在传输过程得到了数据的完整性,那么如果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


    单向加密算法:(保证了数据的完整性,但不能保证数据的机密性)
    单向机密算法的特征:
    输入一样:输出必然一样
    雪崩效应:输入微小改变,将引起结果巨大该表
    定长输出:无论原始数据多大,其结果大小一样 www.it165.net
    不可逆:无法根据数据的指纹及特征码,还原原始数据
    下面通过一个命令来看看雪崩效应的效果:(/etc/passwd为例)

     


     

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

     


     

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

     


     

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

    单向加密类型:
    MD4
    MD5 128bit


    SHA1 160bit
    SHA192    SHA256   SHA384

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


     

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

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


     


     
     
About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规