簡述Khazad加密算法

熟悉著名科幻小說《指環(huán)王》的朋友對Khazad這個名字一定不會陌生,而我們今天要說的就是以其命名的加密算法——Khazad算法。

Khazad算法簡介

Khazad加密算法是歐洲NESSIE密碼計劃中進入第二階段的候選加密算法之一,由巴西的Paulo Barreto和比利時的Vincent Rijmen共同設計,后者也是AES的設計者。

Khazad算法是一種迭代對合分組密碼,采用64比特的分組長度,密鑰長度為128比特,整體結構是代換/置換網絡。

Khazad算法

Khazad算法的加密

Khazad算法共有8輪,每輪加密分為3個部分:S-盒,矩陣形式的乘積運算(線性擴散層)和密鑰加。整個密碼算法遵循寬軌跡策略,支持密碼模塊的重復使用,適合各類實現(xiàn)的折衷考慮。

Khazad算法是根據寬軌跡策略設計的,采用寬軌跡策略時,分組密碼的輪變換由不用的可逆變換組成,每種變換有各自的功能和要求,線性擴散層保證經過幾輪變換后,全部的輸出比特取決于全部的輸入比特,非線性層保證這種依賴關系是復雜的并具有非線性的性質,密鑰加產生各輪所需的子密鑰。寬軌跡策略的優(yōu)點之一是不同的模塊之間可以彼此相互獨立。

Khazad算法

Khazad算法的安全性

Khazad算法兩輪的差分特征概率不大于2的負45次方,四輪密碼迭代就可以抵抗飽和攻擊,三輪迭代就可以抵抗Biham-Keller攻擊,同時密碼對內插攻擊、相關密鑰攻擊是免疫的,四輪以上迭代的函數對截斷攻擊時免疫的。

并且Khazad算法具有很好的隨機特性,簡單的來說就是,對于Khazad算法而言,最有效的攻擊就是窮舉密鑰搜索,因此它對所有已知攻擊具有足夠的安全冗余度。


綜上所述,Khazad算法具有很強的靈活性,可以節(jié)省大量的儲存空間,并減少處理器指令,使得其可以在各種平臺上實現(xiàn)應用。

免責聲明:素材源于網絡,如有侵權,請聯(lián)系刪稿。