分组密码:将一个明文块作为一个整体来处理,并用来产出等长的密文块的一种密码。
流密码:对数字流一次加密一位或者一个字节的密码。
Feistel建议使用乘积密码的概念来逼近理想分组密码。
乘积密码:是指依次使用两个或两个以上的基本密码,所得结果的密码强度将强于所有单个密码的强度
分组密码的基础:为统计分析制造障碍
混淆:使明文和秘钥之间的关系变得复杂
扩散:使明文和密文之间的关系变得复杂
分组密码类型:DES、2DES、3DES、AES
DES:16轮迭代
密钥生成
DES:明文长度64位,秘钥长度56位 3DES:秘钥长度168位
DES:初始置换, 轮操作包括:扩展置换、与子密钥异或、压缩置换、置换、与另一部分进行异或
雪崩效应:当明文或秘钥发送微小变化时,密文就会发生显著变化。
双重DES:秘钥长度112位,中间相遇攻击。
中间相遇攻击:这是一种针对双重加密算法的攻击,需要已知的明文和密文对,在本质上明文被加密在双重加密中产生一个中间值,密文被解密在双重加密中产生一个中间值。
为了防止中间相遇攻击:使用3DES
3DES:为了增强DES的强度,将DES重复3次所得到的的一种密码算法,3DES是加密->解密->加密->,秘钥长度168位。
AES:秘钥长度128位(10轮)、192位(12轮)、256位(14轮)
AES-128
字节代换:S盒
行移位:第一行不变,第二行循环左移1位,第三行循环左移2位,第四行循环左移3位。
列混淆:
溢出之后模10001
轮秘钥加:模2加不进位不借位。
分组密码的工作模式:
电码本模式ECB:用相同的秘钥分别对明文分组单独加密。
密文分组链接模式CBC:加密算法的输入是上一个密文分组和下一个明文分组的异或。
加密:C1=E(K,P1IV),Cn=E(K,PnCn-1)
解密:P1=D(K,IV)C1,Pn=D(K,Cn-1)Cn-1
假设P1本来就有一位发生了错误,这个错误要扩散至多少个密文分组?对接收者解密后的结果有什么影响?
C1=E(K,IVP1),C2=E(K,C1P2)......Cn=E(K,Cn-1Pn)所以会影响所有的密文分组。
P1=D(K,C1)IV,P2=D(K,C2)C1=D(K,E(K,C1P2)),C1=C1C1P2=P2。影响P1。
传输C1时发生的错误将会影响哪些明文分组?
P1=D(K,C1)IV,P2=D(K,C2)C1,P3=D(K,C3)C2。所以会影响P1,P2。
密文反馈模式CFB:一次处理输入的s位,上一个密文分组作为下一个加密算法的输入,产生的伪随机数输出与明文异或后作为下一个单元的密文。
在8位的CFB模式中,若传输中一个密文字符发生了一位错,这个错误将传播多远?
P1-P9
输出反馈模式OFB
计算器模式CTR文章来源:https://www.toymoban.com/news/detail-426097.html
文章来源地址https://www.toymoban.com/news/detail-426097.html
到了这里,关于密码学复习-2 分组密码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!