基于符號邊值二叉決策圖的安全兩方計(jì)算方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息安全領(lǐng)域,具體涉及一種基于符號邊值二叉決策圖(Edge-Valued Binary Decision Diagram,EVBDD)的安全兩方計(jì)算方法和系統(tǒng)。
【背景技術(shù)】
[0002] 安全多方計(jì)算概念最早由華裔計(jì)算機(jī)科學(xué)家、圖靈獎獲得者姚啟智教授提出。姚 啟智通過"百萬富翁問題"對安全多方計(jì)算進(jìn)行了形象闡述,即如何通過安全協(xié)議,在保護(hù) 各自資產(chǎn)數(shù)量不為對方所知的前提下,計(jì)算出兩個百萬富翁誰更有富有。安全多方計(jì)算主 要用于研宄一組互不信任的參與方之間在保護(hù)私有信息的前提下進(jìn)行的聯(lián)合計(jì)算問題,其 基本要求是要確保計(jì)算的高效性、隱私性和正確性。
[0003] 隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展為安全多方計(jì)算創(chuàng)作了大量的應(yīng)用場景,即參 與者各方基于各自的輸入聯(lián)合完成一個計(jì)算任務(wù)。例如,顧客向遠(yuǎn)程數(shù)據(jù)庫請求包含私密 信息的查詢、兩個存在競爭關(guān)系的公司通過網(wǎng)絡(luò)交換等價的商業(yè)信息等,存在信息交互的 場景都涉及安全多方計(jì)算。在信息化發(fā)展帶來便利的同時,數(shù)據(jù)安全與隱私保護(hù)問題不斷 凸顯,并成為了制約多方聯(lián)合計(jì)算發(fā)展的最大障礙。由于這些信息交互很可能在沒有信息 關(guān)系的各方之間進(jìn)行,所以聯(lián)合計(jì)算的同時也給了各參與方帶來了很大的隱私安全隱患, 參與方的私有數(shù)據(jù)被暴露,有可能受到非法的跟蹤和篡改。
[0004] 安全多方計(jì)算的研宄主要集中在兩方計(jì)算,目前就安全兩方計(jì)算問題提出的解決 方法有:
[0005] (1)基于布爾電路方法:參與者的其中一方首先用電路門刻畫聯(lián)合函數(shù),然后用 對稱加密的方法加密電路門。參與者的另一方執(zhí)行不經(jīng)意傳輸協(xié)議,獲得參與兩方的輸入 相對應(yīng)的密鑰,再結(jié)合接收到的混淆加密的電路門,解密出函數(shù)正確結(jié)果。
[0006] (2)基于OBDD方法:方法(2)在(1)的基礎(chǔ)上加入了符號算法以及同態(tài)加密技術(shù), 加強(qiáng)了隱私保護(hù),效率方面也得到很大提高。
[0007] (3)基于ADD方法:方法⑶與⑵的基礎(chǔ)上引進(jìn)了新的聯(lián)合函數(shù)刻畫工具,拓寬 了(2)的應(yīng)用范圍。
[0008] 上述方法(1)中存在一個安全漏洞,即聯(lián)合函數(shù)的規(guī)模及結(jié)構(gòu)處于公開狀態(tài),有 可能受到非法攻擊和篡改,從而是參與方的私有信息泄漏。雖然方法(2)中修復(fù)了這個安 全漏洞并提高了效率,但方法(2)在引入符號OBDD的同時不得不限制了安全多方計(jì)算的應(yīng) 用范圍,因?yàn)镺BDD只能刻畫布爾函數(shù),在偽布爾函數(shù)問題上則無能為力。方法(3)引入了 ADD,解決了(2)的應(yīng)用局限問題。ADD極大地改善了偽布爾函數(shù)和有限域取值函數(shù)的描述 能力。但隨著有限域中元素的增多,刻畫后的函數(shù)規(guī)模會急劇膨脹并面臨狀態(tài)空間爆炸問 題。
【發(fā)明內(nèi)容】
[0009] 本發(fā)明所要解決的技術(shù)問題是提供一種基于符號邊值二叉決策圖的安全兩方計(jì) 算方法和系統(tǒng),其能夠在較高的算法效率下,安全的完成參與方對聯(lián)合任務(wù)的策略執(zhí)行功 能,同時還保證了聯(lián)合任務(wù)的安全策略以及計(jì)算過程中的加密數(shù)據(jù)不被泄漏。
[0010] 為解決上述問題,本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的:
[0011] -種基于符號邊值二叉決策圖的安全兩方計(jì)算方法,包括如下步驟:
[0012] 階段一,服務(wù)器構(gòu)建局部混淆子聯(lián)合函數(shù)階段,即
[0013] 步驟1,服務(wù)器隨機(jī)為結(jié)點(diǎn)生成隨機(jī)數(shù),并對隨機(jī)數(shù)進(jìn)行混淆運(yùn)算后得到結(jié)點(diǎn)的混 淆隨機(jī)數(shù);其中每個結(jié)點(diǎn)對應(yīng)生成一個局部混淆子聯(lián)合函數(shù);
[0014] 步驟2,服務(wù)器將每個結(jié)點(diǎn)的局部混淆子聯(lián)合函數(shù)刻畫成邊值二叉決策圖;
[0015] 步驟3,服務(wù)器為邊值二叉決策圖中的各個節(jié)點(diǎn)隨機(jī)分配節(jié)點(diǎn)取值密鑰、節(jié)點(diǎn)密鑰 和節(jié)點(diǎn)標(biāo)簽,并用節(jié)點(diǎn)取值密鑰和節(jié)點(diǎn)密鑰為節(jié)點(diǎn)加密;
[0016] 步驟4,服務(wù)器為結(jié)點(diǎn)隨機(jī)分配結(jié)點(diǎn)標(biāo)簽;
[0017] 步驟5,服務(wù)器為結(jié)點(diǎn)隨機(jī)分配結(jié)點(diǎn)取值密鑰和結(jié)點(diǎn)密鑰,并用結(jié)點(diǎn)取值密鑰和結(jié) 點(diǎn)密鑰為結(jié)點(diǎn)加密后,依次發(fā)送給客戶端;
[0018] 階段二,服務(wù)器與客戶端的信息交互階段,即
[0019] 步驟6,客戶端生成一對公有密鑰和私有密鑰;用私有密鑰將服務(wù)器發(fā)送來的輸 入數(shù)據(jù)進(jìn)行加密后,依次發(fā)送給服務(wù)器;同時,將公有密鑰發(fā)送給服務(wù)器;
[0020] 步驟7,服務(wù)器用客戶端發(fā)送來的公有密鑰加密混淆隨機(jī)數(shù),并加密混淆隨機(jī)數(shù)與 客戶端發(fā)來的加密后的輸入數(shù)據(jù)做加法后,發(fā)送給客戶端;
[0021] 步驟8,客戶端解密服務(wù)器發(fā)來的數(shù)據(jù),并進(jìn)行混淆運(yùn)算后得到混淆數(shù)據(jù);
[0022] 階段三,客戶端的解密計(jì)算階段,即
[0023] 步驟9,客戶端從服務(wù)器處得到結(jié)點(diǎn)的結(jié)點(diǎn)取值密鑰和結(jié)點(diǎn)密鑰,及邊值二叉決策 圖內(nèi)節(jié)點(diǎn)的節(jié)點(diǎn)取值密鑰和節(jié)點(diǎn)密鑰;并利用這些密鑰為結(jié)點(diǎn)進(jìn)行解密后,獲得結(jié)點(diǎn)信息。
[0024] 上述方法中,所述結(jié)點(diǎn)包括初始結(jié)點(diǎn)、內(nèi)部結(jié)點(diǎn)和葉子結(jié)點(diǎn),但其中僅有內(nèi)部結(jié)點(diǎn) 能夠形成子聯(lián)合函數(shù),且服務(wù)器也僅為內(nèi)部結(jié)點(diǎn)產(chǎn)生混淆隨機(jī)數(shù)。
[0025] 上述方法中,步驟3中,還進(jìn)一步包括對邊值二叉決策圖中的虛節(jié)點(diǎn)進(jìn)行填充的 步驟。
[0026] 上述方法中,步驟1所采用的混淆運(yùn)算是對隨機(jī)數(shù)的2的比特?cái)?shù)倍次方取模后得 到混淆隨機(jī)數(shù);步驟7中所采用的混淆運(yùn)算是對數(shù)據(jù)的2的比特?cái)?shù)倍次方取模后得到混淆 數(shù)據(jù)。
[0027] 上述方法中,步驟3中服務(wù)器為節(jié)點(diǎn)進(jìn)行加密的過程具體為:服務(wù)器利用混淆輸 入數(shù)據(jù)和預(yù)設(shè)閥值構(gòu)建布爾分支;若布爾值為1,則轉(zhuǎn)向下一個右分支局部混淆子聯(lián)合函 數(shù),同時用取1時的節(jié)點(diǎn)取值密鑰加密該節(jié)點(diǎn);若布爾值為0,則轉(zhuǎn)向下一個左分支局部混 淆子聯(lián)合函數(shù),同時用取0時的節(jié)點(diǎn)取值密鑰加密該節(jié)點(diǎn)。
[0028] 基于上述方法的一種基于符號邊值二叉決策圖的安全兩方計(jì)算系統(tǒng),其特征是, 包括加密單元、二選一不經(jīng)意傳輸單元和解密單元;其中
[0029] 加密單元,服務(wù)器構(gòu)建混淆聯(lián)合函數(shù),并與客戶端進(jìn)行信息交互的主體單元;其包 括第一密鑰分配單元、隨機(jī)數(shù)生成器、符號刻畫單元以及服務(wù)器信息處理單元;第一密鑰分 配單元,用于為服務(wù)器生成所需的結(jié)點(diǎn)密鑰和取值密鑰;隨機(jī)數(shù)生成器,用于為服務(wù)器生成 標(biāo)簽以及用于生成混淆隨機(jī)數(shù);符號刻畫單元,用于刻畫子聯(lián)合函數(shù),即混淆子聯(lián)合函數(shù); 服務(wù)器信息處理單元,用于結(jié)點(diǎn)密鑰分配,標(biāo)簽分配,為客戶端分配取值密鑰以及其它信息 交互等提供綜合處理服務(wù);<