加密算法的分类

对称加密

常见算法:DES、3DES、TDEA、Blowfish、RC5、IDEA

优点:加密、解密速度快,适合对大数据量进行加密

缺点:在网络中需要分发密钥,增加了密钥被窃取的风险

非对称加密

常见算法:RSA、Rabin、DSA、ECC、Elgamal、D-H

优点:安全(私钥仅被一方保存,不用于网络传输)

缺点:加密、解密计算量较大,速度较慢

大部分的非对称加密算法可以实现被公钥加密的内容私钥可解、被私钥加密的内容公钥可解,归功于大数取模和欧拉函数。比如 RSA 加密算法

摘要/哈希/散列

常见算法:MD4、MD5、SHA1

优点:密文占用空间小(定长的短字符串);难以被破解

缺点:摘要算法,无法通过摘要还原

面试题

对称加密,非对称加密,摘要的概念

密钥:密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥,分别应用在对称加密和非对称加密上。

对称加密:对称加密又叫做私钥加密,即信息的发送方和接收方使用同一个密钥去加密和解密数据。对称加密的特点是算法公开、加密和解密速度快,适合于对大数据量进行加密,常见的对称加密算法有 DES、3DES、TDEA、Blowfish、RC5、 IDEA。

非对称加密:非对称加密也叫做公钥加密。非对称加密与对称加密相比,其安全性更好。对称加密的通信双方使用相同的密钥,如果一方的密钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对密钥,即公钥和私钥,且二者成对出现。私钥被自己保存,不能对外泄露。公钥指的是公共的密钥,任何人都可以获得该密钥。用公钥或私钥中的任何一个进行加密,用另一个进行解密。

摘要:摘要算法又称哈希/散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用 16 进制的字符串表示),算法不可逆。