?

一種通用可組合安全的非交互式承諾方案

2024-03-05 08:19蔡泗沐王立斌
計算機與現代化 2024年1期
關鍵詞:雙模式敵手模擬器

蔡泗沐,王立斌

(華南師范大學計算機學院,廣東 廣州 510631)

0 引 言

承諾方案(commitment schemes)是密碼協議中最基本的組件之一,由承諾階段和承諾打開階段2 個階段組成。在承諾階段,承諾方發送包含承諾值x的密封信封給接收方。在承諾打開階段,承諾方以接收方可以驗證的方式從信封中打開承諾值x。承諾方案至少滿足以下2 種屬性[1]:1)綁定屬性(biding property),表示承諾方不能更改包含在信封里的承諾值x;2)隱藏屬性(hiding property),表示在承諾方打開信封之前,接收方無法獲得關于承諾值x的任何信息[2]。

通用可組合(Universal Composability,UC)框架下安全的承諾方案由Canetti等人提出[1]。UC 承諾方案可以用來構建UC安全的零知識協議[3]和兩方或多方計算[4-5]。根據組合定理[6],UC 安全協議具有與任意協議的安全可組合性,而不需要重新驗證其安全性。為達到UC安全,UC承諾方案必須同時滿足可提取 性(extractability)和 模 棱 兩 可 性(equivocability)[7-8]??商崛⌒员硎灸M器可以從承諾中提取出承諾值,模棱兩可性表示模擬器可以生成能打開為任意值的承諾。此外,在平實模型(plain model)中無法構造UC 承諾方案,因此不能在沒有額外設置假設的情況下構造它們[1]。一種常用的設置假設是公共參考串(Common Reference String,CRS)模型,它允許被信任的實體從正確的分布中生成CRS,而不公開它的陷門[1]。

目前有多種CRS 模型下的UC 承諾方案被提出[9-11]。Lindel[9]提出了第一種基于普通素數階群的高效UC承諾方案。Blazy等人[10]糾正了Lindell方案中的一個漏洞,并提出了一種帶有額外優化的新方案。Fujisaki[11]進一步優化了文獻[10]的方案,得到了一種普通素數階群中目前已知的最有效的UC承諾方案[12]。

現有的幾種高效的UC 承諾方案[9-11]都是交互式的承諾方案,交互式的承諾方案不僅增加了通信的輪數,且可能會遭受拒絕服務攻擊[13-14]。在交互階段中,各方需要在通信回合之間保持狀態。因此,敵手(惡意發送方/接收方或中間人)可以通過在通信回合期間發送不正確生成的消息來誘使各方浪費他們的資源,而在非交互式的情況下不會存在這種問題[15]。然而,已有的非交互式承諾方案相對于交互式承諾方案具有較高的協議計算量和復雜度,降低了協議的效率,如Fischlin 等人[13]的非交互式UC 承諾方案。為此,本文將文獻[9-10]中交互式方案的承諾打開階段改進為一輪通信,實現了協議的非交互性,得到一種高效的非交互式UC承諾方案。

實現UC安全的主要思想在于實現協議的可提取性和模棱兩可性。在承諾階段中,承諾方案[9-10]使用一種CCA2 安全的加密方案對承諾值進行承諾,利用加密方案的完美綁定(perfectly binding)屬性,實現承諾方案的可提取性。而在承諾打開階段,其進行一次由∑協議[16]轉化得到的交互式零知識證明,實現了承諾方案的模棱兩可性。

本文協議在承諾階段沿用常規UC承諾方案的方法,使用一個CCA2 安全的加密方案對承諾值進行承諾。但在承諾打開階段中,對∑協議進行一次Fiat-Shamir[17]轉換,得到一種非交互式零知識證明,用于證明打開的承諾值,實現了協議的非交互性;且利用一種雙模式承諾[18]來保持整個承諾方案的模棱兩可性,得到了一種高效的UC 非交互式承諾方案。與最初的原有方案[9]相比,不僅減少了承諾打開階段的通信輪數,且降低了協議計算量和通信量。與文獻[13]中的非交互式承諾方案相比,大大減少了協議計算量和通信量,提高了協議的效率,且不需要用到雙線性對[19]。本文重點關注高效、非交互式的UC承諾方案。

1 背景知識

