Cryptography I 斯坦福大学 Dan Boneh——学习笔记2

1 Block ciphers 块加密

Cryptography I 斯坦福大学 Dan Boneh——学习笔记2_第1张图片
经典的块加密算法有:
1)3DES:n=64位,k=168位。n为block-len,k为key-len。
2)AES:n=128位,k=128位 或 192位 或 256位。
对应的PRP(Pseudo Random Permutation,一一映射)为:
1)3DES:K x X ⟶ X where X={0,1}64, K={0,1}168
2)AES:K x X ⟶ X where K=X={0,1}128

块加密通常通过轮函数round function迭代实现。注意下图中的n和上图的n值含义不同。
Cryptography I 斯坦福大学 Dan Boneh——学习笔记2_第2张图片
块加密的速度要低于stream流加密的速度。
Cryptography I 斯坦福大学 Dan Boneh——学习笔记2_第3张图片

1.1 DES(Data Encryption Standard)

1.1.1 DES演化历史

DES曾广泛用于银行自动清算(Automatic Clearing House, ACH)和商业领域。
1)二十世纪七十年代早期:Horst Feistel在IBM设计了Lucifer,其key-len=128 bits; block-len=128 bits;
2)1973年:美国国家标准局(National Bureau of Standards, NBS)征集块加密提案,IBM将Lucifer提交上去;
3)1976年:美国国家标准局采纳Lucifer使用DES作为安全标准,其key-len=56 bits;block-len=64 bits;
4)1997年:DES被蛮力攻击(穷尽秘钥搜索)破解;
5)2000年:美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)采纳Rijndael作为AES取代DES。

1.1.2 DES核心组成——Feistel Network

Feistel Network是很多加密算法的核心组成,但是AES加密算法没有使用Feistel Network。
Cryptography I 斯坦福大学 Dan Boneh——学习笔记2_第4张图片
以上为DES的加密网络,对应的解密网络为:
Cryptography I 斯坦福大学 Dan Boneh——学习笔记2_第5张图片

1.2 Triple-DES 3DES(DES加强版,抗蛮力攻击)

1.2.1 DES的安全风险(蛮力攻击)

Cryptography I 斯坦福大学 Dan Boneh——学习笔记2_第6张图片

1.2.2 Why 3DES?

2DES存在中途相遇攻击问题。该攻击不依赖于DES的任何特性,可用于攻击任何分组密码。
Cryptography I 斯坦福大学 Dan Boneh——学习笔记2_第7张图片
Cryptography I 斯坦福大学 Dan Boneh——学习笔记2_第8张图片
Cryptography I 斯坦福大学 Dan Boneh——学习笔记2_第9张图片

1.3 AES

1.3.1 AES历史

1)1997年4月15日,美国ANSI发起征集AES(advanced encryption standard)的活动,并为此成立了AES工作小组。
2)1997年9月12日,美国联邦登记处公布了正式征集AES候选算法的通告。对AES的基本要求是: 比三重DES快、至少与三重DES一样安全、数据分组长度为128比特、密钥长度为128/192/256比特。
3)1998年8月12日,在首届AES候选会议(first AES candidate conference)上公布了AES的15个候选算法,任由全世界各机构和个人攻击和评论。
4)1999年3月,在第2届AES候选会议(second AES candidate conference)上经过对全球各密码机构和个人对候选算法分析结果的讨论,从15个候选算法中选出了5个。分别是RC6、Rijndael、SERPENT、Twofish和MARS。
5)2000年4月13日至14日,召开了第3届AES候选会议(third AES candidate conference),继续对最后5个候选算法进行讨论。
6)2000年10月2日,NIST宣布Rijndael作为新的AES。经过3年多的讨论,Rijndael终于脱颖而出。
Rijndael由比利时的Joan Daemen和Vincent Rijmen设计。算法的原型是Square算法,它的设计策略是宽轨迹策略(wide trail strategy)。算法有很好的抵抗差分密码分析及线性密码分析的能力。

AES有3个key size可选,分别为:128位,192位和256位。
AES 的block size为:128位。

1.3.2 AES核心组成——Subs-Perm network

AES中没有使用DES中的Feistel Network,而是用了Subs-Perm Network。
Cryptography I 斯坦福大学 Dan Boneh——学习笔记2_第10张图片
以AES-128为例,其主要框架为:
Cryptography I 斯坦福大学 Dan Boneh——学习笔记2_第11张图片
其主要有三个部分组成:
1)ByteSub:一个1 byte S-box。256 byte table(易于计算)
2)ShiftRows:
Cryptography I 斯坦福大学 Dan Boneh——学习笔记2_第12张图片
3)MixColumns:
Cryptography I 斯坦福大学 Dan Boneh——学习笔记2_第13张图片

你可能感兴趣的:(基础理论)