
分組密碼算法事實上則是在密鑰的控制下,由某個置換完成針對明文分組的加密變換。為確保密碼算法的安全強度,對其要求如下。
(1)分組長度足夠大
在分組長度比較小的時候,分組密碼和古典的代替密碼有類似之處,它仍然留下了明文的明確信息。這種統計信息有機會讓攻擊者利用,攻擊者可以有效地耗盡明文空間並取得密碼轉換本身。
(2)密鑰量足夠大
由密碼密鑰確定的密碼更改只是密碼的一小部分總替換,若此部分充分小,攻擊者可成功窮舉明文空間確定的全部置換。此時,攻擊者便可解密密文,來獲取有意義的明文。
(3)密碼變換足夠複雜
使攻擊者除窮舉法外,沒有其他快速便捷的破譯方式。
在實踐中經常採取以下兩種方法來達到上面的要求。
1)把大的明文分組分為一些小段,分別實現所有小段的加密置換,最終實施合併操作,實現使總的分組長度夠大。這樣做有助於實際分析與評測密碼,來確保密碼算法的強度。
2)採用乘積密碼。乘積密碼則為是顺利获得某種方式持續實施兩個及以上密碼變換,例如,設存在兩個子密碼變換T1與T2,便先顺利获得T1加密明文,然後再顺利获得T2對得到的結果進行加密。若合適的話,乘積密碼可有效地隱藏密碼變換的不足,形成相對其中任一個密碼變換強度還大的密碼系統。