設S為一個集合,sS指從集合S抽取一個元素s。安全參數記為n,若對于每個多項式p存在整數N,使得每個n>N滿足μ(n) <1/p(n),則稱函數μ可忽略。記A為一個事件(都包含于某個樣本空間內),Pr[A]代表事件A發生的概率,X和Y表示2 種概率分布。若對于非均勻多項式時間的區分器D,存在可忽略 函 數μ,使 得 所 有a∈{ 0,1}*和n∈N,滿 足|Pr[D(X(n,a))]= 1| - |Pr[D(Y(n,a))]= 1| ≤μ(n),則稱{X(n,a)}n∈N;a∈{0,1}*與{Y(n,a)}n∈N;a∈{0,1}*這2種分布計算上不可區分,表示為{X(n,a) }≡c{Y(n,a) }。{X(n,a) }≡{Y(n,a) }表示2種分布統計上不可區分。

1.1 ∑協議

∑協議[16]是一種三輪誠實驗證方零知識協議。證明方P要證明的語句記為x,P和驗證方V交互發送的消息記為(a,e,z)。如果驗證方V基于值(x,a,e,z)通過驗證,則稱(a,e,z)為證明語句x的可接受元組。下面給出∑協議的形式化定義。

定義1如果協議是三輪公共拋幣協議并且滿足以下要求,則協議是二元關系R的∑協議:

完備性(completeness):如果P和V在輸入x和w上遵循協議,P有私有輸入w,其中(x,w) ∈R,則V始終接受。

特殊可靠性(special soundness):存在一個多項式時間算法A,給定輸入x,以及一對可接受元組(a,e,z)、(a,e',z'),其中e≠e',輸出w使得(x,w)∈R。

特殊誠實驗證方零知識(special honest-verifier zero knowledge):存在一個概率多項式時間模擬器M,它在輸入(x,e)上輸出形式為(a,e,z)的三元組,其與誠實的P和V在公共輸入x上發送的三元組具有相同的概率分布。形式化描述如下,對于每個滿足(x,w) ∈R的x和w,以及e∈{ 0,1}t,其中t為大于零的整數,有:

上述公式中M(x,e)表示模擬器M在輸入(x,e)上的輸出,<P(x,w),V(x,e) >表示在P和V的一個證明執行過程中輸出的三元組,其中P的輸入為(x,w),V的輸入為x,且其隨機挑戰問詢為e。

1.2 Cramer-Shoup加密方案

Cramer-Shoup 加密方案[20]是一種CCA2 安全的加密方案。分為3 個階段:密鑰生成階段、加密階段和解密階段。

1)密鑰生成階段。公鑰為(G,q,g1,g2,c,d,h),私鑰為(x1,x2,y1,y2,z)。其中G是一個q階群,g1、g2是群G的2個不同的生成元。隨機抽取計算

2)加密階段。若要加密m(m∈G),則隨機抽取計 算u1=gr1,u2=gr2,e=hr·m,ω=H(u1,u2,e),v=(cdω)r,其中H:{ 0,1}n→Zq是一個抗碰撞哈希函數族。密文為(u1,u2,e,v)。

3)解密階段。計算ω=Hk(u1,u2,e),若

1.3 雙模式承諾方案

雙模式承諾方案(dual-mode commitments)在文獻[21]中被提出,該方案是在CRS模型下的承諾方案,有2 種不可區分的方式選取CRS。在生成常規的CRS 密鑰時方案具備完美綁定性,而在以不可區分的方式生成替代CRS密鑰時,該方案具備模棱兩可性。更多的細節可以參考文獻[18]。

以下給出一種本文需要用到的雙模式承諾方案構造,該方案在判定性Diffie-Hellman 假設(Decisional Diffie-Hellman problem,DDH)下提出,且在∑協議的基礎上轉換而來?!茀f議雙方交互發送的消息記為(a,e,z),利用∑協議的特殊可靠性,當(x,w) ?R時,對于每個初始消息a,僅存在一對(e,z)使得(a,e,z)是能通過驗證的可接受元組。當(x,w) ∈R時,對于任意的a和e,都能成功計算z使得(a,e,z)是一個可接受元組。故常規CRS 密鑰設置(x,w) ?R,替代CRS則設置(x,w) ∈R。構造如下:

構造1雙模式承諾方案

