转载至ctf-wiki:个人认为写的很好
https://ctf-wiki.github.io/ctf-wiki/
所谓块加密就是每次加密一块明文,常见的加密算法有
块加密也是对称加密。
其实,我们也可以把块加密理解一种特殊的替代密码,但是其每次替代的是一大块。而正是由于一大块,明文空间巨大,而且对于不同的密钥,我们无法做一个表进行对应相应的密文,因此必须得有 复杂 的加解密算法来加解密明密文。
而与此同时,明文往往可能很长也可能很短,因此在块加密时往往需要两个辅助
在分组密码设计时,充分使用了 Shannon 提出的两大策略:混淆与扩散两大策略。
混淆,Confusion,将密文与密钥之间的统计关系变得尽可能复杂,使得攻击者即使获取了密文的一些统计特性,也无法推测密钥。一般使用复杂的非线性变换可以得到很好的混淆效果,常见的方法如下
扩散,Diffusion,使得明文中的每一位影响密文中的许多位。常见的方法有
目前块加密中主要使用的是结构是
迭代结构基本如下,一般包括三个部分
目前来说,轮函数主要有主要有以下设计方法
目前,密钥扩展的方法有很多,没有见到什么完美的密钥扩展方法,基本原则是使得密钥的每一个比特尽可能影响多轮的轮密钥。
原文:https://www.cnblogs.com/v01cano/p/11970585.html