密码编码学初探——分组加密技术(DES&AES)

基本术语:分组密码 混淆 扩散 Feistel结构 可逆映射 数据加密标准(DES [64位]) 高级加密标准(AES[128位])

1.流密码与分组密码

流密码:即一次只加密一个字节或者一位的加密方式。
分组密码:将明文分组作为整体加密,且常得到的是与明文等长的密文分组。

可以发现流密码,严重依赖加***。
分组密码与流密码一样,两个用户需要共享一个对称加***。使用某些工作模式,分组密码可以获得和流密码相同的效果。

2.Feistel 密码结构和优点

密码编码学初探——分组加密技术(DES&AES)
2.2Feistel 密码结构
就以最后一轮加密为例解密:

因为:
Rn+1=LnF(kn,Rn)
假设:
Ln=Rn+1F(kn,Ln+1)
Ln+1=Rn
有:

Ln=[LnF(kn,Rn)]F(kn,Rn)
Ln=Ln[F(kn,Rn)F(kn,Rn)]

又∵
[AB]C=A[BC]
AA=0
A0=A

即有Ln=Ln
假设成立

2.2Festel结构的优点:

  1. 替代、置换交互使用迭代多轮,使得**与密文之间的对应关系被打乱,从而达到混淆的效果。
  2. 加解密可以使用同一个函数,仅更改**顺序即可,节省一半的编码。
  3. 雪崩效应,应用该结构的DES可以达到50%的影响。(即一位明文的改变可以影响一半密文)

3.DES和AES的异同

基础结构,Feistel和SPN(代换-置换网络) 通过迭代代替和置换达到扩散和混淆的目的
S盒非线性置换、SPN的行位移和列混淆”
一次加密的数据,DES(一半),AES(全部)
S盒的产生原理,DES(未知),AES(已知)
**长度,DES(64),AES[128,256] 中任意32倍数均可

4.AES加密

密码编码学初探——分组加密技术(DES&AES)