第四章 分组密码和数据加密标准

数据加密标准(the data encryption standard, DES)。

高级数据加密标准(advanced encryption standard,AES)

1 传统分组密码结构

1.1 流密码与分组密码

刘密码每次加密数据流的一维或是一个字节。古典流密码的例子有:密钥自动产生的Vigenere密码和Vernam密码。流加密的密钥长度和明文字符的长度相同(字节相同或是位相同)

分组密码是将明文分组作为真题加密并且通常得到于明文等长的密文分组。典型的分组大小通常是64位或是128位。同流密码一样,两个用户要共享一个对称加密秘钥。
因此分组密码,则其实是复用了密钥。

1.2 Feistel密码结构的设计动机

分组密码作用在$n$位明文分组上,产生$n$位密文分组。因此一共有$2^n$个不同的明文分组(n位,只能产生$2^n$个不同的分组),且由于加密是可逆的。每一个明文分组对应一个密文分组。
因此只能由$2^n !$种变换(其实就是,在不指定特定的一种加密方式的时候,$2^n$种明文,加密后产生对应密文的可能情况)。

1.3 Feistel密码

Feistel建议使用成绩密码的概念来逼近理想分组密码。成绩密码指依次使用两个或两个以上的基本密码,所得结果的强度将强于所有单个密码的强度。(这段是废话)
特别的,Feistel建议:交替的使用代替和置换。
代替:每个明文元素或是元素组能够杯唯一的替换为相应的密文元素或元素组
置换:明文元素的序列被替换为该序列的一个置换。也就是说,序列里没有元素被添加,删除或替换,但序列里元素出现的顺序改变了。

这个建议是Claude Shannon提出的交替使用混淆和扩散的乘积密码的实际应用。
混淆和扩散:用来描述任何密码系统的两个基本构建。假设攻击者拥有明文统计特征的只是,或是某种人类语言的可读信息,其不同的字母出现的平率分布也是已知的。那么密码分析者就能够推塔出密钥或是其中的一部分。
扩散指的是使用明文的统计特征小三在米文中。通过让每个明文数字尽可能的影响多个密文数字,也就是说每个密文数字被多个明文数字影响。这样统计接口婴儿小时。密文中各字母出现的频率更加趋于一致。在二进制分组密码中,对明文进行置换后在使用某个函数作用,重复多次就可以获得较好的扩散效果。
每个分组密码都是明文分组到密文分组的变换。这个变换有依赖于密钥。扩散的方法是尽可能的使用明文和密文间的统计关系变得复杂。
混淆:尽可能的是密文和加密秘钥间的统计关系更加复杂,组织攻击者发现密钥。即使攻击者拥有一些密文的统计特征信息,利用密钥产生密文的方式的复杂性使得推导密钥极其困难。

1.4 Feistel密码结构

Feistel提出的结构。机密算法的输入长为$2w$位的明文分组和密钥$K$。明文分组被分为等长的两部分:$LE_0$,$RE_0$.这凉拌数据经过$n$轮迭代后组合密文分组。第$i$轮迭代输入$LE_{i-1}$和$RE_{i-1}$来自于上一轮的迭代输出。而每次迭代的密钥$K_i$则是由初始的密钥$K$推到而来的。一般而言,$K$不同于$K_i$。可以使用任意的轮数
没轮迭代都有相同的结构,代替作用在数据的左半部分,他通过轮函数$F$作用域数据的有半部分后,与左半部分数据进行异或来完成。每轮迭代的轮函数是相同的,但是输入的子密钥$K_i$不用。

Feristel密码结构的实现依赖于一下的参数和特征:

  1. 分组长度:分组长度越长一位这数据越安全,来自于更好的扩散性,传统上64位分组长度比较合理。但是会增加加密解密的时间。
  2. 密钥长度:密钥长度越长意味着安全性较高,来自于抗穷举攻击能力和更好的混淆性。现在一般认为64位密钥还不够,一般长度为128.增加了加密解密的时间
  3. 迭代轮数:Feistel密码结构的本质在于单轮不能够提供足够的安全性,而多伦加密能够取得很高的安全性。典型的论述是16
  4. 子密钥产生算法:子密钥产生越复杂,密码分析就越困难
  5. 轮函数:同上

Feistel解密过程
机密过程和加密过程一致:将密文作为算法的输入,但是逆序使用子密钥$K_i$。

2数据加密标准

在AES提出之前(2001年),数据加密标准DES是一直悲观凡使用的加密方案。DES采用64位分组长度和56位密钥长度。将64位的输入经过一系列的变换得到64位的输出。
解密则使用了相同的步骤和相同的密钥。

2.1 DES加密

DES明文长为64位,密钥长为56位。
明文处理:
64位的明文经过实处置换IP被重新排列。进行16轮相同函数的作用,每轮作用都是置换和代替。最后一轮输出64位,

2.2 DES解密

明文或密钥的微小改变将对密文产生很大的影响是任何一个加密算法需要的好兴致。
当明文和密钥的某一位发生变化也会导致密文的很多位发生变化,被称为雪崩效应。如果改变很小,变化很小,可能会给分析者提供缩小搜索密钥或是明文空间的渠道

2.3 DES强度

主要集中在密钥长度和算法本身的性质上
密钥长度:56位的密钥长度。随着cpu性能的提升,威胁DES。
DES算法的性质:S盒?但目前没有发现S盒存在的致命弱点。

计时攻击?跳过

猜你喜欢

转载自www.cnblogs.com/perfy576/p/8977529.html
今日推荐