信息安全(1)之对称加密

栏目: 编程工具 · 发布时间: 6年前

内容简介:对称加密是使用相同的密钥对数据进行加密和解密。对称加密由于其安全性高和加解密速度快,被用于数据的加密。Alice 发送邮件给 Bob,但是邮件的内容是不能被其他人看到的,如何处理才能满足Alice的要求呢?DES是一种将64比特的明文加密称64比特的密文的对称加密算法。他的密钥长度是64比特,但其每隔7比特会设置一个用于

对称加密是使用相同的密钥对数据进行加密和解密。对称加密由于其安全性高和加解密速度快,被用于数据的加密。

场景

Alice 发送邮件给 Bob,但是邮件的内容是不能被其他人看到的,如何处理才能满足Alice的要求呢?

常用的算法

  1. DES

DES是一种将64比特的明文加密称64比特的密文的对称加密算法。他的密钥长度是64比特,但其每隔7比特会设置一个用于

错误检查的比特,因此实质上其密钥长度是56比特。

DES 已经可以被暴力破解,现在不应该再使用。

  1. 3DES

3DES是将DES重复3次所得到的一种密码算法。

3DES 策略为 加密 —> 解密 —> 加密的过程。采用这个过程的目的是为了兼容普通的DES。

3DES的密钥长度实质上是 56 x 3 = 168 比特。因此,其安全强度要远高于DES。

3DES处理速度不高。

  1. AES

AES也叫 Rijndael。是目前最常用的加密算法。其密钥长度可以为128、192、256比特。

关于Rijndael的详细说明如下链接:

rijndael-ammended.pdf

推荐使用:AES

分组密码模式

DES或者AES都是对某一特定长度的比特序列为一个单位进行加密,比如64比特,这个64比特的单位称为一个分组,以分组为单位进行处理的密码算法称为分组密码(block cipher)。

由于明文通常会大于一个分组,那么对整个明文的加密就需要一个迭代的过程,而迭代的方法称为模式。

模式种类

ECB (Electronic CodeBook mode)

电子密码本模式

信息安全(1)之对称加密

ecb

信息安全(1)之对称加密

ecb

ECB模式是将明文进行分组,然后对这些分组采用同样的密钥就行加密。相同内容的明文分组,得到的结果相同。

优点

简单、快速、支持并行计算

缺点

  • 明文中的重复排列会反映在密文中

  • 通过删除、替换密文分组可以对明文进行操作

  • 对包含某些比特错误的密文进行解密时,对应的分组会出错

  • 不能抵御重放攻击

ECB已经被证明有安全问题,因此,在工程里应该避免使用ECB模式对数据进行加密。golang标准已经将ECB模式剔除。

CBC(Cipher Block Chaining mode)

密码分组链接模式

信息安全(1)之对称加密

cbc

信息安全(1)之对称加密

cbc

CBC 模式是将前一个密文分组与当前明文分组进行XOR运算然后再进行加密。

因为,第一个明文分组前没有前一个密文分组,因此,需要事先准备一个长度为一个分组的比特序列来代替前一个密文分组,这个比特序列称为初始化向量(IV)。

优点

  • 明文的重复排列不会反映在密文中

  • 支持并行计算(仅解密)

  • 能够解密任意密文分组

缺点

  • 对包含某些错误比特的密文进行解密时,第一个分组的全部比特以及后一个分组的相应比特会出错

  • 加密不支持并行计算

CFB(Cipher FeedBack mode)

密文反馈模式

信息安全(1)之对称加密

cfb

信息安全(1)之对称加密

cfb

CFB模式是将前一个密文分组送回到密码算法的输入端进行加密然后与明文分组进行XOR,作为下一个密文分组。

CFB同样需要一个初始化向量。

优点

  • 不需要填充

  • 支持并行计算(仅解密)

  • 能够解密任意密文分组

缺点

  • 加密不支持并行计算

  • 对包含某些错误比特的密文进行解密时,第一个分组的全部比特以及后一个分组的相应比特会出错

  • 不能抵御重放攻击

不推荐使用

OFB(Output FeedBack mode)

输出反馈模式

信息安全(1)之对称加密

ofb

信息安全(1)之对称加密

ofb

OFB是将明文分组和密码算法的输出进行XOR来生成密文分组。

优点

  • 不需要填充

  • 可事先进行加密、解密的准备

  • 加密、解密使用相同结构

  • 对包含某些错误比特的密文进行解密时,只有明文中相对应的比特会出错

缺点

  • 不支持并行计算

  • 主动攻击者反转密文分组中的某些比特时,明文分组中相对应的比特也会被反转

不推荐使用

CTR(CounTeR mode)

计数器模式

信息安全(1)之对称加密

ctr

信息安全(1)之对称加密

ctr

CTR 模式每个分组对应一个逐次累加的计数器,通过对计数器进行加密来生成密钥流然后与明文进行XOR来生成密文分组。

优点

  • 不需要填充

  • 可事先进行加密、解密的准备

  • 加密、解密使用相同结构

  • 对包含某些错误比特的密文进行解密时,只有明文中相对应的比特会出错

  • 支持并行计算

缺点

  • 主动攻击者反转密文分组中的某些比特时,明文分组中相对应的比特也会被反转

部分源码实现

yhw818/crypto

参考资料


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Programming PHP

Programming PHP

Rasmus Lerdorf、Kevin Tatroe、Peter MacIntyre / O'Reilly Media / 2006-5-5 / USD 39.99

Programming PHP, 2nd Edition, is the authoritative guide to PHP 5 and is filled with the unique knowledge of the creator of PHP (Rasmus Lerdorf) and other PHP experts. When it comes to creating websit......一起来看看 《Programming PHP》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具