1949年,克勞德·香農在Bell Systems Technical Journal上發表了題為“Communication Theory of Secrecy Systems”的論文 —— 這篇論文使得密碼學有了數學的基礎。
密碼體制安全性的方法
- 計算安全性 Computational Security:破譯密碼體制所作的計算上的努力。如果使用最好的算法攻破一個密碼體制至少需要N次操作,這里的N是一個很大的數字,則認為這個密碼體制是計算安全的 —— 目前沒有一個密碼體制被證明是計算安全的。
- 可證明安全性 Provable Security:通過歸約的方式為安全性提供證據。它只能證明密碼體制的安全性與另一個困難的問題相關,並沒有完全證明它是安全的。
- 無條件安全性 Unconditional Security:即使攻擊者擁有無限的計算資源,仍然無法攻破密碼體制,則可以定義這種密碼體制是無條件安全的。、
完善保密性
完善保密性:一個密碼體制具有完善保密性,如果對於任意的x∈P和y∈C,都有Pr[x|y]=Pr[x](給定密文y,明文x的后驗概率等於明文x的先驗概率)。完善保密性導出了無條件安全性,因為密文不能拿提供明文的任何信息,這和攻擊者擁有的計算資源是無關的。
熵
熵 Entropy:信息或不確性的數學度量,是通過一個概率分布函數來進行計算的。
熵的性質:
- 假設X是一個隨機變量,概率分布為p1,p2,...,pn,那么H(X)≤lbn,當且僅當p1=p2=...=pn時,等號成立。
- H(X,Y)≤H(X)+H(Y)
- H(X,Y)=H(X)+H(X|Y)
- H(X|Y)≤H(X),等號成立當且僅當X和Y統計獨立。
偽密鑰和唯一解距離
偽密鑰:對於一段密文,可能有許多密鑰的存在,但其實只有一個密鑰是正確的,這些可能的但不正確的密鑰稱為偽密鑰。
唯一解距離:為了使得偽密鑰的期望數等於0時的n的值(記為n0),即在給定足夠的計算時間下分析者能唯一計算出密鑰所需密文的平均長度。 例如,對於代換密碼,唯一解距離n0=25,即給定密文串長度至少是25時,解密才唯一。
乘積密碼體制
見乘積密碼體制