《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全1/107第第88章章网络安全网络安全加密:防止信息落入非法用户之手认证:在对话前确认对方的身份认可(签名):如何防止客户抵赖完整性控制:如何确认你收到的信息在传输过程中没有被篡改《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全2/107本章将讨论:本章将讨论:通信安全认证协议E-mail的安全Web安全密码系统对称密钥算法公钥算法数字签名公钥管理《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全3/107密码系统密码系统传统的数据加密替换密码变位密码《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全4/107传统的数据加密模型传统的数据加密模型E加密算法D解密算法密钥源明文P明文P密文C=Ek(P)解密密钥K另一安全通道入侵者被动入侵者只能监听主动入侵者可以修改TnbmP725Fig.8-2加密模型(对称密钥)《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全5/107传统的数据加密模型说明传统的数据加密模型说明明文P用加密算法E和加密密钥K加密,得到密文C=EK(P)在传送过程中可能出现密文截取者到了接收端,利用解密算法D和解密密钥K,解出明文为DK(C)=DK(EK(P))=P截取者又称为攻击者,或入侵者在这里我们假定加密密钥和解密密钥都是一样的,但实际上它们可以是不一样的(即使不一样,这两个密钥也必然有某种相关性)密钥通常是由一个密钥源提供,当密钥需要向远地传送时,一定要通过另一个安全信道Kerckhoff法则:算法是公开的,密钥是保密的《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全6/107密码系统密码系统传统的数据加密替换密码变位密码《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全7/107替换密码替换密码凯撒密码a-D、b-E、c-F、d-G、e-H……s-V……、z-Ceg.明文:accesscontrol可变为:DFFHVVFRQWURO密钥为:移4位改进1:允许移位k位,k为密钥,解密要尝试25种可能《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全8/107替换密码的再改进替换密码的再改进用对照表abcdefghijklmnopqrstuvwxyzQWERTYUIOPASDFGHJKLZXCVBNM第二行的26个字母次序即为密钥解密要尝试26!种情况。假设1µs试一种情况则需1013年但解密方法可用1:分布式计算2:用字频法3:猜测字或短语《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全9/107密码系统密码系统传统的数据加密替换密码变位密码《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全10/107每个码不变,但位置改变,最常用的是列变位加密例:密钥为MEGABUCK明文为:pleasetransferonemilliondollarstomyswissbankaccountsixtwotwo密文为:AFLLSKSOSELAWAIATOOSSCTCLNMOMANTESILYNTWRNNTSOWDPAEDOBUOERIRICXBMEGABUCK74512836pleasetransferonemilliondollarstomyswissbankaccountsixtwotwoabcdTnbmP729Fig.8-3变位密码变位密码变位密码《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全11/107本章将讨论:本章将讨论:通信安全认证协议E-mail的安全Web安全密码系统对称密钥算法公钥算法数字签名公钥管理《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全12/107对称密钥算法对称密钥算法变换盒P盒和替换盒S盒乘积密码DES数据加密AES—高级加密标准加密模式《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全13/107变换盒:变换盒:PP盒盒P盒:实现变位P盒0123456736071245方式:用电路改变输入线的输出排列,图中列出8根线的变位,如这8位从上到下指定为01234567则该P盒的输出为36071245(a)P盒TnbmP737Fig.8-6乘积密码的基本元素《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全14/107替换盒:替换盒:SS盒盒S盒:实现替换按图中的替换,如果8个八进制数01234567一个接一个地输入,那么输出序列将变为24506713,即2替换0,4替换1,注意n个比特的输入需要2n条交换线S盒解码3~8编码8~30110000123456701234567(b)S盒TnbmP737Fig.8-6乘积密码的基本元素《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全15/107对称密钥算法对称密钥算法变换盒P盒和替换盒S盒乘积密码DES数据加密AES—高级加密标准加密模式《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全16/107乘积密码乘积密码将一串盒子连接起来,组成乘积密码P1S1S2S3S4P2S5S6S7S8P3S9S10S11S12P4乘积密码(c)乘积TnbmP737Fig.8-6乘积密码的基本元素《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全17/107乘积密码的实现乘积密码的实现第一站对12根输入线作变换处理,从理论上讲,第二站可以为一个S盒,它把12比特数映射为另一个12比特数,但是,这样一个S盒的中段内需要212=4096根跨接线,将12比特的输入分为4个3比特组,各组独立地进行替换处理,尽管这种方法没有通用性,但它却非常有效,在乘积密码中配置足够多的站,可以使输出成为输入的非常复杂的函数《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全18/107对称密钥算法对称密钥算法变换盒P盒和替换盒S盒乘积密码DES数据加密AES—高级加密标准加密模式《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全19/107DESDES数据加密数据加密DES(DataEncryptionStandard)数据加密标准加密算法固定,根据不同的密钥产生不同的结果明文按64比特块加密,生成64bit的密文,此算法有一个56bit的密钥作为参数(另加8bit的奇偶位)《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全20/10758504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157123……6364明文输入64bit123……6364置换后的64bit12……3212……32置换后的左32bit置换后的右32bit初始置换初始置换即第一站,将64bit明文作与密钥无关的变换,得到一个乱序的明文《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全21/1071616轮迭代的乘积变换轮迭代的乘积变换Li-1⊕f(Ri-1,Ki)Li-1Ri-132b32bLiRi(b)其中一站的详况64b明文初始变换迭代1迭代2迭代1632b交换反向变向56比特密钥....64b密文(a)概况倒数第二站将左32bit与右32bit互换,余下的16站功能相同,但使用密钥的不同函数,解密用的密钥与加密密钥相同,只是解密步骤正好相反TnbmP739Fig.8-7数据加密标准《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全22/10740848165624643239747155523633138646145422623037545135321612936444125220602835343115119592734242105018582633141949175725123……6364置换后的64bit123……6364输出密文的64bit逆初始置换逆初始置换即最后一站是16轮迭代后的64bit组进行变换,得到输出的密文组,是第一站变换的逆变换《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全23/107其中函数其中函数ff执行的步骤执行的步骤11、、22根据一个固定的变位和复制规则把32比特的Ri-1扩展成48比特的数E把E与密钥Ki异或,并分成8组,每组6比特,分别送入8个不同的S盒3212345456789891011121312131415161716171819202120212223242524252627282928293031321《ComputerNetworksV4》cs.sjtu2004-5-16第8章网络安全24/107其中函数其中函数ff执行的步骤执行的步骤33每个S盒的64种可能的输入,将被映射为4比特的输出8个S盒中某一个的6bit输入映射为4bit的输出的过程X5X4X3X2X1X0101011行列012346789101061292612113101558111711132121413414821371484151121404150123511121314151512590721195386731050914100613X5X0111001《ComputerNetworksV4》cs.sjtu2004-5