携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情
对称加密是什么
对称加密指的是加密和解密需要使用相同的秘钥,所以如果要使用对称加密来保证通信安全(密码学中叫做机密性)的话,通信双方需要事先共享秘钥。
常见对称密码算法
des算法
- des算法的秘钥长度是64位,有效位为56位,有8位是奇偶校验位,由于有效位太短,所以现在可以在时间允许的范围内,被暴力破解了
- des算法采用的是feistel网络设计的,所以他的加密算法(加密过程)和解密算法(解密过程)是一样的,如果不想研究des算法里面的细节,只需要记住feistel网络这个特性即可
AES算法
- AES算法的分组长度固定为128位,秘钥长度可选为128位,192位,256位
- AES算法的加密算法和解密算法并不是相同的
SM1算法
- sm1是国密提供的对称加密算法,它是内嵌在硬件设备里面的,算法细节不对外公开
- sm1的分组长度为128位
SM4算法
- SM4也是国密提供的对称加密算法,不过它的算法细节是对外公开的,和DES,AES算法一样
- SM4分组长度和秘钥长度都是128位的
对称加密的作用
加密通信,防⽌信息在不安全⽹络上被截获后,信息被⼈读取或篡改。
对称加密的破解
破解思路
- 拿到⼀组或多组原⽂-密⽂对
- 设法找到⼀个密钥,这个密钥可以将这些原⽂-密⽂对中的原⽂加密为密⽂,以及将密⽂解密为原⽂的组合,即为成功破解
反破解
- ⼀种优秀的对称加密算法的标准是,让破解者找不到⽐穷举法(暴⼒破解法)更有效的破解⼿段,并且穷举法的破解时间⾜够⻓。
对称加密的缺点
密钥泄露:不能在不安全⽹络上传输密钥,⼀旦密钥泄露则加密通信失败。