DES、ECB与CBC加密方式有何具体差异?
- 内容介绍
- 文章标签
- 相关推荐
本文共计761个文字,预计阅读时间需要4分钟。
在PHP中,有多种加密方式,其中DES、ECB和CBC是三种常见的加密模式。今天小 编将为大家简要解析这三种加密模式的区别,并提供一些参考资料。
ECB模式:优点:
1.简单;
2.适用于并行计算。
缺点:
1.相同明文块加密结果相同,安全性较低;
2.不适合加密大量数据。
DES加密模式:
优点:1.加密速度快;
2.密钥长度较短。
缺点:
1.密钥长度较易被破解;
2.加密速度快可能导致安全性下降。
CBC加密模式:
优点:1.相比ECB模式,安全性更高;
2.可以处理大量数据。
缺点:
1.加密速度较慢;
2.需要初始化向量IV。
参考资料:
1.PHP官方文档:https://www.php.net/manual/zh/function.mcrypt-module.open.php
2.加密算法原理:https://zh.wikipedia.org/wiki/%E5%8A%A0%E5%AF%86%E7%AE%97%E6%B3%95
3.PHP加密示例:https://www.php.net/manual/zh/book.mcrypt.php
在php中,有好几种加密方式,其中就有DES、ECB和CBC这三种加密,今天小编就带大家了解一下这三种加密方式的区别,有需要的可以参考一下。
ECB模式:
优点:
1. 简单;
2. 有利于并行计算;
3. 误差不会被传递;
缺点:
1. 不能隐藏明文的模式;
2. 可能对明文进行主动攻击;
DES ECB(电子密本方式)其实非常简单,就是将数据按照8个字节一段进行DES加密或解密得到一段段的8个字节的密文或者明文,最后一段不足8个字节(一般补0或者F),按照需求补足8个字节进行计算(并行计算),之后按照顺序将计算所得的数据连在一起即可,各段数据之间互不影响。
CBC模式:
优点:
1. 不容易主动攻击,安全性好于ECB,是SSL、IPSec的标准;
缺点:
1. 不利于并行计算;
2. 误差传递;
3. 需要初始化向量IV;
DES CBC模式
(密文分组链接方式)有点麻烦,它的实现机制使加密的各段数据之间有了联系。其实现的机理如下:
加密步骤如下:
1. 首先将数据按照8个字节一组进行分组得到D1D2......Dn(若数据不是8的整数倍,用指定的PADDING数据补位)
2. 第一组数据D1与初始化向量I异或后的结果进行DES加密得到第一组密文C1(初始化向量I为全零)
3. 第二组数据D2与第一组的加密结果C1异或以后的结果进行DES加密,得到第二组密文C2
4. 之后的数据以此类推,得到Cn
5. 按顺序连为C1C2C3......Cn即为加密结果。
这是分组密码的工作模式 CBC是密码分组链接模式ECB是电码本模式
推荐学习:php视频教程
本文共计761个文字,预计阅读时间需要4分钟。
在PHP中,有多种加密方式,其中DES、ECB和CBC是三种常见的加密模式。今天小 编将为大家简要解析这三种加密模式的区别,并提供一些参考资料。
ECB模式:优点:
1.简单;
2.适用于并行计算。
缺点:
1.相同明文块加密结果相同,安全性较低;
2.不适合加密大量数据。
DES加密模式:
优点:1.加密速度快;
2.密钥长度较短。
缺点:
1.密钥长度较易被破解;
2.加密速度快可能导致安全性下降。
CBC加密模式:
优点:1.相比ECB模式,安全性更高;
2.可以处理大量数据。
缺点:
1.加密速度较慢;
2.需要初始化向量IV。
参考资料:
1.PHP官方文档:https://www.php.net/manual/zh/function.mcrypt-module.open.php
2.加密算法原理:https://zh.wikipedia.org/wiki/%E5%8A%A0%E5%AF%86%E7%AE%97%E6%B3%95
3.PHP加密示例:https://www.php.net/manual/zh/book.mcrypt.php
在php中,有好几种加密方式,其中就有DES、ECB和CBC这三种加密,今天小编就带大家了解一下这三种加密方式的区别,有需要的可以参考一下。
ECB模式:
优点:
1. 简单;
2. 有利于并行计算;
3. 误差不会被传递;
缺点:
1. 不能隐藏明文的模式;
2. 可能对明文进行主动攻击;
DES ECB(电子密本方式)其实非常简单,就是将数据按照8个字节一段进行DES加密或解密得到一段段的8个字节的密文或者明文,最后一段不足8个字节(一般补0或者F),按照需求补足8个字节进行计算(并行计算),之后按照顺序将计算所得的数据连在一起即可,各段数据之间互不影响。
CBC模式:
优点:
1. 不容易主动攻击,安全性好于ECB,是SSL、IPSec的标准;
缺点:
1. 不利于并行计算;
2. 误差传递;
3. 需要初始化向量IV;
DES CBC模式
(密文分组链接方式)有点麻烦,它的实现机制使加密的各段数据之间有了联系。其实现的机理如下:
加密步骤如下:
1. 首先将数据按照8个字节一组进行分组得到D1D2......Dn(若数据不是8的整数倍,用指定的PADDING数据补位)
2. 第一组数据D1与初始化向量I异或后的结果进行DES加密得到第一组密文C1(初始化向量I为全零)
3. 第二组数据D2与第一组的加密结果C1异或以后的结果进行DES加密,得到第二组密文C2
4. 之后的数据以此类推,得到Cn
5. 按顺序连为C1C2C3......Cn即为加密结果。
这是分组密码的工作模式 CBC是密码分组链接模式ECB是电码本模式
推荐学习:php视频教程

