
分組密碼是把明文消息編碼得到的數字序列分成長是n的組,各組分別在密鑰控制下變換為一樣長的輸出數字序列。
密鑰一樣時,分組密碼變換長是n的輸入明文組是一樣的,因此僅研究對隨意一組明文數字的變換法則。將明文轉化為二進制後,對其分組,每組採用相同的加密體制,並分別得到密文,再轉化為字符。
為了確保加密算法的安全性,對密碼算法有以下要求。
分組長度n得充分大,讓分組替換字母表中的元素數量2n夠大,避免明文窮舉攻擊法有效果。分組密碼DES、IDEA和FEAL等用的都是n=64,使窮舉攻擊非常難達到。
密鑰量得充分大,儘可能去除弱密鑰且讓全部密鑰一樣的好,來避免使密鑰窮舉攻擊產生效果。不過密鑰又不能太長,為了方便密鑰的管理。
充分散播與混淆明文與密鑰,不存在簡單的關係能依據,能抵抗一切已知的攻擊,讓對手在破譯時除用窮舉法,沒有其他捷徑可走。
在顺利获得軟件實現時,應選簡單的運算,使在子段上的密碼運算比用標準處理器的運算容易,像加、乘、移位等操作;為了方便硬件實現,加、解密過程間的區別應只是顺利获得秘鑰生成的密鑰表不同。如此,加密與解密就能用同一器件完成了。
