《A Graduate Course in Applied Cryptography》Chapter 12 Chosen ciphertext secure pkc(4)finish
原文教材 與 參考資料:
? ? ? ? Boneh Dan , Shoup Victor . A Graduate Course in Applied Cryptography[J].
? ? ? ? 該書項(xiàng)目地址(可以免費(fèi)獲取):http://toc.cryptobook.us/
? ? ? ? 博客為對(duì)該書的學(xué)習(xí)筆記,并非原創(chuàng)知識(shí),幫助理解,整理思路。
?
12.6? CCA security via a generic transformation
本節(jié)主要描述的是一個(gè)自然的將CPA方案轉(zhuǎn)換為CCA方案的方法,成為Fujisaki-Okamoto transformation, 這個(gè)轉(zhuǎn)換技術(shù)允許有效的將一個(gè)公鑰加密方案(即使安全性弱于CCA),轉(zhuǎn)換為一個(gè)CCA安全的加密方案在隨機(jī)諭言機(jī)模型下。當(dāng)然,目前存在不依賴于隨機(jī)諭言機(jī)的轉(zhuǎn)換方案,但是我們需要注意的是存在不依賴于隨機(jī)諭言機(jī)的轉(zhuǎn)換方法,但是那些方法目前效率較低。
Fujisaki-Okamoto技術(shù)亦可以將部分基于格的方案,基于編碼的方案與NTRU方案轉(zhuǎn)換為CCA安全的,在隨機(jī)諭言機(jī)模型下。
The Fujisaki-Okamoto transformation?
該技術(shù)允許從單向概率公鑰加密方案構(gòu)造一個(gè)單向陷門函數(shù)協(xié)議(即使有像諭言機(jī)),我們可以將FFO嵌入到TDF with 1CCA cipher 的方案中,從而獲得一個(gè)RO-CCA的公鑰加密協(xié)議。
得到如下的方案:
? ? ? ? 加密算法:E是一個(gè)概率性算法,亦可使用一個(gè)確定性的表達(dá)方式,不過要加上隨機(jī)空間,如下所示:E(pk,x:r)。
? ? ? ? 解密算法:D是一個(gè)確定性的解密算法,不過收到錯(cuò)誤密文不在返回一個(gè)終止符號(hào),而是返回一個(gè)默認(rèn)消息。
FO轉(zhuǎn)換應(yīng)用于一個(gè)公鑰加密算法(CPA)的流程如下:
? ? ? ? ? ?將原始公鑰加密方案的加密算法修改一個(gè)單向陷門函數(shù):
??
?接著就是證明新的方案滿足兩個(gè)屬性,單向性與不可預(yù)測性:
?單向性:很難從密文計(jì)算得到明文,詳細(xì)的游戲細(xì)節(jié)描述如下:
?不可預(yù)測性:對(duì)于同一個(gè)明文的加密獲得同樣密文的概率可以忽略,這將有效的降低密文的可延展性(CCA)。形式化的定義如下:
?值得注意的是,單向假設(shè)和不可預(yù)測假設(shè)都已經(jīng)被語義安全所實(shí)現(xiàn),非常容易將任意的公鑰加密協(xié)議轉(zhuǎn)換為一個(gè)滿足上述假設(shè)的方案,在不影響原本的單向假設(shè)下。
? ? ? ?如果U(隨機(jī)化明文的函數(shù))可以被視作為隨機(jī)諭言機(jī)模型,并且該加密方案是單向且不可預(yù)測的,那么陷門函數(shù)協(xié)議FFO,是單向的在給于原像諭言機(jī)下,由于Fujisaki-Okamoto transformation。(這將意味著可以直接轉(zhuǎn)換為本書12.4、5節(jié)提到的基于RO-1CCA的CCA構(gòu)造)。
那么,我們將得到攻擊該方案敵手的優(yōu)勢如下所示:
首先,定義Game 0運(yùn)行敵手A和FFO在隨機(jī)諭言機(jī)版本的陷門攻擊游戲中,進(jìn)一步修改挑戰(zhàn)者構(gòu)造Game 1,2。定義Wj 為敵手在Game j中,敵手的所有隨機(jī)諭言機(jī)請(qǐng)求中包含秘密值x的事件。假設(shè)敵手對(duì)自己所有的輸出都需要進(jìn)行隨機(jī)諭言機(jī)請(qǐng)求,那么顯然,如果敵手在Game 0中的優(yōu)勢如下:
? ? ? ? 在Game 0中,挑戰(zhàn)者必須響應(yīng)敵手的隨機(jī)諭言機(jī)請(qǐng)求和鏡像請(qǐng)求。使用Map記錄隨機(jī)諭言機(jī)的的輸入與輸出,敵手可以進(jìn)行任意次的隨機(jī)諭言機(jī)請(qǐng)求和任意次的鏡像請(qǐng)求。并且使用另外一個(gè)表格Pre來跟蹤敵手隨機(jī)諭言機(jī)請(qǐng)求,記為Pre[y] = x,用以記錄y的原像。
?Game 0:?描述如下所示:
? ? ? ? ? ?
?Game 1:修改的部分如下:
? ? ? ?將第(2)步修改為:
定義在Game 1中發(fā)生的事件為Z1,也就是說敵手提交了一個(gè)原像諭言機(jī)請(qǐng)求如下:
?那么,由Difference lemma 可以得到:
? ? ? ? 如果Z1發(fā)生,意味著敵手找到了一個(gè)y`,與挑戰(zhàn)y不相等,與之對(duì)應(yīng)的原像x沒有被作為隨機(jī)諭言機(jī)請(qǐng)求過并且y`是一個(gè)合法的可以用私鑰sk解密的y`, 即為存在原像。對(duì)于這種情況,在Game 1中,只可能是下述兩種情況之一:
? ? ? ? 在x與其詢問原像相同的情況下,得到不同的加密值。或者,x與其詢問原像不同,r對(duì)于敵手又是獨(dú)立的,并且計(jì)算加密得到詢問y`。由單向陷門函數(shù)的加密不可預(yù)測性,得到一下不等式:
?Game 2: 與Game 1相同,除了修改原像諭言機(jī)描述如下:
? ? ? ? ? ? ? ? ??
?這里相比于Game 1不在使用私鑰sk,那么此時(shí)Game2 和 Game1 輸出相同,得到如下等式:
? ? ? ? ? ? ? ? ?Pr[W2]? ?= Pr[W1]
Game 3: 進(jìn)一步, 刪除步驟 (1) 得到Game3
? ? ? ?刪除步驟1后,游戲2 和 游戲3的唯一區(qū)別為,是否有x的初始化賦值,那么只要敵手不詢問到x, W3 和 W2的是相同的,所以有:
? ? ? ? ? ? ? ??
? ? ? ? 如果在游戲3中詢問到x,那么存在敵手B可以直接調(diào)用A構(gòu)造一個(gè)新的OW敵手,贏得單向陷門函數(shù)攻擊游戲,但是B想要從原像集合中找到該解也是比較困難的一件事,所以敵手只需要隨機(jī)的從原像集合中選擇一個(gè)條目作為攻擊優(yōu)勢,因?yàn)樵赪3的條件下,敵手必然會(huì)請(qǐng)求到x,敵手總共會(huì)進(jìn)行Qro次請(qǐng)求,所以W3發(fā)生的概率即為所有次諭言機(jī)請(qǐng)求概率求和,因?yàn)槊看味际蔷鶆螂S機(jī)選擇,OWadv就是B以隨機(jī)選取一個(gè)答案贏得游戲的過程,一共有Qro次詢問次數(shù),所以得到以下等式。得證。
?12.6.1 A generic instantiation
?給出一個(gè)通用的實(shí)際例子:
? ? ??
?
?加密解密算法如上圖所示,根據(jù)之前的通用構(gòu)造我們可以立即得到:
?實(shí)際上FO轉(zhuǎn)換就是在隨機(jī)諭言機(jī)模型下利用KEM密鑰封裝機(jī)制框架,使用一個(gè)公鑰加密方案和1CCA的對(duì)稱加密方案構(gòu)造了一種CCA的公鑰加密方案,并給出了通用構(gòu)造證明,核心在于給KEM的公鑰引入隨機(jī)空間R保證其不可延展。
?
?
?
總結(jié)
以上是生活随笔為你收集整理的《A Graduate Course in Applied Cryptography》Chapter 12 Chosen ciphertext secure pkc(4)finish的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 邮件合并的逆向应用,从多个Word文档中
- 下一篇: 人人都是导师