对称加密算法
对称算法使用一个密钥,给定一个明文和一个密钥,加密产生密文,其长度和明文大致相同,解密时,使用读密钥与加密密钥相同。常见的对称加密算法有DES、3DES、AES、Blowfish、IDEA、RC5、RC6。
对称加密优缺点
优点:计算量小、加密效率高,与公钥加密相比运算速度快。
缺点:不能作为身份验证,密钥发放困难,安全性得不到保证。
对称加密的四种工作模式
1、电子密码本模式 Electronic Code Book(ECB)
这种模式是最早采用和最简单的模式,它将加密的数据分成若干组,每组的大小跟加密密钥长度相同,然后每组都用相同的密钥进行加密。
要点
·数据分组,每组长度与密钥长度相同
·每组分别加密
·适用加密小消息
优点:
算法简单,有利于并行计算,且误差不会被传送;
缺点:
电子编码薄模式用一个密钥加密消息的所有块,如果原消息中重复明文块,则加密消息中的相应密文块也会重复,容易对明文进行主动的攻击。所以,电子编码薄模式适于加密小消息。
2、加密块链模式 Cipher Block Chaining(CBC)
CBC 模式的加密首先也是将明文分成固定长度的块,然后将前面一个加密块输出的密文与下一个要加密的明文块进行异或操作,将计算的结果再用密钥进行加密得到密文。
第一明文块加密的时候,因为前面没有加密的密文,所以需要一个初始化向量。跟ECB 方式不一样,通过连接关系,使得密文跟明文不再是一一对应的关系,破解起来更困难,而且克服了只要简单调换密文块可能达到目的的攻击。
要点
·数据分组,长度与密钥相同。
·长度一样的初始化向量。
·初始化向量与密文抑或之后,再加密,结果与下一个数据块抑或再加密。
优点:
不容易主动攻击,安全性好于ECB,适合传输长度长的报文,是SSL、IPSec的标准。
缺点:
密文不利于并行计算,容易造成误差传递,且需要初始化向量IV。
3、加密反馈模式 Cipher Feedback Mode(CFB)
面向字符应用程序的加密要使用流加密算法,可以使用加密反馈模式进行加密。在此模式下,数据用更小的单元加密,如可以是8位,这个长度小于定义的块长(通常是 64 位)。
要点
·数据分组,数据块更小。
·64位向量左移8位,再补上上轮所得的密文高8(c)位。
·密钥和向量加密得k,k高8位与明文异或得到下一轮的密文。
优点:
分组密码转化为流模式,隐藏了明文模式,可以及时加密传送小于分组的数据。
缺点:
密文不利于并行计算,如果一个明文单元损坏,则会影响多个密文单元,需要唯一的初始化向量。
4、输出反馈模式 Output Feedback Mode(OFB)
输出反馈模式与 CFB 相似,惟一差别是,CFB 中密文填入加密过程下一阶段,而
在 OFB 中,初始化向量加密过程的输入填入加密过程下一阶段。
要点
·数据分组,数据块更小(这里取8bit)。
·64位向量左移8位,再补上上轮所得的k高8(c)位。
·密钥和向量加密得k。
·k高8位与明文异或得到下一轮的密文。
优点:
分组密码转化为流模式,隐藏了明文模式,可以及时加密传送小于分组的数据。
缺点:
密文不利于并行计算,如果一个明文单元损坏,则会影响多个密文单元,且对明文的主动攻击是可能的。
免责声明:
本站部分公开资料来源于网络,如果您发现有侵犯您的知识产权作品,请与我们取得联系,我们会及时修改或删除。
关注公众号NeXt8060 ,与万人一起关注HALCON图像处理与机器视觉。长按二维码添加关注。