对称加密与非对称加密

对称加密算法

原理

  • 对称加密算法使用同一个密钥进行加密与解密,也就是用于加密信息的密钥同时可以用于解密。

过程分析

  • A:我要传送一个加密的文本给你,这个是用于解密的密钥。
  • B:我收到了信息和密钥,我用密钥成功解密了数据。

优缺点分析

优点

  • 可以看到加密解密的过程很简单,所以算法复杂度低,加解密速度快。

缺点

  • 信息的可靠性不依赖算法,依赖于密钥的可靠性,那么密钥的可靠传输又是一大问题。
  • 一旦无法保证密钥的可靠传输那么信息的可靠性将得不到保证。

典型算法

  • DES
  • 直接对数据进行与或运算



非对称加密

原理

  • 通信的双方持有各自的公钥和私钥,公钥用于加密数据,私钥用于解密数据,公钥可以对外公开,私钥必须自己妥善保存,在通信时,发送方将公钥与数据发送给接收方,接收方接收到数据后将自己的公钥和经过发送方公钥加密过的数据发送给发送方,发送方接收到接收方发送过来的信息后用自己的私钥对数据进行解密,此时通信双方互相持有对方的公钥,则可以加密发送的数据并保证对方可以正确解密。

过程分析

  • A(public keyA,private keyA):我发送了一份数据,这里面有我的公钥,你可以使用这个公钥对数据进行加密。
  • B(public keyB,peivate keyB,public keyA):我收到了数据,我发送了一份使用公钥A加密的数据,这里面有我的公钥,你可以使用这个公钥对数据进行加密。
  • A(public keyA,private keyA,public keyB):我收到了数据并成功用私钥解密了,我也收到了你的公钥。

此时通信双方互相持有对方的公钥,可以传输加密后的数据,并且各自持有解密的私钥,该私钥不用传输,所以只要本地环境是安全的,那么信息就是安全的。

优缺点分析

优点

  • 无需将解密的密钥进行传输,保证了数据的相对安全。

缺点

  • 可靠性依赖于算法,并且非对称加密算法一般复杂度比较高,所以加密解密速度相对较慢。

典型的算法

  • RSA