2023-07-31 20:36:58 來源:嗶哩嗶哩
(資料圖片)
DES加密之前寫過一篇文章來介紹具體運算過程的,整體過程就是針對明文分塊進(jìn)行加密操作,分組加密的算法思想在其中運用,核心是明文與密鑰的異或操作,步驟主體就是擴(kuò)散與混淆,用與防止暴露其統(tǒng)計特征。針對密文的數(shù)理統(tǒng)計出現(xiàn)規(guī)律才是密碼學(xué)的最大對手。
異或操作是線性運算的操作,無論明文與不同的密鑰進(jìn)行異或運算多少次,異或運算滿足結(jié)合律,一定等同于與某一個密鑰進(jìn)行單詞運算的結(jié)果,所以多次異或操作是無法提升加密算法的安全性,必須得破除線性規(guī)律特征。
異或操作受到青睞的原因不僅是硬件層面支持導(dǎo)致運算速度極快,更在于加密解密操作均可直接使用明文/密文與密鑰異或即可。后者的特性導(dǎo)致了任意明文密文對的泄露,密鑰也有可能泄露。
擴(kuò)散就是將32bit長度的明文按照一定算法擴(kuò)充為48bit長度,混淆就是分組從S盒表格中取得對應(yīng)的數(shù)字組合得到新的值,由48bit壓縮成32bit。在擴(kuò)散與混淆操作中引入了非線性變換,解決了密碼暴露的問題,破除了異或操作中的線性規(guī)律特征。
雪崩效應(yīng)在DES算法中也有明確的體現(xiàn),由于需要有16輪的加密操作,輸入明文1bit位的變化就會導(dǎo)致輸出明文巨大的變化,選擇明文攻擊時的統(tǒng)計規(guī)律也很難被分析。
關(guān)鍵詞: