天天看點

安全加密

  機密的東西為了安全起見,對其進行加密,所謂安全加密是指不能被破解的加密。

  有人認為凡是加密都能被破解,那是愚見。能被破解都是自己不嚴謹造成的。

  加密實際就是一種數值變換,一般都是制作一些随機數組作為密鑰進行加密的,密鑰數組的品質很重要,如果密鑰數組能通過NIST檢測就算是比較好的。

  先看下面的例子:有一個亂碼組成的檔案,我們對這個檔案進行加密,結果依然是亂碼。這樣的檔案就是不可破解的。因為你無法判斷解密是否成功 。除非你事先對亂碼檔案進行了儲存,或測量其CRC值,通過比對得到解密是否成功的結論。其實隻要密碼正确,密文完好無損解密必然會成功的。密文也是一種很嬌氣的東西,任何損壞都可能造成不能解密的結果。由此得到結論:亂碼檔案不可破解。因為你沒有衡量标準。

  有了上面的基礎,安全加密就非常容易了,最簡單的方式就是對明文進行二次加密。第一次加密就使明文變為亂碼檔案了,再次加密就完成了安全加密。隻要密文完好、軟體完好、密碼正确,就可以保證解密成功。即使量子計算機來了也不怕,它不是不好解密的問題,而是不能解密對什麼攻擊都不怕,因為沒有前進方向,再強的運算能力也無用武之地。

  如果明文本身就是亂碼那麼一次加密就是安全的。

  傳統加密軟體的緻命缺陷:傳統加密軟體能夠将本來不可破解的亂碼檔案(無任何特征)變為能夠破解的東西。它是如何做到的呢?原來它是将明文特征儲存在密文中,當你解密時一旦發生錯誤,它将報告你錯誤。這樣做的結果是對于任何檔案使用窮舉攻擊都能被破解,因為密碼長度是有限的,當你窮舉了所有情況必定将正解囊括其中。為了一點微不足道的使用者體驗,出賣加密軟體的本分——資料安全,實在是很可悲的事情。

繼續閱讀