常規CRS 生成(regular CRS):CRS 為(G,q,g,h,u,v),G是q階群,且有2 個生成元g、h。隨機抽取p1,

替代CRS 生成(alternative CRS):隨機抽取pZq,計算u=gp,v=hp,其余同上。

承諾階段:對一個值m∈{ 0,1}n進行承諾,隨機抽取zZq,計算a=gz/um,b=hz/vm,設置承諾c=(a,b)。

承諾打開階段:承諾方提供(m,z),接收方驗證gz=aum,hz=bvm,驗證通過則輸出m,否則輸出0。

上述構造在常規CRS 的情況下(g,h,u,v)不是Diffie-Hellman 元組,因此根據∑協議的特殊可靠性,對于每一個初始消息(a,b)僅存在一對(e,z)使得gz=aue,hz=bve。故在常規CRS 下上述承諾方案具備完美綁定性。

在替代CRS 的情況下(g,h,u,v)是一個Diffie-Hellman 元組,且模擬器擁有證據p。故模擬器可在承諾階段發送c=(a,b)=(gr,hr)。而在承諾諾打開階段,模擬器可以將c打開為任意的值m,只需計算對應的z=r+mp。由于gz=gr+mp=gr(gp)m=aum,hz=hr(hp)m=bvm,故模擬器可成功將c打開為任意值m。因此在替代CRS下上述承諾方案具備模棱兩可性。

1.4 非交互式零知識證明

非交互式零知識證明(Non-Interactive Zero-Knowledge,NIZK)涉及證明方P和驗證方V,擁有證據w的P向V證明某個語句x,且NIZK 滿足完備性(completeness)、可靠性(soundness)和零知識(zero knowledge)屬性,有關NIZK 的詳細定義可參考文獻[22]。本節給出本文協議用到的一種非交互式零知識證明的構造,該構造在文獻[18]中被提出。對一種∑協議做一次Fiat-Shamir 轉換,且證明方需計算一個對協議中初始消息的雙模式承諾,得到了一種NIZK,證明了該構造的可靠性和零知識屬性。

構造2非交互式零知識證明

輸入:公共語句x,證明方P有證據w使得(x,w)∈R。

CRS:雙模式承諾方案的常規CRS pk,以及哈希函數族H的密鑰k。

證明方算法P(x,w,pk):

1.計算a=P1(x,w)。

2.計 算c=(a,r),d=(a,r)。 其 中(a,r)表示使用隨機數r和公鑰pk 對a計算的雙模式承諾,d表示對承諾c的打開。

3.計算e=Hk(x,c)。

4.計算z=P2(x,w,a,e)。

5.計算證明π=(x,c,d,z)。

驗證方算法V(x,pk,c,d,z):

1.若d=(a,r)正確打開了c,則繼續以下步驟,否則直接輸出0。

2.計算e=Hk(x,c)。

3.輸出V∑(x,a,e,z)。

引理1若∑=(P1,P2,V∑)是一種關系為R的協議,且Comdual是一種雙模式承諾方案。H:{ 0,1}*→{ 0,1}n是一種不可編程的隨機預言機(non-programmable random oracle),則上述 NIZK 具備自適應可靠性(adaptive soundness),即對于沒有證據w的不誠實的證明方P,P成功證明語句x的概率是一個可忽略量。

1.5 安全模型

UC 框架定義了一個概率多項式時間(Probabilistic Polynomial-Time,PPT)環境機器Z,它監督理想世界和真實世界中協議的執行[23]。2 個世界中都有PPT敵手和誠實方,其中一些誠實方被敵手控制變為淪陷(corrupted)方。在現實世界中,真實協議在各方之間運行,并由現實世界敵手提供一些潛在的攻擊。在理想世界中,還有一個可信第三方,即理想功能F。理想世界中的各方將它們的輸入發送到理想功能F,F再以可信的方式執行協議的計算并將輸出發送回各方[24-25]。理想世界中是絕對安全的,即理想世界中的敵手是無法進行任何攻擊的。如果存在理想世界敵手(模擬器)S,使得沒有環境Z可以區分它自身與真實敵手A一起運行的真實世界以及它自身與理想世界敵手S一起運行的理想世界,則說明A在真實協議中獲得的信息不比S多。由于F的存在,理想世界完全安全,S無法進行任何攻擊,故真實協議的A也無法進行攻擊,稱協議UC 實現理想功能F[26]。功能F定義如下:

