什么是对称加密算法?
所谓对称,就是采用这种加密算法的双方,即加密方和解密方,两方同时使用相同的秘钥进行加密和解密,密钥是控制加密及解密过程的指令。
常用的对称加密算法有:
DES
全称为:Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1997年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),并授权在非密级政府通信中使用,随后该算法在国际上广泛流传开来。
3DES
即:TripleDES,是DES向AES过渡的加密算法,它使用3条56位的密钥对数据进行三次加密,是DES的一个更安全的变形。它以DES为基本模块,通过组合分组方法设计出分组加密算法。比起最初的DES,3DES更安全。
AES
全称为:Advanced Encryption Standard ,在密码学中又称为Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。
对称加密算法的优缺点?
优点
- 算法公开
- 计算量小
- 加密速度快
- 加密效率高
缺点
-
在数据传送前,发送方和接收方必须商定好密钥,然后双方都需要保存好密钥,如果一方的密钥被泄露,那么加密信息也就不安全了。
-
另外,每对用户每次使用对称加密算法时,都需要使用其他人不相同的唯一密钥,这会使得收,发双发所拥有的钥匙数量巨大,密钥管理成为双方的负担。
应用场景有哪些?
- 无需进行密钥交换的场景,如内部系统,事先就可以直接确定密钥。
- 常用于保存,传输 像用户手机号,身份证,卡号等敏感但能够被解密的数据。
什么是非对称加密算法?
与对称加密算法不同,非对称加密算法需要两个密钥,公钥(publickey)和私钥(privatekey)。
公开密钥与私钥是一对,如果用公开密钥对数据进行加密,只有用对应的私钥才能解密。如果用私钥对数据进行加密,那么只有用对应的公钥才能进行解密。因为加密和解密使用的是两个密钥,所以这种算法叫做非对称加密算法。
常用的非对称加密算法有:
RSA
全称为 Digital Signature Algorithm ,是第一个能同时用于加密和数字签名的算法,也易于理解和操作。
RSA是被研究得最广泛的公钥算法,从提出到现今的三十多年里,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。
DSA
全称为:Digital Encryption Standard,是基于整数有限域离散对数难题的,其安全性与RSA相比差不多。DSA的一个重要特点是两个素数公开,这样,当使用别人的p和q时,即使不知道私钥,你也能确认它们是否是随机产生的,还是做了手脚,这点RSA算法缺做不到。
ECC
全称为:Elliptic Curves Cryptography,也叫椭圆加密算法,是一种公钥加密体质,其教学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。
非对称加密算法的优缺点?
优点
非对称加密与对称加密相比 其安全性更好,非对称加密使用一对密钥,一个加密一个解密,而且公钥是公开的,私钥是另外保存的(或者其他人持有),就算公钥被泄露,没有私钥也不能解密。
缺点
加密和解密花费时间长,速度慢,只适合对少量数据进行加密。
应用场景有哪些?
-
适用于需要密钥交换的场景,如互联网应用,无法事先约定密钥。
-
一般用于签名和认证: