Shannon理论——笔记1
Shannon理論——筆記1
目錄
- Shannon理論——筆記1
- 引言
- 概略
- 完善保密性
- 熵
- 熵的性質(zhì)
- 偽密鑰和唯一解距離
- 預(yù)備知識
- 偽密鑰
- 唯一解距離
- 乘積密碼體制
引言
- 我們知道有這樣幾個(gè)評價(jià)密碼體制安全性的常用的準(zhǔn)則:
- 計(jì)算安全性
- 可證明安全性
- 無條件安全性
- 其中無條件安全性允許無限的計(jì)算資源、無限的計(jì)算時(shí)間,所以不能用計(jì)算復(fù)雜性的觀點(diǎn)來研究。
- 研究無條件安全性的合適框架是概率論,我們將在后文進(jìn)行討論
概略
- Shannon的思想對密碼學(xué)的研究產(chǎn)生了巨大影響,那么這些究竟意味什么呢
- 本文主要打算介紹如下概念、思想
- 完善保密性
- 熵
- 偽密鑰和唯一解距離
- 乘積密碼體制
完善保密性
- 通俗地講,完善保密性就是說攻擊者Oscar不能通過觀察密文獲得明文的任何信息
- 推測明文為某種情況的概率不會因?yàn)橹烂芪亩淖?/li>
定義:
一個(gè)密碼體制具有完善保密性,如果對于任意的x∈P\mathcal{x\in P}x∈P和y∈C\mathcal{y\in C}y∈C,都有Pr[x∣y]=Pr[x]Pr[x|y]=Pr[x]Pr[x∣y]=Pr[x]。也就是說,給定密文yyy,明文xxx的后驗(yàn)概率等于明文xxx的先驗(yàn)概率
- 一般的完整保密性
- 對于任意固定的x∈P\mathcal{x\in P}x∈P。由Bayes定理,有:對每個(gè)y∈C\mathcal{y\in C}y∈C,我們有Pr[y∣x]=Pr[y]>0Pr[y|x]=Pr[y]>0Pr[y∣x]=Pr[y]>0(概率為零的情況可以直接從定義域中去掉)。
- 也就是說,在完善保密密碼體制下,對于某固定明文,密文有限集中的任意元素都存在是由此明文被加密后的結(jié)果的可能
- 因此,對于每個(gè)y∈C\mathcal{y\in C}y∈C,一定至少存在一個(gè)密鑰KKK,滿足ek(x)=ye_k(x)=yek?(x)=y。這樣就有∣K∣≥∣C∣\mathcal{|K|\geq |C|}∣K∣≥∣C∣。
- 又因?yàn)樵谌我庖粋€(gè)密碼體制中,加密函數(shù)是單射的,所以一定有∣C∣≥∣P∣\mathcal{|C|\geq |P|}∣C∣≥∣P∣。
- 于是我們得到
- 在一個(gè)完善保密密碼體制中,∣K∣≥∣C∣≥∣P∣\mathcal{|K|\geq |C|\geq |P|}∣K∣≥∣C∣≥∣P∣
- 對于任意固定的x∈P\mathcal{x\in P}x∈P。由Bayes定理,有:對每個(gè)y∈C\mathcal{y\in C}y∈C,我們有Pr[y∣x]=Pr[y]>0Pr[y|x]=Pr[y]>0Pr[y∣x]=Pr[y]>0(概率為零的情況可以直接從定義域中去掉)。
- 需要注意的是,上一步討論的是完善保密密碼體制所具備的必要條件,并不能作為判定依據(jù)
- 關(guān)于判定依據(jù),當(dāng)∣K∣=∣C∣=∣P∣\mathcal{|K|=|C|=|P|}∣K∣=∣C∣=∣P∣時(shí),Shannon最早提出了一個(gè)性質(zhì):
定理
假設(shè)密碼體制(P,C,K,E,D)\mathcal{(P,C,K,E,D)}(P,C,K,E,D)滿足∣K∣=∣C∣=∣P∣\mathcal{|K|=|C|=|P|}∣K∣=∣C∣=∣P∣。該密碼體制是完善保密的?\iff?每個(gè)密鑰被使用的概率都是1∣K∣\cfrac{1}{|\mathcal{K}|}∣K∣1?,并且?x∈Pandy∈C,?!K,s.t.eK(x)=y\forall \mathcal{x\in P}\,and \,\mathcal{y\in C},\exist!K,\,\,s.t.\;\,\, e_K(x)=y?x∈Pandy∈C,?!K,s.t.eK?(x)=y
熵
- 度量信息不確定性
- 值越大,表示的不確定性越大
- 對于隨機(jī)變量X,其熵表示為H(X)
定義
假設(shè)隨機(jī)變量X\mathbf{X}X在有限集合X上取值,則隨機(jī)變量X\mathbf{X}X的熵定義為H(X)=?∑x∈XPr[x]lbPr[x]H(\mathbf{X})=-\sum_{x\in X}\mathrm{Pr[x]lbPr[x]} H(X)=?x∈X∑?Pr[x]lbPr[x]
- 比如當(dāng)X只有一種可能取值時(shí)(即取該值的概率為1),其熵為0
熵的性質(zhì)
- 0≤H(X)≤lbn,其中n=∣X∣0\leq H(\mathbf{X})\leq \mathrm{lb}\,\,n,\quad其中n=|X|0≤H(X)≤lbn,其中n=∣X∣
- 可由Jenson不等式證得
- H(X,Y)≤H(X)+H(Y)H(\mathbf{X,Y})\leq H(\mathbf{X})+H(\mathbf{Y})H(X,Y)≤H(X)+H(Y),當(dāng)且僅當(dāng)X,Y\mathbf{X,Y}X,Y統(tǒng)計(jì)獨(dú)立時(shí)等號成立
定義
假設(shè)X,Y\mathbf{X,Y}X,Y是兩個(gè)隨機(jī)變量。對于Y\mathrm{Y}Y的任何固定值y,得到一個(gè)X\mathrm{X}X上的條件概率分布;記相應(yīng)的隨機(jī)變量為X∣y\mathbf{X}|yX∣y,顯然H(X∣y)=?∑xPr[x∣y]lbPr[x∣y]H(\mathbf{X}|y)=-\sum_x\mathrm{Pr[x|y]lb\,Pr[x|y]} H(X∣y)=?x∑?Pr[x∣y]lbPr[x∣y]定義條件熵H(X∣Y)H(\mathbf{X|Y})H(X∣Y)為熵H(X∣y)H(\mathbf{X}|y)H(X∣y)取遍所有y的加權(quán)平均值。計(jì)算公式為H(X∣Y)=?∑y∑xPr[y]Pr[x∣y]lbPr[x∣y]H(\mathbf{X|Y})=-\sum_y\sum_x\mathrm{Pr[y]Pr[x|y]lb\,Pr[x|y]} H(X∣Y)=?y∑?x∑?Pr[y]Pr[x∣y]lbPr[x∣y]條件熵度量了Y\mathbf{Y}Y揭示的X\mathbf{X}X的平均信息量
- H(X,Y)=H(Y)+H(X∣Y)≤H(Y)+H(X)H(\mathbf{X,Y})= H(\mathbf{Y})+H(\mathbf{X|Y})\leq H(\mathbf{Y})+H(\mathbf{X})H(X,Y)=H(Y)+H(X∣Y)≤H(Y)+H(X)等式成立當(dāng)且僅當(dāng)X,Y\mathbf{X,Y}X,Y統(tǒng)計(jì)獨(dú)立
偽密鑰和唯一解距離
預(yù)備知識
密鑰含糊度- H(C∣K,P)=0\mathbf{H(C|K,P)}=0H(C∣K,P)=0
- 因?yàn)槊荑€和明文唯一決定密文
- H(P∣K,C)=0\mathbf{H(P|K,C)}=0H(P∣K,C)=0
- 因?yàn)槊荑€和密文唯一決定明文
- K,P\mathbf{K,P}K,P是統(tǒng)計(jì)獨(dú)立的?H(K,P)=H(K)+H(P)\implies H(\mathbf{K,P})= H(\mathbf{K})+H(\mathbf{P})?H(K,P)=H(K)+H(P)
- 因?yàn)槊荑€是在Alice知道明文之前選取的,所以可以合理地假設(shè)密鑰、明文是統(tǒng)計(jì)獨(dú)立的隨機(jī)變量
- 值得注意的是,盡管密鑰和密文唯一決定明文,但我們并不能像上一步那樣認(rèn)為K,C\mathbf{K,C}K,C是統(tǒng)計(jì)獨(dú)立的
定理
設(shè)(P,C,K,E,D)\mathcal{(P,C,K,E,D)}(P,C,K,E,D)是一個(gè)密碼體制,那么H(K∣C)=H(K)+H(P)?H(C)H(\mathbf{K|C})=H(\mathbf{K})+H(\mathbf{P})-H(\mathbf{C}) H(K∣C)=H(K)+H(P)?H(C)
偽密鑰
- 密碼分析的基本目的是確定密鑰
- 考慮唯密文攻擊,對于Oscar而言,它可以得到多個(gè)密鑰
- 通過這些密鑰對某些明文加密得到Oscar所唯一知道的密文,這一過程在計(jì)算上是可行的
- 但這樣的明文不一定都有意義,很多可能只是雜亂的字母的組合而已,這部分對應(yīng)的密鑰可直接被Oscar排除
- 但仍可能會有多個(gè)密鑰,其對應(yīng)明文在一個(gè)語言體系下都是有意義的,并非雜亂的字母組合
- 在這些密鑰中,只有一個(gè)密鑰是正確的
- 那些可能的但不正確的密鑰稱為 偽密鑰
唯一解距離
定義
一個(gè)密碼體制的唯一解距離定義為使得偽密鑰的期望數(shù)等于零的nnn的值,記為n0n_0n0?,即在給定的足夠的計(jì)算時(shí)間下分析者能唯一計(jì)算出密鑰所需密文的平均值
-
可以看出,偽密鑰的存在對密文的破譯造成了障礙
-
偽密鑰數(shù)越小,破譯自然越方便
-
所以我們的目的就是推導(dǎo)偽密鑰的期望數(shù)的下界
- 為什么是期望數(shù)?
- 因?yàn)樗鶕碛忻芪牡牟煌瑫斐蓚蚊荑€數(shù)的不同
- 所以對所有這些值的期望的描述才能更好地描述背后的密碼體制
- 為什么是期望數(shù)?
-
偽密鑰的期望數(shù)如何表示?
- 給定y∈Cny\in \mathcal{C}^ny∈Cn,定義K(y)={K∈K:?x∈Pn,s.t.Pr[x]>0,ek(x)=y}K(y)=\{K\in \mathcal{K}:\exist x\in \mathcal{P}^n,s.t.\,\,\mathrm{Pr[x]}>0,e_k(x)=y\} K(y)={K∈K:?x∈Pn,s.t.Pr[x]>0,ek?(x)=y}
- 即K(y)K(y)K(y)是密文為yyy的可能密鑰的集合
- 這里可能的含義需要格外注意
- 在這些密鑰下yyy對應(yīng)的明文有意義
- 否則對應(yīng)密鑰可以直接被排除,便無所謂可能了
- 這里可能的含義需要格外注意
- 即K(y)K(y)K(y)是密文為yyy的可能密鑰的集合
- 于是yyy對應(yīng)的偽密鑰數(shù)目為 ∣K(y)∣?1|K(y)|-1∣K(y)∣?1
- 偽密鑰的平均數(shù)目(期望)為sn ̄=∑y∈CnPr[y](∣K(y)∣?1)=∑y∈CnPr[y]∣K(y)∣?∑y∈CnPr[y]=∑y∈CnPr[y]∣K(y)∣?1\begin{aligned} \overline{s_n}&=\sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}(|K(y)|-1)\\ &=\sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}|K(y)|-\sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}\\ &=\sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}|K(y)|-1 \end{aligned} sn???=y∈Cn∑?Pr[y](∣K(y)∣?1)=y∈Cn∑?Pr[y]∣K(y)∣?y∈Cn∑?Pr[y]=y∈Cn∑?Pr[y]∣K(y)∣?1?
- 給定y∈Cny\in \mathcal{C}^ny∈Cn,定義K(y)={K∈K:?x∈Pn,s.t.Pr[x]>0,ek(x)=y}K(y)=\{K\in \mathcal{K}:\exist x\in \mathcal{P}^n,s.t.\,\,\mathrm{Pr[x]}>0,e_k(x)=y\} K(y)={K∈K:?x∈Pn,s.t.Pr[x]>0,ek?(x)=y}
-
如前所述,唯一解距離為使得sn ̄=0\overline{s_n}=0sn??=0的nnn的值
-
想要找到這個(gè)n0n_0n0?,就要考慮sn ̄\overline{s_n}sn??與nnn之間的關(guān)系
-
如何建立與nnn的聯(lián)系?
- 回顧sn ̄\overline{s_n}sn??的關(guān)系式
- 其與每個(gè)密文y的概率以及y下可能密鑰集的大小有關(guān)
- 而由前述知識,密鑰集大小∣K(y)∣|K(y)|∣K(y)∣的對數(shù)是熵H(K∣y)H(\mathbf{K}|y)H(K∣y)的上限
- 這為我們提供了一條向外建立聯(lián)系的思路
- 聯(lián)立:sn ̄+1=∑y∈CnPr[y]∣K(y)∣∑y∈CnPr[y]H(K∣y)=H(K∣Cn)\begin{aligned} \overline{s_n}+1=&\sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}|K(y)|\\ &\sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}H(\mathbf{K}|y)=H(\mathbf{K|C}^n) \end{aligned} sn??+1=?y∈Cn∑?Pr[y]∣K(y)∣y∈Cn∑?Pr[y]H(K∣y)=H(K∣Cn)?
- 于是H(K∣Cn)=∑y∈CnPr[y]H(K∣y)≤∑y∈CnPr[y]lb∣K(y)∣≤lb∑y∈CnPr[y]∣K(y)∣≤lb(sn ̄+1)\begin{aligned} H(\mathbf{K|C}^n)&=\sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}H(\mathbf{K}|y)\\ &\leq \sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}\mathrm{lb}|K(y)|\\ &\leq \mathrm{lb}\sum_{y\in \mathcal{C}^n}\mathrm{Pr[y]}|K(y)|\\ &\leq \mathrm{lb}(\overline{s_n}+1) \end{aligned} H(K∣Cn)?=y∈Cn∑?Pr[y]H(K∣y)≤y∈Cn∑?Pr[y]lb∣K(y)∣≤lby∈Cn∑?Pr[y]∣K(y)∣≤lb(sn??+1)?
- 回顧sn ̄\overline{s_n}sn??的關(guān)系式
-
而由預(yù)備知識中定理H(K∣Cn)=H(K)+H(Pn)?H(Cn)H(\mathbf{K|C}^n)=H(\mathbf{K})+H(\mathbf{P}^n)-H(\mathbf{C}^n) H(K∣Cn)=H(K)+H(Pn)?H(Cn)
-
由于自然語言中各字符間并非毫無關(guān)聯(lián),引入如下概念:
定義
自然語言LLL的的熵(每字母)HL=lim?n→∞H(Pn)nH_L=\lim_{n\to \infty}\frac{H(\mathbf{P}^n)}{n} HL?=n→∞lim?nH(Pn)?
語言L的冗余度定義為RL=1?HLlb∣P∣R_L=1-\frac{H_L}{\mathrm{lb}|\mathcal{P}|} RL?=1?lb∣P∣HL??
- 可知HLH_LHL?是屬于一種自然語言LLL的固有性質(zhì),它度量了這種語言的每個(gè)字母的平均熵,一個(gè)隨機(jī)語言具有熵lb∣P∣\mathrm{lb}|\mathcal{P}|lb∣P∣
- 同時(shí),這也提供了一種對H(Pn)H(\mathbf{P}^n)H(Pn)的估計(jì)
- 有{H(Pn)≈nHL=n(1?RL)lb∣P∣H(Cn)≤nlb∣C∣\begin{cases} H(\mathbf{P}^n)\approx nH_L=n(1-R_L)\mathrm{lb}|\mathcal{P}|\\ H(\mathbf{C}^n)\leq n\mathrm{lb}|\mathcal{C}| \end{cases} {H(Pn)≈nHL?=n(1?RL?)lb∣P∣H(Cn)≤nlb∣C∣?
- 所以,如果∣C∣=∣P∣|\mathcal{C}|= |\mathcal{P}|∣C∣=∣P∣有 lb(sn ̄+1)≥H(K∣Cn)=H(K)+H(Pn)?H(Cn)≥H(K)?nRLlb∣P∣\mathrm{lb}(\overline{s_n}+1)\geq H(\mathbf{K|C}^n)=H(\mathbf{K})+H(\mathbf{P}^n)-H(\mathbf{C}^n) \geq H(\mathbf{K})-nR_L\mathrm{lb}|\mathcal{P}| lb(sn??+1)≥H(K∣Cn)=H(K)+H(Pn)?H(Cn)≥H(K)?nRL?lb∣P∣
- 考慮等概率選取密鑰的情況,此時(shí)H(K)=lb∣K∣H(\mathbf{K})=\mathrm{lb}|\mathcal{K}|H(K)=lb∣K∣,有
定理
假設(shè)(P,C,K,E,D)\mathcal{(P,C,K,E,D)}(P,C,K,E,D)是一個(gè)密碼體制,∣C∣=∣P∣|\mathcal{C}|= |\mathcal{P}|∣C∣=∣P∣并且密鑰是等概率選取。設(shè)RLR_LRL?表示明文的自然語言的冗余度,那么給定一個(gè)充分長(長為n)的密文串,偽密鑰的期望數(shù)滿足sn ̄≥∣K∣∣P∣nRL?1\overline{s_n}\geq \frac{|\mathcal{K}|}{|\mathcal{P}|^{nR_L}}-1 sn??≥∣P∣nRL?∣K∣??1
- 在這種情況下,我們可以得到n0≈lb∣K∣RLlb∣P∣n_0 \approx \frac{\mathrm{lb}|\mathcal{K}|}{R_L\mathrm{lb}|\mathcal{P}|} n0?≈RL?lb∣P∣lb∣K∣?
- 這意味著,給定的密文串的長度至少為25時(shí),通常解密才是唯一的
- 至此,關(guān)于唯一解距離的求解已經(jīng)討論結(jié)束
- 值得注意的是,所求結(jié)果并不一定準(zhǔn)確,而且運(yùn)算中的符號連接很多都是不等號,但這樣的求得的唯一解距離實(shí)際上也可以標(biāo)明一個(gè)密碼系統(tǒng)的好壞
- 唯一解距離越長,密碼系統(tǒng)越好
- 當(dāng)唯一解距離為無窮大時(shí),系統(tǒng)稱為理想保密系統(tǒng)
- 此時(shí)Oscar便無法從眾多“可能”的密鑰中得到真正正確的密鑰
- 而實(shí)際上由于自然語言的復(fù)雜性,目前沒有任何一種分析方法可以做到
乘積密碼體制
- 即通過“乘積”組合密碼體制
總結(jié)
以上是生活随笔為你收集整理的Shannon理论——笔记1的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Shannon理论
- 下一篇: Huffman编码、Shannon编码、