官术网_书友最值得收藏!

1.4 DES加密算法的變型

1.4.1 多重DES加密算法

通過(guò)多次使用DES加密算法就可以獲得更強(qiáng)的密碼,密鑰長(zhǎng)度也可以成倍地增長(zhǎng),但其代價(jià)是速度會(huì)減慢。在多重DES加密算法中,以密鑰長(zhǎng)度為112比特的三重DES加密算法最為常見(jiàn),其框圖如圖1.4.1所示。

圖1.4.1 三重DES加密算法框圖

1.4.2 子密鑰獨(dú)立的DES加密算法

在子密鑰獨(dú)立的DES加密算法中,每輪的子密鑰都是獨(dú)立的,不是由單個(gè)的56比特密鑰生成的。因?yàn)?6輪中的每輪都要求48比特的密鑰,這就意味著這種變型的密鑰長(zhǎng)度為768比特,極大地增加了DES加密算法的實(shí)現(xiàn)難度。

比哈姆(Eli Biham)和沙米爾(Adi Shamir)證明了該變型仍可用261個(gè)選擇明文來(lái)破譯,并不需要強(qiáng)有力地攻擊2768次,因此,改變密鑰的生成方式并不能使DES加密算法變得更安全。

1.4.3 S盒可選的DES加密算法

S盒可選的DES加密算法是指將DES加密算法的改變集中在S盒上。在一些設(shè)計(jì)中,S盒的次序是隨密鑰變化的,也有一些設(shè)計(jì)者使S盒的內(nèi)容是可變的。但比哈姆和沙米爾證明, DES加密算法的S盒的設(shè)計(jì),甚至S盒自身的內(nèi)容抗差分分析都是最優(yōu)的。DES加密算法的8個(gè)S盒次序的改變(并不改變S盒的內(nèi)容)都會(huì)使得DES加密算法變?nèi)踉S多,甚至DES加密算法的一個(gè)S盒的內(nèi)容稍做改變,也會(huì)導(dǎo)致DES內(nèi)容易于破譯。

目前,還沒(méi)有人證明,就所知的攻擊方法而言,會(huì)有更好的S盒。

1.4.4 S盒可變的DES加密算法

差分分析僅在分析者已知S盒結(jié)構(gòu)的前提下才有效,一些設(shè)計(jì)者使S盒根據(jù)密鑰進(jìn)行變化,并使其保密,那么差分分析就不再適用了。

1.4.5 CRYPT(3)加密算法

CRYPT(3)加密算法是UNIX操作系統(tǒng)上DES的加密算法變型,主要用于對(duì)口令實(shí)施單向變換,也可用于加密,是一個(gè)S盒和E盒均與密鑰相關(guān)的DES加密算法的變型。

1.4.6 廣義的DES(GDES)加密算法

GDES加密算法是既為了提高DES加密算法的速度,又為了提高其強(qiáng)度而設(shè)計(jì)的,該算法將明文分組長(zhǎng)度增加,非線性函數(shù) f 則保持不變。GDES加密算法對(duì)不同長(zhǎng)度的明文分組進(jìn)行操作,將加密分組分成q個(gè)32比特的子分組,精確數(shù)目依賴(lài)于整個(gè)分組長(zhǎng)度(在設(shè)計(jì)中分組長(zhǎng)度是可變的,但在實(shí)現(xiàn)中卻必須固定),通常令 q 等于明文分組長(zhǎng)度除以32。GDES加密算法編制框圖如圖1.4.2所示。

圖1.4.2 GDES加密算法編制框圖

非線性函數(shù)f在每輪最右邊的分組上計(jì)算一次,其結(jié)果同其他部分進(jìn)行模2加,然后將模2加后的結(jié)果循環(huán)右移。GDES加密算法的輪數(shù)n是不變的,最后一輪稍有不同,使得加密和脫密過(guò)程僅在子密鑰的次序上有所不同(如DES加密算法)。事實(shí)上,當(dāng)q=2、n=16時(shí), GDES加密算法就是DES加密算法。

比哈姆和沙米爾證明了,使用差分分析破譯q=8、n=16的GDES加密算法僅需6個(gè)選擇明文。如果使用不相關(guān)的子密鑰,則僅需16個(gè)已知明文。q=8、n=22的GDES加密算法可以由48個(gè)選擇明文破譯;q=8、n=31的GDES加密算法僅要50萬(wàn)個(gè)選擇明文就能破譯;q=8、n=64的GDES加密算法需要249個(gè)已知明文方能破譯,仍然比DES加密算法更弱。事實(shí)上,比DES加密算法快的任何GDES加密算法都不如DES加密算法安全。DES加密算法變型的差分分析如表1.4.1所示。

表1.4.1 DES加密算法變型的差分分析

1.4.7 DESX加密算法

DESX是RSA數(shù)據(jù)安全公司設(shè)計(jì)的DES加密算法的一種變型。自1986年以來(lái),它就一直是MailSafe電子郵件安全程序的密碼算法,同時(shí)它也是BSafe工具箱中的密碼算法之一。DESX加密算法在加/脫密時(shí)仍然使用DES加密算法,只是在DES加密算法的輸入和輸出中添加了附加密鑰。具體情形是,除了56比特的DES加密算法密鑰,DESX加密算法還有一個(gè)64比特的附加密鑰,在DES加密算法的第一輪之前,64比特的附加密鑰同明文進(jìn)行模2加,隨后使用一個(gè)單向函數(shù),以整個(gè)120比特的密鑰作為輸入進(jìn)行計(jì)算后得到一個(gè)64比特的生成密鑰,并在DES加密算法的最后一輪與密文進(jìn)行模2加。這種方式的變型使DESX加密算法比DES加密算法有更強(qiáng)的抵抗窮盡搜索攻擊能力,同時(shí)也改進(jìn)了抗差分分析和線性分析的能力,它分別要求261個(gè)選擇明文和260個(gè)已知明文。

1.4.8 Ladder-DES加密算法

Ladder-DES加密算法將DES加密算法作為每輪使用的非線性函數(shù),其框圖如圖1.4.3所示。

圖1.4.3 Ladder-DES加密算法框圖

主站蜘蛛池模板: 寿阳县| 景泰县| 龙门县| 六盘水市| 科尔| 长武县| 罗山县| 寻甸| 潜江市| 库伦旗| 扶风县| 双鸭山市| 安平县| 乐山市| 东台市| 林周县| 宿州市| 二手房| 开平市| 大荔县| 邢台县| 兖州市| 叶城县| 太湖县| 调兵山市| 虞城县| 柘城县| 梁山县| 谷城县| 桃江县| 英德市| 隆昌县| 宁津县| 铁岭县| 巴彦县| 广平县| 福泉市| 汝南县| 鄂尔多斯市| 凤冈县| 剑川县|