差分分析(differential cryptanalysis)
是一種選擇明文攻擊,其基本思想是:通過(guò)分析特定明文差分對(duì)相對(duì)應(yīng)密文差分影響來(lái)獲得盡可能大的密鑰。它可以用來(lái)攻擊任何由迭代一個(gè)固定的輪函數(shù)的結(jié)構(gòu)的密碼以及很多分組密碼(包括DES),它是由Biham和Shamir于1991年提出的選擇明文攻擊。
差分分析涉及帶有某種特性的密文對(duì)和明文對(duì)比較,其中分析者尋找明文有某種差分的密文對(duì)。這些差分中有一些有較高的重現(xiàn)概率,差分分析用這些特征來(lái)計(jì)算可能密鑰的概率,最后定為最可能的密鑰。據(jù)說(shuō)這種攻擊很大程度上依賴于S-盒的結(jié)構(gòu),然而DES的S-盒被優(yōu)化可以抗擊差分分析。
另外,分組加密的輪數(shù)對(duì)差分分析的影響比較大。如果DES只是使用8輪的話,則在個(gè)人計(jì)算機(jī)上只需要幾分鐘就可以破譯。但要是在完全的16輪情況下,差分分析僅比窮盡密鑰搜索稍微有效。然而如果增加到17或者18輪,則差分分析和窮盡密鑰搜索攻擊花費(fèi)同樣的時(shí)間。如果再把輪數(shù)增加到19輪的話,則用窮盡搜索攻擊比差分分析更容易了。
盡管差分分析是理論可破的,但因?yàn)樾枰ㄙM(fèi)大量的時(shí)間和數(shù)據(jù)支持,所以并不實(shí)用。