文档介绍:第一部分第三章对称密钥密码结构与DES张权2012年秋季第2页/共131页本章提纲?对称密钥密码结构?数据加密标准(DES)第3页/共131页对称密钥密码结构?加解密算法公开?ke=kd(或相互容易推出)?加密算法足够强大,仅依靠密文不可能译出明文?安全性依赖于密钥的安全性,而不是算法安全性?密钥的安全性包括:密钥空间、随机性、保密性?算法符号描述:EK(M)=C , DK(C)=M第4页/共131页对称密钥密码结构?现代分组密码设计的出发点:为统计分析制造障碍,只能暴力分析?分组密码设计要求?Diffusion(弥散)密文没有统计特征,明文一位影响密文的多位,密钥的一位也影响密文的多位?Confusion(混淆)明文与密文、密钥与密文的依赖关系充分复杂?结构简单、易于实现第5页/共131页?Feistel结构?基于循环迭代?采用替代与换位?实现混淆与弥散对称密钥密码结构第6页/共131页对称密钥密码结构?Feistel结构?明文= L0 和R0,经过n 轮循环后组合得到密文?每一轮循环的结构都一样?轮函数(Li, Ri) = g(Li-1, Ri-1, Ki)?Li = Ri-1?Ri= Li-1⊕F(Ri-1, Ki)?替代+置换?替代:Ri应用函数F,输出和Li异或?置换:数据的两个部分进行互换?Ki≠K且Ki≠Kj(i≠j)第7页/共131页?Feistel结构?Feistel型密码解密过程:解密过程与其加密过程实质是相同的对称密钥密码结构第8页/共131页对称密钥密码结构?Feistel型密码设计原则?Feistel具体实现依赖的参数和设计特点?分组大小:分组越大?安全性越高(其他条件相同),?加密/解密速度越慢?密钥大小:密钥长度越长?安全性越高?加密/解密速度越慢?循环次数:循环越多?安全性越高?加密/解密速度越慢?子密钥产生算法:算法越复杂?密码分析越困难?轮函数:复杂性越高?抗击密码分析的能力越强第9页/共131页对称密钥密码结构?Feistel型密码设计原则?Feistel具体实现考虑的其它因素?快速加解密算法:在很多情况下,加密算法的实用有效性至关重要,因此加解密算法的执行速度是一个重要的考虑因素?便于安全性分析:如果算法能够简洁地描述清楚,那么就很容易通过分析方法找到密码分析上的弱点,也能够对其牢固程度建立信心第10页/共131页数据加密标准(DES)?DES算法的产生背景?DES,美国国家标准局NBS,除国防部以外的其它部门的计算机系统,数据加密标准?1973 年5 月15 日,NBS 开始公开征集标准加密算法,并公布了设计要求:?提供高度的安全性、复杂性?有详细的说明,并易于理解?安全性取决于密钥的保密性?适用于非国防部的所有用户?加解密高效、算法实现经济?可以出口到任意国家或地区