信息论——密码学笔记(七)
一、信息論
Claude Elmwood Shannon于1948年首先確立了現代信息論。
1、信息量(amount of information):假設所有消息是等可能的,對消息中所有可能的值進行編碼所需要的最少位數。
例如:數據庫中有關“一周中的每一天”這一字段包含不超過3位的信息,因為此消息可以用3位進行編碼:
000=星期日
001=星期一
010=星期二
011=星期三
100=星期四
101=星期五
110=星期六
111是未用的
2、熵(entropy):一條消息M的信息量可以通過熵來度量,表示為H(M)。通常,一條消息的熵是log2nlog2n,其中n是消息所有可能的值(假設每一個值是等可能的)。
在密碼系統中,熵H(K)=log2KH(K)=log2K,K為密鑰空間大小。一般說來,熵越大,破譯越困難。
例如,密鑰為64位的密碼系統的熵為64,密鑰為56位的密碼系統的熵為56。
一條消息的熵也表示了它的不確定性(uncertainty),即當消息被加密稱密文時,為了獲取明文,需要解密的明文的位數。例如,如果一個密文解密后要么是“男”,要么是“女”,那么此消息的不確定性就是1。密碼分析者為了恢復此消息,僅需選擇1位。
3、語言信息率(rate of language):r=H(M)/N,其中N是消息的長度。
絕對信息率(absolute rate):假設每個字符串都是等可能的,對每個字母而言可被編碼的最大位數。如果在一種語言中,共有L個字母,則其絕對信息率為R=log2LR=log2L,這就是單個字母的最大熵。
一種信息的冗余度(redundancy):稱為D,D=R-r。
密碼分析者的目的是獲取密鑰K或明文P,或兩者都有。在分析前,一般情況下已經具有一些關于明文P的統計信息,比如知曉明文的語言,而這個語言有有一個確定的與之相關的冗余度。密碼分析者就根據這個冗余度來減少可能的明文數目,最終確定明文。冗余度越大,越容易被攻擊。因此,在加密明文前,經常需要一個壓縮程序以減少明文大小。實際上,在加、解密時均須壓縮處理以降低消息的冗余度。
4、混亂和擴散
Shannon提出了兩種隱藏明文消息中冗余度的基本技術:混亂(confusion)和擴散(diffusion)。
混亂:用于掩蓋明文和密文之間的關系,以挫敗通過研究密文以獲取冗余度和統計模式的企圖。最簡單的方法就是通過代替。
擴散:將明文冗余度分散到密文中使之分散開來,密碼分析者需求這些冗余度會更困難。最簡單的方法就是換位(也稱置換)。
值得說明的是:雖然序列密碼的一些反饋設計加進了擴散,但它只依賴于混亂。分組密碼算法既用到混亂,也用到擴散。通常,單獨用擴散容易被攻破(即使二重換位密碼優于其它的許多手工密碼)。
5、唯一解距離U(unidty distance),也稱唯一解點:
唯一解距離不是對密碼分析需要多少密文的度量,而是對存在唯一合理的密碼分析所需要的密文數量的指標。
Shannon定義:使得對應明文的實際信息(熵)與加密密鑰的熵之和等于所用的密文位數的漸近密文量。
對大多數對稱密碼系統而言,U=H(K)/DU=H(K)/D,H(K)為密碼系統的熵,D為語言的冗余度。
有些密碼學書籍也將唯一解距離認為是包括正確的明文在內的有意義的明文數目,即一個密碼系統的唯一解距離是指一份有意義的相應明文的密文長度。
此外,還有這樣的描述:唯一解距離是指,當進行強力攻擊時,可能解密出唯一有意義的明文所需要的最少密文量。
唯一解距離與冗余度區別:唯一解距離與冗余度成反比。唯一解距離越長,密碼系統就越好。當冗余度接近為零時,即使一個普通的密碼系統也是可能不可破的。唯一解距離可以保證當其太小時,密碼系統是不安全的,但并不保證當其較大時,密碼系統就是安全的。
對于唯一解距離計算中的一些問題,以下的一篇文章對唯一解距離的真正所指進行了探討,指出這里的唯一應該排除那個唯一正確的明文,對于真實的密文無論其長度是多少都至少會有一個有意義的明文。
文章:美國數學家香農唯一解距離理論探究 《信息網絡安全》2009年第08期
網址:http://www.doc88.com/p-6592483716541.html
期刊訂閱方式:中國知網官網-數字出版物訂閱-期刊(信息科技)-互聯網技術
總結
以上是生活随笔為你收集整理的信息论——密码学笔记(七)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用CSDN的Markdown编辑器
- 下一篇: SSL认证:单向认证与双向认证——密码学