对称加密和非对称加密的详细说明

原文链接

为什么要进行数据加密:
      随着人类社会逐渐步入信息时代,信息安全也越来越受到了关注。对计算机而言,信息表现为各种各样的数据,是否采用了适当的方法对数据进行加密,已成为保障数据安全的首要方法。为了保密,一般在网络上传输的重要数据文件都可以对其进行加密,但数据加密也不一定是为了在网络间传输文件,而是为了保证机密文件即使失窃后也不泄漏其中的重要信息。

数据加密的作用:
      数据加密在网络上的作用就是防止重要信息在网络上被拦截和窃取

对称加密:


      采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。 对称加密效率很高,它是网络传送大量数据中最常用的一类加密方法。

对称加密算法的安全性和效率:
     (1)对称加密是最快速、最简单的一种加密方式,加密与解密用的是同样的密钥。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。
     (2)对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解;但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。密钥的大小既要照顾到安全性,也要照顾到效率


图解加密算法:

对称加密和非对称加密的详细说明_第1张图片

对称加密的秘钥需要在网络间传输,但是密钥是保密的,那么怎么让对端的两个用户安全的获取这个密钥呢?密钥在网络中又该如何传输?解决办法只能是非对称加密了。

非对称加密(RSA非对称加密算法):


      非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥和私钥。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥

图解非对称加密:

对称加密和非对称加密的详细说明_第2张图片

对称加密算法和非对称加密算法的区别:     


     (1)对称加密算法的加密和解密的过程是非常快的,效率非常高,但是安全性不高
     (2)非对称加密算法的加密和解密是非常缓慢的,效率不比对称加密算法高,但是安全性极高

    对称加密和非对称加密都有各自的特点,有没有什么方法将对称加密和非对称加密的优点结合起来用于网络中安全的数据传输呢?


    答案是肯定的。我们将这两个加密算法结合起来,可以分两步走。
     (1)用户A申请一个对称加密算法的密钥,然后获取用户B的公钥,通过用户B的公钥将申请到的用于以后数据加密的对称加密的密钥进行加密,然后传送给用户B,用户B通过自己的私钥对这个密文进行解密,就获取到用户A和用户B之间用于数据安全传输的对称加密的密钥。
     (2)至此,用户A和用户B都拥有了两端传送密文用于加密和解密的密钥,然后以后数据通过对称加密技术进行用这个密钥进行加密和解密。

例如:
     (1) Alice需要在银行的网站做一笔交易,她的浏览器首先生成了一个随机数作为对称密钥。
     (2) Alice的浏览器向银行的网站请求公钥。
     (3) 银行将公钥发送给Alice。
     (4) Alice的浏览器使用银行的公钥将自己的对称密钥加密。
     (5) Alice的浏览器将加密后的对称密钥发送给银行。
     (6) 银行使用私钥解密得到Alice浏览器的对称密钥。
     (7) Alice与银行可以使用对称密钥来对沟通的内容进行加密与解密了。

图解:

对称加密和非对称加密的详细说明_第3张图片

总结


     (1) 对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。
     (2) 非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。
     (3) 最强加密策略,并且速度快的办法就是:对称加密和非对称加密混合使用,将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方使用对称加密来进行沟通了。
 

 

 

 

 

 

 


 

你可能感兴趣的:(Android)