定義2功能FMCOM。具有會話標識sid 的FMCOM與各方P1,…,Pn以及敵手S一起運行,其中ssid 表示每次承諾的序號,commit 標記為承諾報文,receipt 標記為已收到承諾報文:

1)承諾階段:當從Pi收到(commit,sid,ssid,Pi,Pj,x),記錄(ssid,Pi,Pj,x),并發送(receipt,sid,ssid,Pi,Pj)給Pj和S。忽略從Pi到Pj具有相同ssid 的任何未來的承諾消息。

2)承諾打開階段:從Pi收到(reveal,sid,ssid),如果元組(ssid,Pi,Pj,x)先前有記錄過,則發送(reveal,sid,ssid,Pi,Pj,x)給Pj和S,否則就忽略。

如果存在概率多項式時間模擬器S,使得對于每個非均勻的概率多項式時間環境Z和每個概率多項式時間敵手A,有:

則稱協議ΠUC實現理想功能F。

2 協議構造

本章描述本文UC承諾方案的設計思想,并在此基礎上構造出一種高效的UC非交互式承諾方案。

2.1 設計思想

本協議基于CRS 模型,使用CCA2 安全公鑰加密方案和非交互式零知識證明協議構造出一種UC安全的非交互式承諾方案。其關鍵設計思想體現在:為達到UC 安全,所設計協議必須同時實現可提取性和模棱兩可性,并且模擬器不能回卷(rewind)敵手[27-28]。

首先,要實現承諾方案的可提取性,意味著在安全證明時模擬器可以提取出淪陷參與方承諾的值。為此,使用一種CCA2 安全的加密方案Ecca,其公鑰包含在CRS 中。承諾方在承諾階段發送一個對承諾值的Ecca加密密文作為承諾。由于CRS 由模擬器產生,故其可獲得Ecca相應的私鑰。模擬器可直接使用私鑰進行解密,獲得承諾方的承諾值,即可成功實現可提取性。

其次,要實現模棱兩可性,意味著在安全證明時模擬器可以將承諾打開為任意值。為此,承諾方在承諾打開階段發送承諾值并進行一次零知識證明,該零知識證明用來證明承諾方擁有加密承諾值使用的隨機數,即證明承諾階段的承諾確實為發送值的加密。承諾打開階段以∑協議為基礎,且承諾方需計算一個對∑協議初始消息的雙模式承諾。利用雙模式承諾的模棱兩可性,模擬器在證明中可對任意的承諾值生成一次合法的證明,即可將承諾打開為任意值,實現整個方案的模棱兩可性。

另外,使用Fiat-Shamir 轉換將∑協議轉化為非交互式零知識證明,實現了協議的非交互性。由于使用了雙模式承諾,故協議仍保持模棱兩可性。在安全證明中實現模棱兩可性的具體做法如下。

記∑協議中證明方和驗證方交互發送的消息為(a,e,z),此處模擬器S作為證明方,記x為S要打開的值。S先計算a的雙模式承諾c,再根據Hk(x,c)獲得挑戰問詢e。模擬器S在選取一個替代CRS 密鑰后,雙模式承諾方案具備模棱兩可性。S在獲得挑戰問詢e后,可利用雙模式承諾方案的模棱兩可性,將c打開為任意的a值。故模擬器S可選取隨機的z,根據z和挑戰問詢e計算出初始消息a,然后將c打開為計算的a值,即可實現整個方案的模棱兩可性。接下來給出本文協議構造的詳細描述。

2.2 協議具體構造

以下給出本文UC 承諾方案的具體構造,將其表示為協議Π,協議Π執行如圖1所示。其中,Pi為承諾方,Pj為接收方。協議構造主要分為3 個部分:系統建立階段、承諾階段和承諾打開階段。系統建立階段生成CRS;承諾階段進行一次CCA2 安全的加密;承諾打開階段進行一次非交互式零知識證明,證明發送的值確實為承諾階段的承諾值。承諾打開階段的非交互式零知識證明,是將1.4節NIZK通用構造中的∑協議和雙模式承諾方案實例化后得到的。過程如下:

1)系統建立。CRS 包含(G,q,g1,g2,c,d,h,u,v,k)。其中G是具有生成元g1,g2的q階群。隨機選擇,(G,q,g1,g2,c,d,h)是一個Cramer-Shoup 公鑰。隨機抽取g2,u,v)是雙模式承諾方案的常規公鑰。k是一個抗碰撞哈希函數族H:{ 0,1}n→Zq的密鑰。G:{ 0,1}n→G是從m'∈{ 0,1}n映射到群G的可逆函數。

2)承諾階段。在輸入(commit,sid,ssid,Pi,Pj,x)下,其中承諾方計算一個Cramer-Shoup 密文作為承諾。過程如下:

①Pi計算m=G(x,sid,ssid,Pi,Pj)。

②Pi計算一個對m的Cramer-Shoup 密文:抽取隨 機 數rZq,計 算Hk(u1,u2,e)、v1=(cdω)r。其中(u1,u2,e,v1)為加密密文。

③Pi設承諾c1=(u1,u2,e,v1),發送(sid,ssid,c1)給Pj。

④Pj存儲(sid,ssid,Pi,Pj,c1)并輸出(receipt,sid,ssid,Pi,Pj),Pj忽略以后發送的具有相同(sid,ssid)的承諾消息。

3)承諾打開階段。收到(receipt,sid,ssid,Pi,Pj)后,Pi將承諾值x和一次非交互式零知識證明π發送給Pj。π證明同指數(使用證據r)。π是利用一種雙模式承諾方案對協議進行Fiat-Shamir類型轉換得到的。

Pi計算π的過程如下:

①計算一個∑協議的初始消息C:隨機抽取sZq,計算一個∑協議初始消息C=(α,β,γ,δ) =計算I=Hk(m,C,sid,ssid,Pi,Pj)。

②計算對初始消息C的雙模式承諾c2,以及對承諾的打開d:隨機抽取z0Zq,計算a=/uI,b=

③計算∑協議的挑戰問詢ε以及應答z:ε=Hk(x,c2),z=εr+s。

④設π=(c2,d,z),并發送(sid,ssid,x)和π給Pj。

Pj首先驗證d是否正確打開c2,若不正確打開則直接輸出0。否則,接著驗證∑協議的三輪消息(C,ε,z)是否為一個可接受元組,若是則接受承諾值x,否則不接受。過程如下:

①計算m=G(x,sid,ssid,Pi,Pj),I=Hk(m,C,sid,ssid,Pi,Pj)。驗證,若驗證通過繼續下列步驟,否則直接輸出0。

②計算ε=Hk(x,c2)。

3 安全證明

本章證明分為2 個階段:模擬器模擬階段和證明不可區分性階段。模擬階段是對理想視圖進行模擬,給出模擬器S對2 種淪陷情況的模擬步驟。證明不可區分性階段和證明理想視圖和真實視圖的不可區分,定義一系列中間游戲G1、G2和G3,并通過這一系列游戲證明S模擬的視圖(即理想世界的視圖)與真實協議運行的視圖對于環境Z不可區分。接下來給出模擬器S的描述和安全證明。

定理1若DDH 假設在群G下成立,且H是一個抗碰撞哈希函數族,則2.2節協議Π在靜態敵手,以及FCRS混合模型下UC安全地實現了理想函數FMCOM。

證明:以下證明分為2 大階段:模擬器模擬階段和證明不可區分性階段。

1)模擬器模擬階段。

給出模擬器的初始化步驟以及分別對以下2 種淪陷情況的模擬步驟。

初始化步驟:模擬器S為Cramer-Shoup 密碼系統選擇一個公鑰/私鑰對;設(G,q,g1,g2,c,d,h)為公鑰。另外,S選擇雙模式承諾方案的替代CRS,隨機選取pZq,計算u=gp1和v=gp2。選取哈希函數族H的密鑰k。S將CRS設置為(G,q,g1,g2,c,d,h,u,v,k)。

情形1:Pi為誠實方,Pj為淪陷方:

①承諾階段:當S從FMCOM接收到(receipt,sid,ssid,Pi,Pj)時,S計算一個對0 的Cramer-Shoup 加密密文c1,并發送(sid,ssid,c1)給A,模擬A從Pi獲得承諾的過程。

②承諾打開階段:從FMCOM接收到(reveal,sid,ssid,Pi,Pj,x)后,模擬器S需要模棱兩可地打開承諾值,即把承諾階段中對0 的承諾c1打開為誠實方Pi打開的值x,過程如下:

步驟1隨機生成一個雙模式承諾c2:隨機抽取

步驟2計算ε=Hk(x,c2)。

步驟3由ε和z計算出初始消息C:隨機抽取

步驟4利用雙模式承諾的模棱兩可性,將c2打開為初始消息C:計算I1=Hk(m,C,sid,ssid,Pi,Pj),取z1=r+I1p,設d=(C,z1),并將打開值x與證明π=(c2,(C,z1),z)發送給Pj。

情形2:Pi為淪陷方,Pj為誠實方:

①承諾階段:當從敵手A收到(sid,ssid,c1)時,模擬器利用自己的Cramer-Shoup私鑰解密c1。假設解密結果為m=G(x,sid',ssid',i',j'),若(sid',ssid',i',j')≠(sid,ssid,i,j)或解密返回不合法的值,則S發送對0的承諾(commit,sid,ssid,Pi,Pj,0)給FMCOM。否則模擬器S發送(commit,sid,ssid,Pi,Pj,x)給FMCOM。

②承諾打開階段:S模擬Pj的運行,若Pj輸出(reveal,sid,ssid,Pi,Pj,x),則S發 送(reveal,sid,ssid,Pi,Pj)給FMCOM。否則,S什么都不做。

至此,模擬器S模擬的理想視圖已描述完畢。協議Π 是在FCRS模型下運行的真實協議。接下來需要證明對于每個敵手A和每個環境Z,有:如1.5 節所述,其中表示環境Z在與理想敵手(模擬器)S和功能F的理想執行后的輸出。表示環境Z在CRS 模型下的現實世界中執行真實協議Π 后的輸出。

2)證明不可區分性階段。

從理想世界出發,在一系列游戲G1、G2和G3中以不可區分的方式修正模擬過程,逐步達到現實世界。

GameG1。在這個游戲中,模擬器S1對S的行為進行微調。在模擬Pi為誠實方,Pj為淪陷方的承諾階段時,S1完全模擬誠實參與方Pi在真實協議的計算過程,將承諾c計算為m=G(x,sid,ssid,Pi,Pj)的加密。即S1模擬的G1游戲和S模擬的理想世界僅有一處不同,S1在Pj淪陷的承諾階段發送的是對m的加密密文,而S發送的是對0 的加密密文。為了證明環境Z計算上無法區分2 幅視圖,需要規約到加密方案的安全性上。然而,S和S1在Pi淪陷時需在承諾階段的模擬過程中解密,而能解密的原因在于S和S1擁有Cramer-Shoup私鑰。這使得規約無法進行,因為攻擊加密方案的敵手Acs沒有私鑰,無法模擬S和S1的視圖。如2.1 節所述,由于Cramer-Shoup 加密方案CCA2 安全,故Acs可以利用解密預言機進行解密,并根據挑戰密文模擬S和S1這2幅視圖。若環境Z可以區分上述2 幅視圖,則存在敵手Acs可以打破Cramer-Shoup 加密方案的CCA2 安全性。即這2 幅視圖的不可區分性可規約到Cramer-Shoup 加密方案的CCA2安全性上,故:

GameG2。在這個游戲中,模擬器S2對S1行為的微調體現在:在模擬Pi為誠實方,Pj為淪陷方的承諾打開階段時,S2完全模擬誠實參與方Pi在真實協議中的計算過程,即真實地計算(α,β,γ,δ),ε和z。S2能按此方式模擬的原因在于承諾階段發送的承諾c是對m=G(x,sid,ssid,Pi,Pj)的加密,因此S2能扮演誠實證明方。由于雙模式承諾方案的模棱兩可性,模擬器S1在G1中總能生成可通過驗證的合法三元組(a,ε,z)。因此,游戲G1和G2在承諾打開階段均模擬了一次合法的非交互式零知識證明,證明元組是一個Diffie-Hellman 元組,容易得出環境Z無法區分G1與G2,故:

