/Encryption

对称加密和非对称加密

对称加密

  • 定义
采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密。
  • 常用算法
DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK等。
  • 优缺点
优点:
对称加密算法的优点是算法公开、计算量小、加密速度快、加密效率高。

缺点:
1.安全性低,在数据传送前,发送方和接收方必须商定好秘钥,然后双方都能保存好秘钥。如果一方的秘钥被泄露,加密信息也就不安全了。
2.用户每次使用对称加密算法时,都需要使用其他人不知道的唯一秘钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。

非对称加密

  • 定义
非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey),公开密钥与私有密钥是一对,如果用公开密钥对数据进行
加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个
不同的密钥,所以这种算法叫作非对称加密算法。
  • 加密过程
甲方生成一对密钥并将其中的一把作为公用密钥(publickey)向其它方公开;得到该公用密钥(publickey)的乙方使用该密钥对机密信息进行加密
后再发送给甲方;甲方再用自己保存的另一把专用密钥(privatekey)对加密后的信息进行解密。甲方只能用其专用密钥(privatekey)解密由其公
用密钥(publickey)加密后的任何信息。

从发信方和收信方的角度看,如果发信方想发送只有收信方才能解读的加密信息,发信方必须首先知道收信方的公钥,然后利用收信方的公钥来
加密原文;收信方收到加密密文后,使用自己的私钥才能解密密文。也就是说采用不对称加密算法,收发信双方在通信之前,收信方必须将自己
早已随机生成的公钥送给发信方,而自己保留私钥。
  • 常用算法
RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)等。

二者区别

  1. 用于消息解密的密钥值与用于消息加密的密钥值不同;
  2. 非对称加密算法比对称加密算法慢数千倍,但在保护通信安全方面,非对称加密算法却具有对称密码难以企及的优势。