密码学 ->对称加密

933 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情

对称加密是什么

对称加密指的是加密和解密需要使用相同的秘钥,所以如果要使用对称加密来保证通信安全(密码学中叫做机密性)的话,通信双方需要事先共享秘钥。

image.png

常见对称密码算法

des算法
  1. des算法的秘钥长度是64位,有效位为56位,有8位是奇偶校验位,由于有效位太短,所以现在可以在时间允许的范围内,被暴力破解了
  2. des算法采用的是feistel网络设计的,所以他的加密算法(加密过程)和解密算法(解密过程)是一样的,如果不想研究des算法里面的细节,只需要记住feistel网络这个特性即可
AES算法
  1. AES算法的分组长度固定为128位,秘钥长度可选为128位,192位,256位
  2. AES算法的加密算法和解密算法并不是相同的
SM1算法
  1. sm1是国密提供的对称加密算法,它是内嵌在硬件设备里面的,算法细节不对外公开
  2. sm1的分组长度为128位
SM4算法
  1. SM4也是国密提供的对称加密算法,不过它的算法细节是对外公开的,和DES,AES算法一样
  2. SM4分组长度和秘钥长度都是128位的

对称加密的作用

加密通信,防⽌信息在不安全⽹络上被截获后,信息被⼈读取或篡改。

对称加密的破解

破解思路

  1. 拿到⼀组或多组原⽂-密⽂对
  2. 设法找到⼀个密钥,这个密钥可以将这些原⽂-密⽂对中的原⽂加密为密⽂,以及将密⽂解密为原⽂的组合,即为成功破解

反破解

  • ⼀种优秀的对称加密算法的标准是,让破解者找不到⽐穷举法(暴⼒破解法)更有效的破解⼿段,并且穷举法的破解时间⾜够⻓。

对称加密的缺点

密钥泄露:不能在不安全⽹络上传输密钥,⼀旦密钥泄露则加密通信失败。