GameG3。在這個游戲中,模擬器S3繼續微調S2的行為,將雙模式承諾方案的替代CRS 替換為常規CRS,即CRS 中的此 時Pi對∑協 議 初 始 消 息(α,β,γ,δ)的雙模式承諾c2具備完美綁定性,即Pi對于c2只能打開為確定的初始消息(α,β,γ,δ)。由于雙模式承諾方案中常規密鑰和替代密鑰的不可區分性,有:

至此,對理想視圖的調整結束。接下來需要證明游戲G3與真實協議Π 這2 幅視圖計算上不可區分。注意到在承諾方Pi誠實的情況下,游戲G3與一個在FCRS混合模型下執行的真實協議行為相同。因此,環境Z在2 幅視圖下的輸出的唯一區別取決于Pi淪陷的情況下在承諾打開后誠實方Pj的輸出x。這是因為在G3中,誠實方Pj輸出的值x由模擬器S3在承諾階段使用Cramer-Shoup 私鑰解密后得到。而在FCRS混合模型下的真實協議中,Pj的輸出值x是敵手A在承諾打開階段發送且能成功通過驗證的值。

當且僅當敵手A能夠在承諾打開階段向Pj成功證明發送的值x,且A在承諾階段的承諾c不是對m=G(x,sid,ssid,Pi,Pj)的加密,上述情況Pj的輸出才會不同。故這2 幅視圖的不可區分性可規約到承諾打開階段非交互式零知識證明的可靠性。因此環境Z計算上不可區分G3與真實協議這2幅視圖,即:

綜上所述,得出環境Z在FCRS混合模型下和A執行的真實協議后的輸出與在理想模型FMCOM下和SA執行的協議后的輸出計算上不可區分,因此2.2 節中承諾方案Π在靜態敵手模型下UC安全,定理1得證。

4 協議性能分析

本章給出圖1 協議Π 的效率分析,與相關協議在通信復雜度、計算量、通信輪數以及協議安全性作對比。對比時使用橢圓曲線群來對G進行實例化。結論如表1所示。

表1 協議效率對比

表1 符號解釋:n表示安全參數。若q是橢圓曲線群G的階,則log(q)=O(n)。| |G表示G中元素的個數,取決于具體實例化,但通常略大于log(q)。Texp(G)表示G上一個群指數計算的開銷。

協議Π 效率分析。協議在承諾階段的計算量為5 個群指數運算。在承諾打開階段,承諾方Pi有8 個群指數運算,接收方Pj有13 個群指數運算??傆嬎懔繛?6 個群指數運算。協議在承諾階段的通信量為4個群元素,承諾打開階段的通信量為6個群元素與2個參數,總通信量為10個群元素和2個參數。

由表1 對比可知,協議Π 在原有方案上減少了承諾打開階段的通信輪數,將UC 承諾方案改進為非交互式,且與最初的原有方案[9]相比,減少了計算量和通信復雜度,提高了協議的效率。與文獻[11]中方案相比,本文協議在犧牲較少通信量與計算量的情況下,實現了協議的非交互性,將三輪協議改進為一輪,協議各項效率達到了更好的平衡;與現有的非交互式UC 承諾文獻[13]相比,協議的計算量僅為該方案的63%。文獻[13]的計算量為41Texp(G),且用到了雙線性對。需要說明的是本文協議僅在靜態敵手模型下證明了安全性,文獻[13]中協議Π 在自適應敵手(adaptive adversaries)模型下安全。

5 結束語

本文在DDH 假設成立的條件下,在公共參考串模型下提出了一種高效的非交互式UC 承諾方案,并在靜態敵手模型下給出了安全性證明。協議在原有方案基礎上,將承諾打開階段的交互式證明改進為非交互式證明,減少了協議的通信輪數,且與已有的非交互式UC 承諾方案相比,降低了協議計算量和通信計算量,提高了協議的效率。筆者接下來需要研究的是如何在自適應敵手模型下提出更高效的UC安全非交互式承諾方案。

猜你喜歡
雙模式敵手模擬器
小直徑雙模式盾構機在復合地層中的施工應用與實踐
了不起的安檢模擬器
盲盒模擬器
劃船模擬器
不帶著怒氣做任何事
基于域分解的雙模式PE
動態飛行模擬器及其發展概述
雙模式盾構下穿巖溶地區河流施工技術
Z源逆變器并網獨立雙模式控制策略研究
不帶著怒氣作戰
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合