密碼學I:離散概率(續)

導覽

課程地址請見Coursera。

對於離散概率的更詳細解釋,請見:WikiBooks (English)

注意:文章中對專業名詞進行解釋的鏈接均來自中文維基百科,中國大陸讀者若想訪問請自備... ...

歡迎訪問作者博客。

若未閱讀上篇文章密碼學I:離散概率的,*強烈*建議前去閱讀。

獨立性

定義

獨立性:若存在兩事件ABA事件的發生無法向你提供關於B事件的任何信息,則稱AB兩事件是互相獨立的。即:

Pr[A;:mathtt{and};:B]=Pr[A]cdot Pr[B]

通常來講,獨立性衡量的是兩事件間互不相關的程度。

隨機變數中的獨立性

若有兩個在集合V中取值的隨機變數X,Y,那麼如果這兩個隨機變數滿足:

forall a,bin VnPr[X=a;:mathtt{and};:X=b];;=;;Pr[X]cdot Pr[Y=b]

這意味著即使你知道X=a你也不知道關於y的取值的任何信息。

異或運算(XOR,oplus

這是一種在密碼學中相當重要和基礎的運算。

關於其重要的原因我們將稍後講到。

定義

一種對數值AB進行的運算,記為:

Aoplus B

其運算基本規則為:兩兩數值相同時為假,而數值不同時為真

這也就是說,15oplus 17=mathtt{true}15oplus 15=mathtt{false}

通常來講,我們所寫的形如不是對整個數值進行運算,而是對數值的每一位進行運算。即(一般我們用表示「真」,用表示「假」):

請見:維基百科 - 邏輯異或(中文 - 大陸簡體)

異或運算(XOR)的重要性質

闡述:若存在一個隨機變數y,和一個獨立均勻隨機變數x,此時xy的異或(無論y以什麼方式分布)z總是一個均勻的隨機變數

換句話說如果我取一個隨機的分布,然後用獨立均勻隨機變數和它進行異或運算,最終得到的一定是一個均勻隨機變量,即:

Ymathtt{quad is;:a;:mathbf{rand.};:var.;:overquad}{0,1}^2,nXmathtt{quad is;:an;:mathbf{indep.;:uniform};:var.;:onquad}{0,1}^2nmathtt{Than;;}Z:Yoplus Xmathtt{quad is;:mathbf{uniform};:var.;:overquad}{0,1}^2

證明現不列出。可能會在作者博客上給出。

生日悖論(The birthday paradox)

定義

定義:假設在全集U中選擇幾個獨立、以相同方式分布的隨機變數r_i ,則若選擇sqrt{|U|}次,則基本上有很大的幾率(超過frac{1}{2})會有兩個相同的元素。換句話說,若抽樣sqrt{|U|}次,那麼很有可能(超過frac{1}{2})你的兩個抽樣會是 一樣的,即:

r_1,...,r_nin

該定理被叫做「悖論」是因為經常使用該定理來描述人們的生日。因為根據該定理,最少僅僅需要1.2timessqrt{365}個人聚集在一起就能夠使得有兩個人有同樣的生日的概率大於frac{1}{2},即24個人。這就是為什麼叫做悖論,因為24應該是一個比大多數人的預計都要小的數。

應用

假設我們有一個100萬樣本的全集,那麼當我們抽樣大概1200次時, 我們抽樣到相通數字元素的概率大約是0.5;但是你可以看到如果我們抽樣2200次,有兩個元素相同的概率就已經是0.9了;你也看到了抽樣3000次時基本就是1了。所以只要取樣個數超過全集大小的平方根,抽到相同元素的概率將會很快趨近於1

以後我們會再返回並更具體地學習生日悖論,但目前就到此為止。

結語

本節和上一節主要介紹了概率分布基礎、事件、隨機變數基本知識以及一種在密碼學中非常常用也非常重要的演算法XOR(異或運算,$oplus$)及其基本性質,最後簡要介紹了密碼學中一個非常中心的理論:生日悖論。

本節和上一節的知識相當基礎和重要。

下一節/下一章我們會開始學習我們的加密系統的第一個例子。

本節完

本章完

推薦閱讀:

世界上最大的兩個地下網路市場AlphaBay與Hansa 相繼被關閉,創辦者自殺
實例講解如何繞過 Office 文檔的反分析技術
如果你是一名黑客,你最想竊取什麼信息?

TAG:密码学 | 信息安全 | 信息安全和密码学 |