DES的明文分组长度,密文分组长度均为64bit,密钥长度为56bit,因为老师不给课件,没办法了只能盗用百度的图来说明DES的加解密过程
S-BOX: 比如 101100,取头尾10,对应10进制位2,也就是查第二行,中间为0110,对应10进制为6,查第六列,得2,注意,反过来化为2进制时要补齐四位比如0010
也就是说经过压缩和查表101100压缩为0010
DES的特点:
1.加解密共用一套系统,加密机,解密机用一套降低了成本
2.密钥长度短只有56bit,不能抵抗穷举攻击,密钥量只有2^56约为10^17
3.存在弱密钥和半弱密钥问题,弱密钥Ek*Ek=I,也就是说两次加密得到明文,DES存在四个弱密钥全1,全0,先全1后全0,先全0后全1,相当于只有一个子密钥而不是16个
加密时ki的顺序为k1,k2,k3,k4,....,k16,解密时顺序为k16,k15,k14....k1
接下来我们看下为什么经过16次轮询算法和IP与IP逆后会得到明文
对不住..........我可能我对DES理解也不透测,周末上课再问问老师,再来更新
2.对称加密的应用
2.1.电子密码本(ECB, Electronic Codebook)
把明文分块,分别对这些块进行加密,最后组合在一起
缺点:
1.不能隐藏明文的模式信息:相同明文<=>相同密文,同样信息多次出现可能泄露
2.对明文攻击是可能的:信息块可能被替换重排
3.误差传递:明文块损坏=>密文损坏
优点:
1.适用于传输短消息
2.简单有效
3.可以并行实现
2.2.密码分组链接方式(CBC, Cipher Block Chaining)
1.无法并行计算,只能串行加密,效率相对低,但解密可以并行计算(密文已知)
2.相同明文<=>不同密文
3.安全性优于ECB
4.信息块不易被替换,重排,删除,重放,误差传递:密文块损坏=>两明文块损坏(自己和下一块的解密)
5.适用于长度大于64位的报文,还可以进行用户鉴别是大多系统的标准,如SSL
2.3.密码反馈方式(CFB)
2.4.输出反馈方式(OFB)
2.5.分组密码的攻击方式
分组密码的攻击分为:唯密文攻击,已知明文攻击,选择明文攻击,选择密文攻击
攻击复杂度:
数据复杂度:输入的数据量
处理复杂度:处理数据所需的数据量
网友评论