现代密码学1.4--现代密码的三大原则
現(xiàn)代密碼學(xué)1.4--現(xiàn)代密碼的三大原則
- 正式的定義
- 安全條件
- 錯(cuò)誤的
- 正確的
- 攻擊模型
- 精確的假設(shè)
- 嚴(yán)格的安全性證明
博主正在學(xué)習(xí)INTRODUCTION TO MODERN CRYPTOGRAPHY (Second Edition) --Jonathan Katz, Yehuda Lindell,做一些筆記供自己回憶,如有錯(cuò)誤請(qǐng)指正。整理成一個(gè)系列現(xiàn)代密碼學(xué),方便檢索。
古典密碼就像是一門(mén)藝術(shù),沒(méi)有關(guān)于“安全”方案應(yīng)該滿(mǎn)足什么條件的共識(shí),也沒(méi)有證據(jù)證明某個(gè)密碼方案是安全的。相比之下,現(xiàn)代密碼更像是一門(mén)科學(xué),它給出了關(guān)于密碼方案是否安全的嚴(yán)格定義。
嚴(yán)格的安全性證明是基于正式的定義和精確的假設(shè)下的。
正式的定義
并不是存在攻擊算法的密碼方案就是不安全的。比如Vigenere密碼(多字母替代密碼),如果密文很長(zhǎng)則可能會(huì)被破解,但如果密文足夠短,它就是安全的。因?yàn)楹芏痰拿芪耐ǔ2环献帜傅念l率分布等特性,難以找到規(guī)律。
也就是說(shuō),如果沒(méi)有一個(gè)正式的定義,即使存在攻擊算法,我們也不能說(shuō)這個(gè)密碼方案就不安全。
而且,如果沒(méi)有正式的定義,我們?cè)趺粗酪挂粋€(gè)密碼方案安全究竟要滿(mǎn)足些什么條件。
基于以上,正式的安全性定義是很必要的。
通常一個(gè)安全性定義分為兩個(gè)部分:安全條件和攻擊模型。
安全條件
一個(gè)安全密碼方案應(yīng)該滿(mǎn)足哪些條件?
錯(cuò)誤的
- 對(duì)于攻擊者而言,不能恢復(fù)密鑰。
即使不能恢復(fù)密鑰,也有可能泄露明文。如Enck(m)=mEnc_k(m)=mEnck?(m)=m - 對(duì)于攻擊者而言,不能從密文恢復(fù)完整的明文。
不需要恢復(fù)完整明文,只要恢復(fù)部分明文就可能泄露重要的信息。 - 對(duì)于攻擊者而言,不能從密文恢復(fù)任何的明文字符。
甚至不需要恢復(fù)任何具體的明文字符,有時(shí)只要知道明文字符A和明文字符B之間潛在的關(guān)系即可。比如員工A薪資和員工B薪資,不需要知道具體薪資,只需要知道比較關(guān)系,就會(huì)泄露很多信息。
正確的
無(wú)論攻擊者已經(jīng)擁有哪些信息,密文都不應(yīng)該泄露關(guān)于潛在明文的任何額外信息。
這意味著一個(gè)安全的密碼方案應(yīng)該對(duì)于所有可能的隱私要求應(yīng)用都是適合的。
攻擊模型
攻擊模型沒(méi)有正確與否,也沒(méi)有哪個(gè)比哪個(gè)更好,只是對(duì)攻擊者不同算力的模型化。正確的做法是根據(jù)密碼方案所應(yīng)用的環(huán)境,來(lái)決定使用哪種攻擊模型。
- 唯密文攻擊:攻擊者只能觀察到密文
- 已知明文攻擊:攻擊者知道一對(duì)或多對(duì)明密文
- 選擇明文攻擊:攻擊者可以選擇一些明文,要求得到相應(yīng)的密文。
- 選擇密文攻擊:攻擊者可以選擇一些密文,要求得到相應(yīng)的明文。
精確的假設(shè)
密碼方案通常是基于數(shù)學(xué)困難問(wèn)題之上構(gòu)造的。
- 假設(shè)有效性
假設(shè)是還沒(méi)被證明,但被推測(cè)是真的。我們認(rèn)為,一個(gè)假設(shè)被檢查和測(cè)試越多,那么它的可信度就越高。 - 方案的比較
假設(shè)其他條件相同,如果有兩個(gè)基于不同假設(shè)的方案都被證明滿(mǎn)足某種定義,那我們?cè)撨x哪種方案呢?我們通常選基于更弱假設(shè)的那個(gè)方案,因?yàn)橥暗谝粋€(gè)假設(shè)是正確的”會(huì)推出“第二個(gè)假設(shè)是錯(cuò)誤的”。 - 理解假設(shè)的必要性
密碼方案是基于許多模塊的,如果某個(gè)模塊所基于的假設(shè)不對(duì),我們只需要檢查這個(gè)假設(shè)是否影響了方案的安全性。
嚴(yán)格的安全性證明
一個(gè)密碼方案,
- 在某些特定的假設(shè)下,
- 滿(mǎn)足給定的定義,
是可以嚴(yán)格證明該方案安全性的前提。
總結(jié)
以上是生活随笔為你收集整理的现代密码学1.4--现代密码的三大原则的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 现代密码学1.3--古典密码/histo
- 下一篇: 基本数据结构与图