基于同態加密隱私數據保護的編輯距離計算系統的制作方法
【技術領域】
[0001] 本發明設及一種隱私保護的編輯距離計算方案,具體是一種基于同態加密隱私數 據保護的編輯距離(e d i t d i S化η C e)計算系統。
【背景技術】
[0002] 大數據時代對實驗科學產生了很重大的影響。在生物醫藥領域,一個很重要的發 展趨勢是通過對大量的數據進行研究來探索其中的規律。然而,一個單獨機構不能滿足研 究需要的存儲空間和計算能力。依賴于數據共享的云計算的提出,給基于大數據基因運算 的研究帶來了一個解決途徑。研究人員可W依靠云端來減少運算所需要的時間和儲存空 間。使用云空間的一個很大的弊端就是可能會造成隱私泄露。假定云端是"可靠的",它不會 把數據分享出去,但它自己可能會對數據感興趣。患者的基因數據是需要被保護的數據,不 能直接傳輸給云端,而其它的研究機構又需要運些數據來進行研究。同態加密的出現能夠 很好的解決運個問題。同態加密是一種特殊的加密方法,兩個通過同態加密得到的密文相 加,解密后等于兩個對應的原文相加。兩個通過同態加密得到的密文相乘,解密后等于對應 兩個相應的原文相乘。通過同態加密,被信任的第Ξ方生成一個公鑰跟密鑰,并把公鑰傳輸 給機構A,B。機構A和機構B通過運個公鑰把要進行運算的數據進行加密,然后把密文傳給云 端。云端對密文進行運算,然后將結果傳回給用戶。用戶對密文進行解密,得到原文結果。在 運種情況下,科研人員可W利用其它機構的數據進行研究。不像其它添加噪聲來保護隱私 的方法,使用同態加密的得到的結果是無誤差的。而機構A和機構B又不擔屯、自己的數據在 計算過程中被泄露。
[0003] 兩段基因序列的編輯距離(edit distance)可W用來表示運兩段基因之間的差 異。由于基因可能出現缺失,而導致無法比較漢明距離,所W求編輯距離。如果給定兩段基 因數據的明文,可W用Wagner-Fischer方法來求解它們之間的編輯距離。基于對現有技術 的文獻探索發現,Qieon JH等人在2015年的《3rd Workshop on lincrypted Computing and Applied Homomorphic Cryp tography》(WAHC ' 15 )會議上發表的"Homomorph i c Computation of Edit Distance" -文中提出了一種方法,基于二進制的表示方法,通過改 進Wagner-Fischer方法,得到可能的路徑。然后再對可能的路徑,計算對應的編輯距離。比 較運些編輯距離的值,取最小的值,作為兩段基因序列的編輯距離。但是,基于二進制的表 示方式,使得對密文做加法的時候,時間代價很大。而且,運篇論文里面的最短路徑的獲取 方法,并不能獲得所有可能的最短路徑,最后算出來的只是編輯距離的一個估計值。運些不 足促使申請人針對同態加密下求解兩段基因序列的編輯距離,提出了新的系統。
【發明內容】
[0004] 本發明針對現有技術的不足,提供了一種基于同態加密隱私數據保護的編輯距離 計算系統,可W提供基因序列的編輯距離計算的同時還保證了原始基因隱私數據的安全 性。
[0005] 本發明是通過W下技術方案實現的:
[0006] 本發明所述的基于同態加密隱私數據保護的編輯距離計算系統,包括:加密數據 比較模塊、最短路徑集計算模塊和編輯距離計算模塊,其中:
[0007] 所述加密數據比較模塊,對加密后的密文利用同態加密(homomorPh i C enc巧ption)的性質構造函數,輸入兩個需要比較的密文的差,輸出一個加密的標志位;
[0008] 所述最短路徑集計算模塊,首先計算所有可能的路徑集,然后對每條路徑進行校 驗,排除掉不可能成為最后結果的路徑,得到最短路徑集;
[0009] 所述編輯距離計算模塊,基于前面兩個模塊的結果,計算出每一個最短路徑集中 的加密的路徑值,再利用編輯距離只能在有限范圍內取值運個性質,判斷出其中的最短加 密路徑值,作為結果。
[0010] 優選地,所述加密數據比較模塊,利用全同態加密算法進行加密,得到的數據即同 態加密隱私數據。
[0011] 優選地,所述的加密數據比較模塊,構造了一個函數,該函數可W完成:在加密狀 態下,判斷兩個十進制整數是否相等。該函數的輸入是加密狀態下的兩個整數之差,函數輸 出的是加密狀態的1(如果兩個整數相等)或加密狀態的〇(如果兩個整數不等)。
[0012] 優選地,所述的最短路徑集計算模塊,通過對所有路徑集運用排除法,對于一條路 徑,如果還能找到另一條值不大于它的路徑,就把它排除。經過排除法后得到是最短路徑 集。
[0013] 優選地,所述的編輯距離計算模塊,通過計算最短路徑集里面的最短路徑,得到加 密的編輯距離。
[0014] 進一步的,本發明所述系統還包括并行運算模塊,所述并行運算模塊運用同態加 密里面的多孔結構,可W同時計算多個基因對的編輯距離,并利用了多核CPU,同時計算最 短路徑集里面的路徑值,加快了計算速度。
[0015] 本發明上述系統中所有的運算均處于加密的狀態下并且在云端運行,第Ξ方負責 提供公鑰給機構和密鑰給用戶,機構負責提供加密的數據給云端來運算,密文結果由云端 返回給用戶,用戶解密后得到最終結果。
[0016] 與現有技術相比,本發明具有如下的有益效果:
[0017] 本發明所述系統計算編輯距離的同時,還保證了原始隱私數據的安全性,基于整 數的表示方法也提升了計算的效率。本發明采用云端-客戶模式的福射式結構,其中加密數 據位于各個客戶端,加密數據比較模塊、最短路徑集計算模塊、編輯距離計算模塊和并行運 算模塊位于服務器云端,具備良好的安全性、實用性和擴展性。
【附圖說明】
[0018] 通過閱讀參照W下附圖對非限制性實施例所作的詳細描述,本發明的其它特征、 目的和優點將會變得更明顯:
[0019] 圖1為本發明一較優實施例的結構框圖;
[0020] 圖2為本發明一實施例最短路徑集計算的示意圖。
【具體實施方式】
[0021] 下面結合具體實施例對本發明進行詳細說明。W下實施例將有助于本領域的技術 人員進一步理解本發明,但不W任何形式限制本發明。應當指出的是,對本領域的普通技術 人員來說,在不脫離本發明構思的前提下,還可W做出若干變形和改進。運些都屬于本發明 的保護范圍。
[0022] 圖1所示,本發明一實施例系統的結構框圖,包括:加密數據比較模塊,最短路徑集 計算模塊,編輯距離計算模塊和并行運算模塊。其中:
[0023] 加密數據比較模塊,基于整數的表示方法,比較兩個密文是否相等。輸出為密文0 (不相等)或密文1(相等)。
[0024] 最短路徑集計算模塊,通過排除在所有路徑中值一定不可能是最小的路徑,將剩 余的路徑設定為最短路徑集。
[0025] 編輯距離計算模塊,首先計算出每一個最短路徑集中的加密的路徑值,再利用編 輯距離只能在有限范圍內取值運個性質,判斷出其中的最短加密路徑值,作為結果,返回給 用戶。
[0026] 并行運算模塊,運用同態加密里面的多孔結構,可W同時計算多個基因對的編輯 距離,并利用了多核CPU,同時計算最短路徑集里面的路徑值,加快了計算速度。
[0027] 本實施例中,所述的最短路徑集計算模塊的具體實現如圖2所示。在圖中,向下走 一格或者向右走一格表示路徑的值加1,斜向下走一個格路徑可能增加0,也可能增加1。運 取決于對應位置的兩個基因是否相等,相等增加0,不同增加1。每一條路徑都是從左上角的 (〇,〇)走到右下角的(4,4)。圖中有Ξ條實例路徑,其中虛線路徑不是一個有效的最短路徑, 因為輸入的運對基因序列的長度是4*4,所W編輯距離的最大可能值是4,而虛線路徑最小 的可能是6,所W虛線路徑不是可能的最短路徑。遍歷整個可能的路徑集,