目錄
一. 介紹
二. 不可區(qū)分性試驗(yàn)
三. 不可區(qū)分性與完美安全
四. 例題
五. 小結(jié)
一. 介紹
敵手完美不可區(qū)分,英文寫做perfect adversarial indistinguishability,其中adversarial經(jīng)常被省略不寫,在密碼學(xué)的論文中經(jīng)常被簡稱為IND安全。
完美不可區(qū)分與香農(nóng)的完美安全是類似的。該定義來源于一個(gè)被動(dòng)竊聽的敵手試驗(yàn):給敵手一個(gè)密文,然后讓敵手猜測明文來源于可能得兩個(gè)中的哪一個(gè)。這個(gè)過程其實(shí)也可以用計(jì)算安全來衡量。
二. 不可區(qū)分性試驗(yàn)
敵手A首先隨意選擇兩個(gè)明文,如下:
接著借助Gen算法產(chǎn)生密鑰k,利用該密鑰對(duì)其中的一個(gè)明文進(jìn)行加密。當(dāng)然此過程明文的選擇需要相等的概率。
接著將該密文給敵手A,讓他猜測哪一個(gè)明文被加密了。如果猜對(duì)了,則認(rèn)為敵手A成功了。
如果敵手成功的概率不會(huì)好于1/2,那么認(rèn)為該加密方案時(shí)完美不可區(qū)分的。其實(shí),對(duì)于任意的加密方案,敵手都可以采用隨機(jī)均勻的方法進(jìn)行猜測,這個(gè)時(shí)候成功的概率即為1/2,不可區(qū)分性要求敵手的攻擊策略不會(huì)優(yōu)于隨機(jī)猜測。
注意此處的不可區(qū)分性并沒有限制敵手的計(jì)算能力(computational power)。
將加密方案形式化表達(dá)為:
將消息空間表示為M,令A(yù)代表敵手,可以抽象成一個(gè)確定性的算法,由此可將如上的試驗(yàn)定義為:
試驗(yàn)的具體步驟如下:
注意區(qū)分?jǐn)呈諥輸出1,代表m1.
試驗(yàn)輸出1,代表敵手猜測成功,兩者是完全不一樣的。
三. 不可區(qū)分性與完美安全
在不可區(qū)分性試驗(yàn)中,當(dāng)敵手A隨機(jī)猜測時(shí),那么他成功的概率就是1/2.完美不可區(qū)分性則要求敵手A沒有更好的其他策略了。
將以上的過程總結(jié)為形式化的定義,如下:
當(dāng)一個(gè)方案是完美不可區(qū)分時(shí),那么它也是完美安全的。兩者可以互推。
四. 例題
假定某維吉尼亞密碼(Vigenere cipher)的明文空間是雙子母串。密鑰周期可能是1也可能是2,兩者均勻選擇,如下:
請證明該維吉尼亞密碼不是完美不可區(qū)分的。
解:
利用代表該維吉尼亞密碼,要想證明該密碼方案不是完美不可區(qū)分的,其本質(zhì)則是證明不可區(qū)分性試驗(yàn)輸出1的概率大于1/2,如下:
接下來我們來詳細(xì)解釋該實(shí)驗(yàn)如何展開。
讓敵手A執(zhí)行如下步驟:
第一步:輸出兩個(gè)明文,如下:
在收到挑戰(zhàn)密文c后,如下:
分成兩種情況,敵手輸出不同的值:如果發(fā)現(xiàn)c1=c2,那么輸出0;否則輸出1
接下來計(jì)算該實(shí)驗(yàn)成功的概率可能有些繁瑣,但是思想是很直接的。計(jì)算如下:
第一個(gè)等號(hào):將試驗(yàn)成功分成兩種不同的情況,對(duì)應(yīng)兩個(gè)條件概率
第二個(gè)等號(hào):試驗(yàn)成功則是敵手輸出的b和實(shí)際選擇的b相同
以上b代表到底選擇哪個(gè)明文,當(dāng)然要求此過程明文的選擇是均勻隨機(jī)比特串。
當(dāng)敵手輸出0時(shí),說明兩個(gè)密文字母相等。此時(shí)b=0,明文m0=aa,也就是c1=c2.出現(xiàn)此種現(xiàn)象有兩種可能性:
當(dāng)密鑰的周期為1時(shí),對(duì)應(yīng)的概率為1/2
當(dāng)密鑰的周期為2時(shí),且第一個(gè)密鑰和第二個(gè)密鑰相等的概率可計(jì)算為:
由此可計(jì)算當(dāng)b=0時(shí),敵手A輸出0的概率為:
當(dāng)b=1時(shí),如果要求c1=c2,也就是敵手依舊輸出0,由于明文字母是不一樣的,所以要求此時(shí)的密鑰周期必定為2,此時(shí)只有一種情況可以實(shí)現(xiàn),所以可以計(jì)算為:
第一個(gè)等號(hào):從互補(bǔ)的情況開始思考
第二個(gè)等號(hào):1/2代表密鑰周期為2,1/26代表:26(1/26)(1/26)
將兩者進(jìn)行合并可得:
很顯然該方案不是完美不可區(qū)分的。
五. 小結(jié)
密碼學(xué)可分為密碼編碼學(xué)和密碼分析學(xué)。前者研究如何編解碼信息,實(shí)現(xiàn)網(wǎng)絡(luò)安全通信與傳輸;后者研究如何破譯密碼或其實(shí)現(xiàn),尋找傳輸?shù)谋∪醐h(huán)節(jié),二者對(duì)立統(tǒng)一、相互促進(jìn).
密碼編碼學(xué)
密碼編碼學(xué)主要研究解決信息安全中的機(jī)密性、數(shù)據(jù)完整性、認(rèn)證、身份識(shí)別、可控性及不可抵賴性等問題中的一個(gè)或幾個(gè)。按照加密方式,密碼體制可分為對(duì)稱加密和非對(duì)稱加密。前者用同一密鑰加解密信息,密鑰通常需要通過安全的方式分配給通信雙方;后者用不同的密鑰加解密信息,可將其中一項(xiàng)密鑰作為公鑰公開,僅將私鑰妥善保管即可實(shí)現(xiàn)安全通信。
作為密碼編碼學(xué)的重要組成部分,密碼算法的安全性和算法設(shè)計(jì)至關(guān)重要。對(duì)密碼算法的安全性要求主要包括計(jì)算安全性、可證明安全性、無條件安全性等,其側(cè)重點(diǎn)有所不同,主要特征如下:
(1)計(jì)算安全性:
指用目前算力無法在規(guī)定時(shí)間內(nèi)攻破密碼算法來說明密碼體制的安全性。雖然目前沒有被證明計(jì)算安全的密碼算法,但其可操作性強(qiáng)使得計(jì)算安全性成為常用的密碼算法評(píng)價(jià)標(biāo)準(zhǔn)。然 而,計(jì)算安全性僅說明密碼算法的安全性和可計(jì)算問題相關(guān),無法證明密碼算法絕對(duì)安全
(2)可證明安全性:
指用多項(xiàng)式規(guī)約技術(shù)形式化證明密碼體制的安全性。它通過有效的轉(zhuǎn)化將對(duì)密 碼算法的攻擊規(guī)約為可計(jì)算問題的求解。
(3)無條件安全性:
指攻擊者在計(jì)算資源無限的情況下,密碼算法也無法被攻破。密碼算法設(shè)計(jì)的基本原則是加密算法應(yīng)有不可預(yù)測性,主要體現(xiàn)在:1)密碼算法需要有較高的線性復(fù)雜度,即僅依據(jù)密文信息,攻擊者很難用統(tǒng)計(jì)學(xué)方法分析明密文間的關(guān)系,從而重現(xiàn)加解密過程;2)加解密流程應(yīng)足夠“混亂”和“擴(kuò)散”,即通過擴(kuò)散處理使得加密元素之間相互影響,輸入中任何微小的變化都會(huì)造成輸出改變.文章來源:http://www.zghlxwxcb.cn/news/detail-811675.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-811675.html
到了這里,關(guān)于【現(xiàn)代密碼學(xué)基礎(chǔ)】詳解完美安全與不可區(qū)分安全的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!