官术网_书友最值得收藏!

1.5 Cramer-Shoup公鑰加密方案

1998年,Cramer和Shoup提出了一個實用且滿足自適應性選擇密文安全的公鑰加密方案。本節簡要回顧Cramer-Shoup加密方案的構造和安全性分析。

1.5.1 方案描述

SysGen:輸入安全參數λ,系統參數生成算法生成循環群(G,pg),p為群G的階,g為群G的生成元,選取密碼函數H:{0,1}*→Zp,輸出系統參數SP=(G,pgH)。

KeyGen:輸入系統參數SP,私鑰生成算法隨機選取群元素g1,g2∈G,α1,α2,β1β2γ1γ2Zp,計算,按照如下形式輸出公鑰pk和私鑰sk:

pk=(g1,g2,μ,υ,h),sk=(α1,α2,β1,β2,γ1,γ2)

Encrypt:輸入待加密的明文數據m∈G,公鑰pk,系統參數SP,加密算法選取隨機數rZp,計算密文CT=(C1C2C3C4)=(hrmurvwr),其中w=HC1C2C3)。

Decrypt:輸入密文CT,私鑰sk,系統參數SP,解密算法首先計算w=HC1C2C3),驗證等式是否成立。若成立,則計算

1.5.2 安全性分析

Cramer-Shoup加密方案的安全性基于一個DDH問題的變體,我們首先給出DDH問題的變體。

DDH問題的變體:設(G,pg)是一個循環群,其中p為群G的階,g為群G的生成元。已知群元素(ggagbgacZ)∈G,判斷Z是否等于gbc,其中abc是未知的。

定理1.3 如果DDH問題的變體是難解的,那么Cramer-Shoup加密方案是IND-CCA安全的。

證明:假設在IND-CCA安全模型中,存在一個攻擊算法A,能以不可忽略的優勢ε攻破Cramer-Shoup加密方案,那么我們可以構造一個模擬算法B通過與A交互,以不可忽略的優勢解決DDH問題的變體。設B以循環群(G,pg)上DDH問題的變體的實例(g1g2)作為輸入。

系統建立:令系統參數SP=(G,gpH),其中H:{0,1}*Zp為密碼哈希函數,B隨機選取α1α2β1β2γ1γ2Zp作為私鑰,設公鑰為

公鑰可以從問題實例和給定的參數計算得到。

詢問1:在該階段,敵手允許詢問密文解密。設詢問的密文為CT,由于B知道私鑰,它運行解密算法并將解密結果返回給敵手。

挑戰A輸出兩個不同的挑戰消息m0m1∈G。B隨機選取c∈{0,1},計算挑戰密文,其中由問題實例給出。令r=a1,如果a1=a2,有

因此,CT*為正確的挑戰密文,其加密的消息為mc

詢問2:敵手在該階段可繼續向挑戰者發出解密詢問,但不能詢問CT*的解密,挑戰者的響應方式與詢問1相同。

猜測A輸出對挑戰密文中消息的猜測c′,若c=c′,B輸出True,表示給定實例是正確的DDH元組,否則輸出False,表示不是正確的DDH元組。

根據證明的設置,模擬者B知道私鑰,因此能執行和真實攻擊環境不可區分的解密模擬。在生成私鑰和挑戰密文中,所有的數都是隨機選取的,所以模擬和真實攻擊是不可區分的。在證明中,模擬沒有出現失敗的情況,故模擬成功的概率為1。接下來分析B解決困難問題的概率。

若問題實例中的Z是正確的,該方案的模擬與真實的方案攻擊不可區分,因此敵手有1/2+ε/2的概率猜到正確的加密消息。若Z是錯誤的,敵手最多以的概率正確地猜測到加密消息,分析如下:

,其中zZp,則敵手可以從公鑰中得到zα1+2β1+2γ1+2,可以從挑戰密文中獲得a1a2a1α1+w*β1)+za2α2+w*β2),a1γ1+a2γ2+。如果γ1γ2對于敵手是未知的,且沒有發起解密詢問,那么γ1+2a1γ1+a22是隨機且獨立的,因為以下系數矩陣的行列式為非零:

在該情況下,從敵手的視角看,挑戰密文可以看作對消息mc的一次一密加密得到,因此敵手沒有任何的優勢猜到正確的c。下面證明解密詢問不能幫助敵手以不可忽略的優勢攻破挑戰密文。

)的解密詢問通過驗證,解密結果將返回給敵手C3·,敵手通過計算得到r1γ1+r22。如果r1=r2,則敵手所知道的相當于γ1+2,因此,敵手無法獲取額外的信息來破解一次一密加密。否則,敵手可以通過γ1+2r1γ1+r22計算出γ1γ2來破解密文,從而攻破一次一密加密算法。下面證明B能夠以不可忽略的概率拒絕所有與挑戰密文不同的無效密文。敵手提交的無效密文分以下兩種情況討論:

1),此時B拒絕該形式的密文,因為只有才會通過驗證。

2),由于哈希函數是安全的,因此有。如果以下等式成立,則密文可以通過驗證:

也就是說如果敵手能計算出r1(α1+1)+r2z(α2+2),即可通過驗證。

根據證明,包括r1(α1+1)+r2z(α2+2)在內的所有與α1,α2,β1,β2相關的參數為:

α1+2

β1+2

a1(α1+w*β1)+za2(α2+w*β2)

r1(α1+1)+r2z(α2+2)

(α1,α2,β1,β2)相應的系數矩陣為

矩陣行列式的值為z(r2-r1)(a2-a1)(w*-w)≠0,因此,r1(α1+1)+r2z(α2+2)是隨機的且與其他給定參數無關。所以,除了以1/p的概率產生C4通過驗證,敵手沒有任何優勢。

當敵手產生一個錯誤的密文提交給解密詢問時,第一次自適應選擇C4成功的概率為1/p,第二次自適應選擇C4成功的概率為1/(p-1)。因此,對于qd次解密詢問,成功生成一個可以通過驗證的不正確密文的概率最多為。此外,敵手有1/2的概率從密文中猜對c。綜上所述,敵手最多有的概率正確地猜到加密消息。因此,B解決DDH問題的變體的優勢為

主站蜘蛛池模板: 富平县| 阳高县| 平邑县| 太原市| 平陆县| 邢台市| 社会| 长顺县| 琼海市| 美姑县| 江津市| 定南县| 临清市| 昔阳县| 且末县| 永胜县| 吴江市| 扎兰屯市| 山西省| 阜康市| 明水县| 玉溪市| 老河口市| 阿合奇县| 唐河县| 利辛县| 金沙县| 兴化市| 台东县| 乌拉特后旗| 大荔县| 宁晋县| 临桂县| 盐源县| 南部县| 安顺市| 阿克陶县| 太谷县| 健康| 高平市| 神池县|