TWI686712B - 基於混淆電路的數據統計方法、裝置以及設備 - Google Patents
基於混淆電路的數據統計方法、裝置以及設備 Download PDFInfo
- Publication number
- TWI686712B TWI686712B TW107130829A TW107130829A TWI686712B TW I686712 B TWI686712 B TW I686712B TW 107130829 A TW107130829 A TW 107130829A TW 107130829 A TW107130829 A TW 107130829A TW I686712 B TWI686712 B TW I686712B
- Authority
- TW
- Taiwan
- Prior art keywords
- node
- group
- data
- statistical
- random number
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000008569 process Effects 0.000 claims description 35
- 230000007717 exclusion Effects 0.000 claims description 27
- 230000003993 interaction Effects 0.000 claims description 19
- 230000010354 integration Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 11
- 239000003795 chemical substances by application Substances 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 230000006872 improvement Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000012954 risk control Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Storage Device Security (AREA)
Abstract
本說明書實施例公開了基於混淆電路的數據統計方法、裝置以及設備。方案包括:基於節點間數據交換和混淆電路,對節點兩兩進行服務數據統計,再將兩兩統計得到的數據進一步地兩兩統計,以此類推,得到最終統計結果。
Description
本說明書係關於計算機軟體技術領域,尤其關於基於混淆電路的數據統計方法、裝置以及設備。
隨著計算機和互聯網技術的迅速發展,很多業務可以在網上進行,給用戶帶來了便利。其中,有的業務需要多個服務提供方協作統計,比如,多頭借貸場景下的風控業務,在該場景下,服務提供方為金融機構,貸款申請者可能向其中一家或者多家金融機構借貸,在對貸款申請者進行風控時,往往需要多家金融機構參與統計。 在現有技術中,多個服務提供方的節點分別對外提供服務數據用於統計,比如針對服務數據求最大值、求最小值、求和、或者求平均值等。在上一段的例子中,具體可以是統計該貸款申請者在單家金融機構的最高貸款金額,或者也可以是統計該貸款申請者在多家金融機構的貸款金額之和,等等。 基於現有技術,需要更能保障服務提供方數據隱私性的統計方案。
本說明書實施例提供基於混淆電路的數據統計方法、裝置以及設備,用以解決如下技術問題:需要更能保障服務提供方數據隱私性的統計方案。 為解決上述技術問題,本說明書實施例是這樣實現的: 本說明書實施例提供的一種基於混淆電路的數據統計方法,包括: 對各節點進行分組,得到多個包含至多兩個節點的節點組; 在節點組內進行節點間部分服務數據交換,並根據交換後數據和混淆電路統計服務數據,得到組內統計數據,其中,所述混淆電路用於對統計過程進行混淆,以及基於隨機數隱藏統計結果; 根據所述組內統計數據進行節點組間統計,得到組間統計數據; 利用對應的隨機數,對所述組間統計數據進行還原,得到最終統計結果。 本說明書實施例提供的一種基於混淆電路的數據統計裝置,包括: 分組模組,對各節點進行分組,得到多個包含至多兩個節點的節點組; 組內統計模組,在節點組內進行節點間部分服務數據交換,並根據交換後數據和混淆電路統計服務數據,得到組內統計數據,其中,所述混淆電路用於對統計過程進行混淆,以及基於隨機數隱藏統計結果; 組間統計模組,根據所述組內統計數據進行節點組間統計,得到組間統計數據; 還原模組,利用對應的隨機數,對所述組間統計數據進行還原,得到最終統計結果。 本說明書實施例提供的一種基於混淆電路的數據統計設備,包括: 至少一個處理器;以及, 與所述至少一個處理器通信連接的記憶體;其中, 所述記憶體儲存有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠: 對各節點進行分組,得到多個包含至多兩個節點的節點組; 在節點組內進行節點間部分服務數據交換,並根據交換後數據和混淆電路統計服務數據,得到組內統計數據,其中,所述混淆電路用於對統計過程進行混淆,以及基於隨機數隱藏統計結果; 根據所述組內統計數據進行節點組間統計,得到組間統計數據; 利用對應的隨機數,對所述組間統計數據進行還原,得到最終統計結果。 本說明書實施例採用的上述至少一個技術方案能夠達到以下有益效果:各服務提供方分別對應於各節點,透過節點間數據交換和混淆電路,不僅可以隱藏節點具體持有的數據,也可以隱藏統計過程中提供數據的節點的身份,以及兩兩節點的數據之間的相對統計關係,因此,更能保障服務提供方數據隱私性。
本說明書實施例提供基於混淆電路的數據統計方法、裝置以及設備。 為了使本技術領域的人員更好地理解本說明書中的技術方案,下面將結合本說明書實施例中的附圖,對本說明書實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基於本說明書實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本申請保護的範圍。 在本說明書的方案中,針對各節點的服務數據統計是一種多方安全計算過程,多方安全計算在滿足任一方數據不洩露給其他方的需求下,實現多方協作計算,並且能夠保障計算結果的正確性。不僅如此,本說明書的方案還能夠隱藏統計過程中提供數據的節點的身份,以及兩兩節點的數據之間的相對統計關係。 為了達到上述效果,利用了節點間數據交換和混淆電路,數據交換包括節點間部分服務數據交換和/或隨機數交換等,所利用的混淆電路是在現有技術基礎上改進過的。 混淆電路是一種基於加密的安全計算協議,兩個互不信任的數據持有方,可以協作計算出某一個函數的結果,而使用電路進行表示,其輸入為兩方持有的數據,為了保證計算過程中雙方數據不暴露,需要對電路進行混淆,混淆電路協議保證了計算結果的正確性,同時雙方也不能從協議中獲取除了函數結果以外的資訊。 本發明中利用的混淆電路增加了隨機數輸入,在完成統計計算的同時,使用隨機數掩蓋了結果,可以防止任何一方復原結果。不僅如此,還可以在數據輸入混淆電路前,進行節點間數據交換。從而,有利於隱藏雙方身份以及雙方數據的相對統計關係,比如,對於求最值的統計,可以隱藏兩方數據的相對大小等。以下所稱混淆電路均指本段中這種改進過的混淆電路。 圖1為本說明書的方案在一種實際應用場景下涉及的一種整體架構示意圖。該整體架構中,主要涉及三部分:用戶(終端)、代理端和多個節點,代理端直接與用戶交互,並協調各節點以實現多方統計。 以先前技術的場景為例,服務提供方是金融機構,則節點比如是金融機構伺服器,每個金融機構可以分別對應一個節點,金融機構可以是銀行、保險公司、或者第三方支付機構等。在另一些適用場景下,服務提供方未必限於金融機構,也可能是政府、學校、商鋪、其他機構或者公司等。 該整體架構的一種工作流程包括:用戶向代理端發送數據請求,代理端通知多個節點,多個節點基於節點間數據交換和混淆電路進行統計,得到最終統計結果並返回。 本說明書的方案重點在於多個節點的統計過程,下面進行詳細說明。 圖2為本說明書實施例提供的一種基於混淆電路的數據統計方法的流程示意圖。該流程的執行主體包括參與統計的多個節點,還可以包括代理端。 圖2中的流程可以包括以下步驟: S202:對各節點進行分組,得到多個包含至多兩個節點的節點組。 在本說明書實施例中,為了加快統計速度,可以對各節點兩兩分組,進而先在節點組內統計,再在節點組間統計,如此,透過多輪統計得到最終統計結果。需要說明的是,節點組也可以只包含一個節點,這種節點組內可以不進行統計,參與節點組間統計即可。 S204:在節點組內進行節點間部分服務數據交換,並根據交換後數據和混淆電路統計服務數據,得到組內統計數據,其中,所述混淆電路用於對統計過程進行混淆,以及基於隨機數隱藏統計結果。 在本說明書實施例中,服務數據是進行統計所需要的數據,其會影響組內統計數據,進而影響組間統計數據以及最終統計結果。 例如,在背景技術的例子中,每個節點的服務數據可以指目標對象在該節點所屬金融機構的貸款金額,最終統計結果可以指目標對象在各節點所屬金融機構的貸款總金額(求和的統計)或者最大貸款金額(求最大值的統計)等,具體採用哪種統計可以根據實際需求確定。 在本說明書實施例中,透過節點間部分服務數據交換,能夠隱藏節點持有的服務數據的真實內容。在交換前,對節點擁有的服務數據進行拆分,所有拆分可以有多種方式,列舉兩種作為示例:若服務數據為一個數值,比如可以利用秘密共享(Secret Sharing)協議,對該數值進行拆分;若服務數據為一條或者多條數據記錄,比如可以將這些數據記錄拆分,當然,還可以進一步地將單條數據記錄本身也進行拆分;等等。 以下各實施例主要基於上面列舉的第一種拆分方式進行說明,在這種拆分方式下,同時也能夠便利地實現對拆分前數據的加密,從而更有利於數據隱私性。 在本說明書實施例中,前面已經提到,混淆電路具有隨機數輸入,該隨機數可以由節點生成。混淆電路本身也可以由節點生成,生成的混淆電路在完成統計計算的同時,使用輸入的隨機數掩蓋了結果,可以防止任何一方還原結果。 需要說明的是,上述的電路可以只是一種計算機處理邏輯,而未必是真實的電路。 S206:根據所述組內統計數據進行節點組間統計,得到組間統計數據。 在本說明書實施例中,與節點組內統計類似,節點組間統計也可以分別在兩兩節點組之間進行,節點組間統計過程相應地也利用了混淆電路。若節點組不止兩個,則節點組間統計可以迭代地進行,在這種情況下,步驟 S206中所述的組間統計數據指迭代完畢後最終得到的組間統計數據。 需要說明的是,若需要迭代統計,則可以將各節點組的代表節點重新分組,然後在重新分出的組內進行統計,從而實現上述的節點組間統計。 在本說明書實施例中,為了保證數據隱私性,在得到最終統計結果之前,無論是組內統計數據還是組間統計數據,並未直接呈現原始統計數據,而是由至少兩個不同的節點分別持有一部分而非全部,透過節點間數據交換,聯合各部分才能夠還原出原始統計數據,不僅如此,中間的統計過程都是進行了混淆的。 S208:利用對應的隨機數,對所述組間統計數據進行還原,得到最終統計結果。 在本說明書實施例中,所述對應的隨機數為節點持有的一部分組間統計數據,用於還原其他節點持有的另外部分組間統計數據,得到最終統計結果。 透過圖2的方法,各服務提供方分別對應於各節點,透過節點間數據交換和混淆電路,不僅可以隱藏節點具體持有的數據,也可以隱藏統計過程中提供數據的節點的身份,以及兩兩節點的數據之間的相對統計關係,因此,更能保障服務提供方數據隱私性。 基於圖2的方法,本說明書實施例還提供了該方法的一些具體實施方案,以及擴展方案,下面進行說明。 在本說明書實施例中,對於步驟S204,所述在節點組內進行節點間部分服務數據交換,具體可以包括: 基於Secret Sharing協議,分別將節點組內每個節點的服務數據拆分為兩部分,其中,拆分前的服務數據能夠根據所述兩部分的互斥或結果還原;若節點組內包含第一節點和第二節點,則將這兩個節點分別拆分出的一部分數據進行交換。 例如,假定某節點組的第一節點的服務數據為a,基於Secret Sharing協議,能夠將a拆分為a1和a2這兩部分,並且滿足;類似地,假定該節點組的第二節點的服務數據為b,將b拆分為b1和b2這兩部分,並且滿足。在該節點組內進行的節點間部分服務數據交換比如包括:第一節點用a2交換第二節點的b1;在交換後,第一節點持有(a1, b1),第二節點持有(a2, b2)。 為了便於理解,對本說明書中使用的節點名稱進行說明: 一般地,每個節點組分別包含兩個節點,為了區分,將其中一個節點稱為第一節點,另一個節點稱為第二節點。 進一步地,當涉及到同時描述兩個節點組(某個節點組和另一個節點組)時,為了避免混淆,將另一個節點組的第一節點改稱為第三節點,以及將另一個節點組的第二節點改稱為第四節點; 另外,前面也有提到,節點組也可能只包含一個節點,那麼,將這種節點組包含的一個節點也稱為第三節點; 這些節點名稱都是為了便於描述,並非對本申請的限定。 在本說明書實施例中,對於步驟S204,所述根據交換後數據和混淆電路統計服務數據,得到組內統計數據,具體可以包括: 生成混淆電路,該混淆電路以交換後數據和隨機數為輸入;根據該交換後數據和該混淆電路,透過第一節點與第二節點之間的交互,統計服務數據,得到組內統計數據。 所述隨機數由節點或者代理端生成,以節點生成為例。比如,在得到組內統計數據前,由第一節點生成並持有第一隨機數,記作r1,由第二節點生成並持有第二隨機數,記作r2。 下面對混淆電路的隨機數輸入進一步地說明,直觀地,結合圖3,對一種匿名統計電路進行說明。圖3為本說明書實施例提供的一種匿名統計電路的示意圖。 在圖3中,所述統計具體是求最大值計算,涉及節點間服務數據的比較,因此,該匿名統計電路也可以稱為匿名比較電路。 其中,“XOR”表示互斥或閘電路、“AND”表示及閘電路、“>”表示比較閘電路,比較閘電路可以由若干個簡單的閘電路組合而成。 r1和r2即為輸入的隨機數。匿名統計電路的輸入包括:(a1, a2, b1, b2, r1, r2),亦即混淆電路的輸入。在匿名統計電路的處理過程中,由a1、a2還原a,由b1、b2還原b,透過比較,統計得到a與b之中的較大值max(a, b),進一步地,利用r1與r2的互斥或結果對max(a, b)進行互斥或運算,得到,從而實現對max(a, b)的隱藏。當然,過程中還會進行混淆,以隱藏節點身份,在該例中,混淆電路的輸出結果為。 需要說明的是,對於上述輸入,(a1, b1, r1)基於第一節點的數據傳輸而輸入,(a2, b2, r2)基於第二節點的數據傳輸而輸入,這些數據傳輸基於混淆電路,可以使用不經意傳輸(Oblivious Transfer)協議。由於進行了混淆,所以第一節點、第二節點傳輸的並非原始值,而是混淆值。 進一步地,第一節點或者第二節點根據自己持有的隨機數,可以分別對部分地還原。在得到最終統計結果之前,要避免將max(a, b)直接暴露,基於此,比如可以由第一節點根據自己持有的r1對部分地還原,得到並持有,而第二節點則持有能夠對進一步還原的r2,如此,第一節點或者第二節點僅憑自己均無法得到max(a, b),從而確保了max(a, b)的秘密性。 根據上例進行總結,對於步驟S204,所述得到組內統計數據前,還可以執行:第一節點生成並持有第一隨機數,第二節點生成並持有第二隨機數;進一步地,所述根據該交換後數據和該混淆電路,透過第一節點與第二節點之間的交互,統計服務數據,得到組內統計數據,具體可以包括: 透過第一節點與第二節點之間的交互,第一節點將所述第一隨機數和自己的交換後數據,以及第二節點將所述第二隨機數和自己的交換後數據,輸入該混淆電路統計服務數據,得到組內統計數據;其中,所述組內統計數據包括:該混淆電路的第一輸出結果與所述第一隨機數的互斥或結果,由第一節點持有;所述第二隨機數,由第二節點持有。 所述第一輸出結果是針對第一節點和第二節點統計的。 進一步地,所述得到組內統計數據,具體可以包括: 第二節點得到該混淆電路的第一輸出結果,並發送給第一節點;第一節點對所述第一隨機數與接收的該混淆電路的第一輸出結果進行互斥或運算,得到處於隱藏狀態的對應統計結果,其在數值上等於該對應統計結果與所述第二隨機數的互斥或結果。 在本說明書實施例中,組內統計完畢後,再進行組間統計,根據前面的說明可知,組內統計的結果是處於隱藏狀態的,為了在組間統計的過程中能夠繼續利用且又不暴露被隱藏的結果,可以將用於還原被隱藏的結果的隨機數在節點組間進行交換。 例如,假定另一節點組包含對應於第一節點的第三節點,以及對應於第二節點的第四節點;對於組內統計,第三節點生成了第三隨機數,第四節點生成了第四隨機數。則在組間統計前可以進行隨機數交換:第二節點將第二隨機數發送給第三節點,第四節點將其對應持有的第四隨機數發送給第一節點。進而,由第一節點、第三節點分別作為其所屬節點組的代表節點,進行組間統計。 根據上面兩段的分析,若另一節點組包含對應於第一節點的第三節點,以及對應於第二節點的第四節點,則對於步驟S206,所述根據所述組內統計數據進行節點組間統計,得到組間統計數據,具體可以包括: 將第一節點、第三節點分別作為其所屬節點組的代表節點,並進行隨機數交換;根據交換後隨機數、代表節點分別對應的組內統計數據和混淆電路,透過代表節點之間的交互,進行節點組間統計,得到組間統計數據;其中,該混淆電路以該交換後隨機數和所述代表節點分別對應的部分組內統計數據為輸入,該隨機數交換包括:第二節點將第二隨機數發送給第三節點,第四節點將其對應持有的第四隨機數發送給第一節點。 類似於組內統計,在組間統計時,代表節點也需要再次生成隨機數,以用於隱藏組間統計的結果,假定第一節點為節點組間統計生成了第五隨機數,第三節點生成了第六隨機數。 則所述組間統計數據可以包括:該混淆電路的第二輸出結果與第一節點為所述節點組間統計生成的第五隨機數的互斥或結果,由第一節點持有;所述第三節點為所述節點組間統計生成並持有的第六隨機數。 所述第二輸出結果是針對第一節點、第二節點、第三節點和第四節點統計的。 在本說明書實施例中,若所述第二輸出結果是針對全部節點統計的,對於步驟S208,所述利用對應的隨機數,對所述組間統計數據進行還原,得到最終統計結果,具體可以包括: 第三節點將所述第六隨機數發送給第一節點;第一節點對所述第六隨機數與所述組間統計數據進行互斥或運算,還原出被隱藏的對應統計結果,作為最終統計結果。 在本說明書實施例中,若所述第二輸出結果並非針對全部節點統計的,所述利用對應的隨機數,對所述組間統計數據進行還原,得到最終統計結果前,還可以執行: 繼續迭代統計直至得到:針對全部節點統計完畢後得到的組間統計數據,用於還原得到最終統計結果。 為了便於理解,結合圖4,用一個更完整的實例對整個統計過程進行說明。圖4為本說明書實施例提供的利用圖2的方法對四個節點進行統計的流程示意圖。圖4中部分步驟已經在上面的例子中進行了說明,這裡對這些步驟僅簡單說明。 將混淆電路的輸出函數記作f。在圖4中,第一節點和第二節點屬於一個節點組,第三節點和第四節點屬於另一個節點組,a、b、c、d分別為對應節點的服務數據。針對a和b進行統計時混淆電路的輸出結果記作fab,針對c和d進行統計時混淆電路的輸出結果記作fcd,針對a、b、c、d進行統計時混淆電路的輸出結果記作fabcd。 對於前一個節點組,第一節點與第二節點在進行第一輪統計之前,先基於Secret Sharing協議,拆分服務數據,拆分後,第一節點持有(a1, a2),第二節點持有(b1, b2);第一節點與第二節點進行部分服務數據交換,交換後,第一節點持有(a1, b1),第二節點持有(a2, b2); 第一節點生成混淆電路,輸入為(a1, a2, b1, b2, r1, r2),記此時第一節點、第二節點的狀態為狀態1,狀態1表示本次混淆電路計算前; 執行混淆電路計算過程,第二節點得到混淆電路的輸出結果fab,並發送給第一節點,第一節點利用r1進行互斥或運算得到並持有,第二節點持有r2,統計結果處於隱藏狀態,以統計具體為求最大值運算為例,fab在數值上等於,可以看到統計結果max(a, b)是處於隱藏狀態的,記此時第一節點、第二節點的狀態為狀態2,狀態2表示本次混淆電路計算後; 此時,第一節點和第二節點分別持有組內統計數據的一部分:maskab、r2;將第一節點作為第一個節點組的代表節點;類似地,對於另一個節點組,完成組內統計後,第三節點持有,第四節點持有r4,將第三節點作為另一個節點組的代表節點; 在節點組間進行隨機數交換,第二節點將r2發送給第三節點,第四節點將r4發送給第一節點;隨機數交換後,作為代表節點,第一節點持有(maskab, r4),第三節點持有(maskcb, r2),此時第一節點、第三節點的狀態恢復到狀態1; 第一節點與第三節點進行下輪統計,亦即,組間統計;第一節點生成第五隨機數r11,第三節點生成第六隨機數r22; 類似於組內統計,混淆電路的輸入為(maskab, r2, naskcd, r4, r11, r22),執行混淆電路計算過程,混淆電路輸出fabcd;進一步地進行互斥或運算後,第一節點持有,第三節點持有r22,此時第一節點、第三節點的狀態恢復到狀態2; 若沒有更多的節點,則可以直接執行虛線方框中的流程,第三節點將r22發送給第一節點,第一節點用r22與maskabcd進行互斥或運算,還原出最終統計結果,記作final,並可以將final發送回代理端,進而由代理端返回給用戶;以統計具體為求最大值運算為例,final等於max(a, b, c, d)。 而若有更多的節點,則以此類推迭代統計,直到全部節點統計完畢後,再還原出最終統計結果。 在本說明書實施例中,前面已經提到,一個節點組也可能只包含一個節點。在這種情況下,進行組間統計的兩個節點組有可能一共包含三個節點。對於包含兩個節點的節點組而言,組內統計參照上面的說明進行即可,而對於只包含一個節點的節點組而言,無需進行組內統計,而且組間統計的具體實施方案與上面的說明也有區別。下面繼續說明。 在本說明書實施例中,若另一節點組只包含第三節點,則對於步驟S206,所述根據所述組內統計數據進行節點組間統計,得到組間統計數據,具體可以包括: 將第一節點、第三節點分別作為其所屬節點組的代表節點,並進行數據交換;根據交換後數據、代表節點分別對應的組內統計數據和混淆電路,透過代表節點之間的交互,進行節點組間統計,得到組間統計數據;其中,該混淆電路以該交換後數據和所述代表節點分別對應的部分組內統計數據為輸入,該數據交換包括:第二節點將第二隨機數發送給第三節點,第三節點將基於秘密共享協議拆分出的自己的一部分數據發送給第一節點。 進一步地,在上一段的情況下,所述組間統計數據包括:該混淆電路的第三輸出結果與第一節點為所述節點組間統計生成的第五隨機數的互斥或結果,由第一節點持有;所述第三節點為所述節點組間統計生成並持有的第六隨機數。 所述第三輸出結果是針對第一節點、第二節點和第三節點統計的。後面的步驟與四個節點參與統計的情況類似,不再贅述。 為了便於理解,用一個更完整的示例對利用圖2的方法對三個節點進行統計的流程進行說明,如圖5所示。圖5中的部分步驟參照圖4即可,這裡主要對區別步驟說明。 在圖5中,第一節點和第二節點屬於一個節點組,第三節點屬於另一個節點組。針對a、b、c進行統計時混淆電路的輸出結果記作fabc。 對於另一個節點組,第三節點拆分服務數據c得到(c1, c2); 在第一個節點組的組內統計完畢後,第二節點發送r2給第三節點,第三節點發送c2給第一節點;則作為代理節點,第一節點持有(maskab, c2),第三節點持有(c1, c2); 第一節點與第三節點進行下輪比較,亦即,組間統計;第一節點生成第五隨機數r11,第三節點生成第六隨機數r22; 類似於組內統計,混淆電路的輸入為(maskab, r2, c1, c2, r11, r22),執行混淆電路計算過程,混淆電路輸出fabc;進一步地進行互斥或運算後,第一節點持有,第三節點持有r22; 若沒有更多的節點,則可以直接執行虛線方框中的流程,第三節點將r22發送給第一節點,第一節點用r22與maskabc進行互斥或運算,還原出final,並可以將final發送回代理端,進而由代理端返回給用戶;以統計具體為求最大值運算為例,final等於max(a, b, c) 而若有更多的節點,則以此類推迭代統計,直到全部節點統計完畢後,再還原出最終統計結果。 基於同樣的思路,本說明書實施例還提供了對應於上述方法的裝置,如圖6所示。 圖6為本說明書實施例提供的對應於圖2的一種基於混淆電路的數據統計裝置的結構示意圖,該裝置可以位於圖2中流程的執行主體上,包括: 分組模組601,對各節點進行分組,得到多個包含至多兩個節點的節點組; 組內統計模組602,在節點組內進行節點間部分服務數據交換,並根據交換後數據和混淆電路統計服務數據,得到組內統計數據,其中,所述混淆電路用於對統計過程進行混淆,以及基於隨機數隱藏統計結果; 組間統計模組603,根據所述組內統計數據進行節點組間統計,得到組間統計數據; 還原模組604,利用對應的隨機數,對所述組間統計數據進行還原,得到最終統計結果。 可選地,所述組內統計模組602在節點組內進行節點間部分服務數據交換,具體包括: 所述組內統計模組602基於秘密共享協議,分別將節點組內每個節點的服務數據拆分為兩部分,其中,拆分前的服務數據能夠根據所述兩部分的互斥或結果還原; 若節點組內包含第一節點和第二節點,則將這兩個節點分別拆分出的一部分數據進行交換。 可選地,所述組內統計模組602根據交換後數據和混淆電路統計服務數據,得到組內統計數據,具體包括: 所述組內統計模組602生成混淆電路,該混淆電路以交換後數據和隨機數為輸入;根據該交換後數據和該混淆電路,透過第一節點與第二節點之間的交互,統計服務數據,得到組內統計數據。 可選地,所述組內統計模組602得到組內統計數據前,第一節點生成並持有第一隨機數,第二節點生成並持有第二隨機數; 所述組內統計模組602根據該交換後數據和該混淆電路,透過第一節點與第二節點之間的交互,統計服務數據,得到組內統計數據,具體包括: 所述組內統計模組602透過第一節點與第二節點之間的交互,第一節點將所述第一隨機數和自己的交換後數據,以及第二節點將所述第二隨機數和自己的交換後數據,輸入該混淆電路統計服務數據,得到組內統計數據; 其中,所述組內統計數據包括:該混淆電路的第一輸出結果與所述第一隨機數的互斥或結果,由第一節點持有;所述第二隨機數,由第二節點持有。 可選地,所述組內統計模組602得到組內統計數據,具體包括: 第二節點得到該混淆電路的第一輸出結果,並發送給第一節點; 第一節點對所述第一隨機數與接收的該混淆電路的第一輸出結果進行互斥或運算,得到處於隱藏狀態的對應統計結果,其在數值上等於該對應統計結果與所述第二隨機數的互斥或結果。 可選地,若另一節點組包含對應於第一節點的第三節點,以及對應於第二節點的第四節點, 所述組間統計模組603根據所述組內統計數據進行節點組間統計,得到組間統計數據,具體包括: 所述組間統計模組603將第一節點、第三節點分別作為其所屬節點組的代表節點,並進行隨機數交換; 根據交換後隨機數、代表節點分別對應的組內統計數據和混淆電路,透過代表節點之間的交互,進行節點組間統計,得到組間統計數據; 其中,該混淆電路以該交換後隨機數和所述代表節點分別對應的部分組內統計數據為輸入,該隨機數交換包括:第二節點將第二隨機數發送給第三節點,第四節點將其對應持有的第四隨機數發送給第一節點。 可選地,所述組間統計數據包括:該混淆電路的第二輸出結果與第一節點為所述節點組間統計生成的第五隨機數的互斥或結果,由第一節點持有;所述第三節點為所述節點組間統計生成並持有的第六隨機數。 可選地,若所述第二輸出結果是針對全部節點統計的,所述還原模組604利用對應的隨機數,對所述組間統計數據進行還原,得到最終統計結果,具體包括: 第三節點將所述第六隨機數發送給第一節點; 第一節點對所述第六隨機數與所述組間統計數據進行互斥或運算,還原出被隱藏的對應統計結果,作為最終統計結果。 可選地,若所述第二輸出結果並非針對全部節點統計的,所述還原模組604利用對應的隨機數,對所述組間統計數據進行還原,得到最終統計結果前,所述組間統計模組603繼續迭代統計直至得到:針對全部節點統計完畢後得到的組間統計數據,用於還原得到最終統計結果。 可選地,若另一節點組只包含第三節點, 所述組間統計模組603根據所述組內統計數據進行節點組間統計,得到組間統計數據,具體包括: 所述組間統計模組603將第一節點、第三節點分別作為其所屬節點組的代表節點,並進行數據交換; 根據交換後數據、代表節點分別對應的組內統計數據和混淆電路,透過代表節點之間的交互,進行節點組間統計,得到組間統計數據; 其中,該混淆電路以該交換後數據和所述代表節點分別對應的部分組內統計數據為輸入,該數據交換包括:第二節點將第二隨機數發送給第三節點,第三節點將基於秘密共享協議拆分出的自己的一部分數據發送給第一節點。 可選地,所述組間統計數據包括:該混淆電路的第三輸出結果與第一節點為所述節點組間統計生成的第五隨機數的互斥或結果,由第一節點持有;所述第三節點為所述節點組間統計生成並持有的第六隨機數。 可選地,所述節點包括金融機構伺服器。 基於同樣的思路,本說明書實施例還提供了對應於圖2的一種基於混淆電路的數據統計設備,包括: 至少一個處理器;以及, 與所述至少一個處理器通信連接的記憶體;其中, 所述記憶體儲存有可被所述至少一個處理器執行的指令,所述指令被所述至少一個處理器執行,以使所述至少一個處理器能夠: 對各節點進行分組,得到多個包含至多兩個節點的節點組; 在節點組內進行節點間部分服務數據交換,並根據交換後數據和混淆電路統計服務數據,得到組內統計數據,其中,所述混淆電路用於對統計過程進行混淆,以及基於隨機數隱藏統計結果; 根據所述組內統計數據進行節點組間統計,得到組間統計數據; 利用對應的隨機數,對所述組間統計數據進行還原,得到最終統計結果。 基於同樣的思路,本說明書實施例還提供了對應於圖2的一種非易失性計算機儲存媒體,儲存有計算機可執行指令,所述計算機可執行指令設置為: 對各節點進行分組,得到多個包含至多兩個節點的節點組; 在節點組內進行節點間部分服務數據交換,並根據交換後數據和混淆電路統計服務數據,得到組內統計數據,其中,所述混淆電路用於對統計過程進行混淆,以及基於隨機數隱藏統計結果; 根據所述組內統計數據進行節點組間統計,得到組間統計數據; 利用對應的隨機數,對所述組間統計數據進行還原,得到最終統計結果。 上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在附圖中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多任務處理和並行處理也是可以的或者可能是有利的。 本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於裝置、設備、非易失性計算機儲存媒體實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。 本說明書實施例提供的裝置、設備、非易失性計算機儲存媒體與方法是對應的,因此,裝置、設備、非易失性計算機儲存媒體也具有與對應方法類似的有益技術效果,由於上面已經對方法的有益技術效果進行了詳細說明,因此,這裡不再贅述對應裝置、設備、非易失性計算機儲存媒體的有益技術效果。 在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都透過將改進的方法流程編程到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可編程邏輯器件(Programmable Logic Device, PLD)(例如現場可編程閘陣列(Field Programmable Gate Array,FPGA))就是這樣一種積體電路,其邏輯功能由用戶對器件編程來確定。由設計人員自行編程來把一個數位系統“集成”在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的積體電路晶片。而且,如今,取代手工地製作積體電路晶片,這種編程也多半改用“邏輯編譯器(logic compiler)”軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始代碼也得用特定的編程語言來撰寫,此稱之為硬體描述語言(Hardware Description Language,HDL),而HDL也並非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯編程並編程到積體電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。 控制器可以按任何適當的方式實現,例如,控制器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的計算機可讀程式代碼(例如軟體或韌體)的計算機可讀媒體、邏輯閘、開關、專用積體電路(Application Specific Integrated Circuit,ASIC)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限於以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,記憶體控制器還可以被實現為記憶體的控制邏輯的一部分。本領域技術人員也知道,除了以純計算機可讀程式代碼方式實現控制器以外,完全可以透過將方法步驟進行邏輯編程來使得控制器以邏輯閘、開關、專用積體電路、可編程邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體部件,而對其內包括的用於實現各種功能的裝置也可以視為硬體部件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體部件內的結構。 上述實施例闡明的系統、裝置、模組或單元,具體可以由計算機晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為計算機。具體的,計算機例如可以為個人計算機、膝上型計算機、蜂窩電話、相機電話、智能電話、個人數位助理、媒體播放器、導航設備、電子郵件設備、遊戲控制台、平板計算機、可穿戴設備或者這些設備中的任何設備的組合。 為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本說明書時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。 本領域內的技術人員應明白,本說明書實施例可提供為方法、系統、或計算機程式產品。因此,本說明書實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本說明書實施例可採用在一個或多個其中包含有計算機可用程式代碼的計算機可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的計算機程式產品的形式。 本說明書是參照根據本說明書實施例的方法、設備(系統)、和計算機程式產品的流程圖和/或方框圖來描述的。應理解可由計算機程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得透過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。 這些計算機程式指令也可儲存在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀記憶體中,使得儲存在該計算機可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。 這些計算機程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。 在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。 記憶體可能包括計算機可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非易失性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是計算機可讀媒體的示例。 計算機可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是計算機可讀指令、資料結構、程式的模組或其他數據。計算機的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可編程唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁碟儲存或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,計算機可讀媒體不包括暫存電腦可讀媒體(transitory media),如調製的數據信號和載波。 還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。 本說明書可以在由計算機執行的計算機可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的例程、程式、物件、組件、資料結構等等。也可以在分散式計算環境中實踐本說明書,在這些分散式計算環境中,由透過通信網路而被連接的遠程處理設備來執行任務。在分散式計算環境中,程式模組可以位於包括儲存設備在內的本地和遠程計算機儲存媒體中。 本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。 以上所述僅為本說明書實施例而已,並不用於限制本申請。對於本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的申請專利範圍之內。
601‧‧‧分組模組602‧‧‧組內統計模組603‧‧‧組間統計模組604‧‧‧還原模組
為了更清楚地說明本說明書實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本說明書中記載的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。 圖1為本說明書的方案在一種實際應用場景下涉及的一種整體架構示意圖; 圖2為本說明書實施例提供的一種基於混淆電路的數據統計方法的流程示意圖; 圖3為本說明書實施例提供的一種匿名統計電路的示意圖; 圖4為本說明書實施例提供的利用圖2的方法對四個節點進行統計的流程示意圖; 圖5為本說明書實施例提供的利用圖2的方法對三個節點進行統計的流程示意圖; 圖6為本說明書實施例提供的對應於圖2的一種基於混淆電路的數據統計裝置的結構示意圖。
Claims (25)
- 一種基於混淆電路的數據統計方法,包括:對各節點進行分組,得到多個包含至多兩個節點的節點組;在節點組內進行節點間部分服務數據交換,並根據交換後數據和混淆電路統計服務數據,得到組內統計數據,其中,該混淆電路用於對統計過程進行混淆,以及基於隨機數隱藏統計結果;根據該組內統計數據進行節點組間統計,得到組間統計數據;利用對應的隨機數,對該組間統計數據進行還原,得到最終統計結果。
- 如請求項1所述的方法,所述在節點組內進行節點間部分服務數據交換,具體包括:基於秘密共享協議,分別將節點組內每個節點的服務數據拆分為兩部分,其中,拆分前的服務數據能夠根據該兩部分的互斥或結果還原;若節點組內包含第一節點和第二節點,則將這兩個節點分別拆分出的一部分數據進行交換。
- 如請求項2所述的方法,所述根據交換後數據和混淆電路統計服務數據,得到組內統計數據,具體包括: 生成混淆電路,該混淆電路以交換後數據和隨機數為輸入;根據該交換後數據和該混淆電路,透過該第一節點與該第二節點之間的交互,統計服務數據,得到組內統計數據。
- 如請求項3所述的方法,所述得到組內統計數據前,該方法還包括:該第一節點生成並持有第一隨機數,該第二節點生成並持有第二隨機數;所述根據該交換後數據和該混淆電路,透過該第一節點與該第二節點之間的交互,統計服務數據,得到組內統計數據,具體包括:透過該第一節點與該第二節點之間的交互,該第一節點將該第一隨機數和自己的交換後數據,以及該第二節點將該第二隨機數和自己的交換後數據,輸入該混淆電路統計服務數據,得到組內統計數據;其中,該組內統計數據包括:該混淆電路的第一輸出結果與該第一隨機數的互斥或結果,由該第一節點持有;該第二隨機數,由該第二節點持有。
- 如請求項4所述的方法,所述得到組內統計數據,具體包括:該第二節點得到該混淆電路的第一輸出結果,並發送 給該第一節點;該第一節點對該第一隨機數與接收的該混淆電路的第一輸出結果進行互斥或運算,得到處於隱藏狀態的對應統計結果,其在數值上等於該對應統計結果與該第二隨機數的互斥或結果。
- 如請求項4所述的方法,若另一節點組包含對應於該第一節點的第三節點,以及對應於該第二節點的第四節點,所述根據該組內統計數據進行節點組間統計,得到組間統計數據,具體包括:將該第一節點、該第三節點分別作為其所屬節點組的代表節點,並進行隨機數交換;根據交換後隨機數、代表節點分別對應的組內統計數據和混淆電路,透過代表節點之間的交互,進行節點組間統計,得到組間統計數據;其中,該混淆電路以該交換後隨機數和該代表節點分別對應的部分組內統計數據為輸入,該隨機數交換包括:該第二節點將該第二隨機數發送給該第三節點,該第四節點將其對應持有的第四隨機數發送給該第一節點。
- 如請求項6所述的方法,該組間統計數據包括:該混淆電路的第二輸出結果與該第一節點為了該節點組間統計生成的第五隨機數的互斥或結果,由該第一節點持有;該 第三節點為了該節點組間統計生成並持有的第六隨機數。
- 如請求項7所述的方法,若該第二輸出結果是針對全部節點統計的,所述利用對應的隨機數,對該組間統計數據進行還原,得到最終統計結果,具體包括:該第三節點將該第六隨機數發送給該第一節點;該第一節點對該第六隨機數與該組間統計數據進行互斥或運算,還原出被隱藏的對應統計結果,作為最終統計結果。
- 如請求項7所述的方法,若該第二輸出結果並非針對全部節點統計的,所述利用對應的隨機數,對該組間統計數據進行還原,得到最終統計結果前,該方法還包括:繼續迭代統計直至得到:針對全部節點統計完畢後得到的組間統計數據,用於還原得到最終統計結果。
- 如請求項4所述的方法,若另一節點組只包含第三節點,所述根據該組內統計數據進行節點組間統計,得到組間統計數據,具體包括:將該第一節點、該第三節點分別作為其所屬節點組的代表節點,並進行數據交換;根據交換後數據、代表節點分別對應的組內統計數據和混淆電路,透過代表節點之間的交互,進行節點組間統 計,得到組間統計數據;其中,該混淆電路以該交換後數據和該代表節點分別對應的部分組內統計數據為輸入,該數據交換包括:該第二節點將該第二隨機數發送給該第三節點,該第三節點將基於秘密共享協議拆分出的自己的一部分數據發送給該第一節點。
- 如請求項10所述的方法,該組間統計數據包括:該混淆電路的第三輸出結果與該第一節點為了該節點組間統計生成的第五隨機數的互斥或結果,由該第一節點持有;該第三節點為了該節點組間統計生成並持有的第六隨機數。
- 如請求項1~11中任一項所述的方法,該節點包括金融機構伺服器。
- 一種基於混淆電路的數據統計裝置,包括:分組模組,對各節點進行分組,得到多個包含至多兩個節點的節點組;組內統計模組,在節點組內進行節點間部分服務數據交換,並根據交換後數據和混淆電路統計服務數據,得到組內統計數據,其中,該混淆電路用於對統計過程進行混淆,以及基於隨機數隱藏統計結果;組間統計模組,根據該組內統計數據進行節點組間統計,得到組間統計數據; 還原模組,利用對應的隨機數,對該組間統計數據進行還原,得到最終統計結果。
- 如請求項13所述的裝置,該組內統計模組在節點組內進行節點間部分服務數據交換,具體包括:該組內統計模組基於秘密共享協議,分別將節點組內每個節點的服務數據拆分為兩部分,其中,拆分前的服務數據能夠根據該兩部分的互斥或結果還原;若節點組內包含第一節點和第二節點,則將這兩個節點分別拆分出的一部分數據進行交換。
- 如請求項14所述的裝置,該組內統計模組根據交換後數據和混淆電路統計服務數據,得到組內統計數據,具體包括:該組內統計模組生成混淆電路,該混淆電路以交換後數據和隨機數為輸入;根據該交換後數據和該混淆電路,透過該第一節點與該第二節點之間的交互,統計服務數據,得到組內統計數據。
- 如請求項15所述的裝置,該組內統計模組得到組內統計數據前,該第一節點生成並持有第一隨機數,該第二節點生成並持有第二隨機數;該組內統計模組根據該交換後數據和該混淆電路,透 過該第一節點與該第二節點之間的交互,統計服務數據,得到組內統計數據,具體包括:該組內統計模組透過該第一節點與該第二節點之間的交互,該第一節點將該第一隨機數和自己的交換後數據,以及該第二節點將該第二隨機數和自己的交換後數據,輸入該混淆電路統計服務數據,得到組內統計數據;其中,該組內統計數據包括:該混淆電路的第一輸出結果與該第一隨機數的互斥或結果,由該第一節點持有;該第二隨機數,由該第二節點持有。
- 如請求項16所述的裝置,該組內統計模組得到組內統計數據,具體包括:該第二節點得到該混淆電路的第一輸出結果,並發送給該第一節點;該第一節點對該第一隨機數與接收的該混淆電路的第一輸出結果進行互斥或運算,得到處於隱藏狀態的對應統計結果,其在數值上等於該對應統計結果與該第二隨機數的互斥或結果。
- 如請求項16所述的裝置,若另一節點組包含對應於該第一節點的第三節點,以及對應於該第二節點的第四節點,該組間統計模組根據該組內統計數據進行節點組間統計,得到組間統計數據,具體包括: 該組間統計模組將該第一節點、該第三節點分別作為其所屬節點組的代表節點,並進行隨機數交換;根據交換後隨機數、代表節點分別對應的組內統計數據和混淆電路,透過代表節點之間的交互,進行節點組間統計,得到組間統計數據;其中,該混淆電路以該交換後隨機數和該代表節點分別對應的部分組內統計數據為輸入,該隨機數交換包括:該第二節點將該第二隨機數發送給該第三節點,該第四節點將其對應持有的第四隨機數發送給該第一節點。
- 如請求項18所述的裝置,該組間統計數據包括:該混淆電路的第二輸出結果與該第一節點為了該節點組間統計生成的第五隨機數的互斥或結果,由該第一節點持有;該第三節點為了該節點組間統計生成並持有的第六隨機數。
- 如請求項19所述的裝置,若該第二輸出結果是針對全部節點統計的,該還原模組利用對應的隨機數,對該組間統計數據進行還原,得到最終統計結果,具體包括:該第三節點將該第六隨機數發送給該第一節點;該第一節點對該第六隨機數與該組間統計數據進行互斥或運算,還原出被隱藏的對應統計結果,作為最終統計結果。
- 如請求項19所述的裝置,若該第二輸出結果並非針對 全部節點統計的,該還原模組利用對應的隨機數,對該組間統計數據進行還原,得到最終統計結果前,該組間統計模組繼續迭代統計直至得到:針對全部節點統計完畢後得到的組間統計數據,用於還原得到最終統計結果。
- 如請求項16所述的裝置,若另一節點組只包含第三節點,該組間統計模組根據該組內統計數據進行節點組間統計,得到組間統計數據,具體包括:該組間統計模組將該第一節點、該第三節點分別作為其所屬節點組的代表節點,並進行數據交換;根據交換後數據、代表節點分別對應的組內統計數據和混淆電路,透過代表節點之間的交互,進行節點組間統計,得到組間統計數據;其中,該混淆電路以該交換後數據和該代表節點分別對應的部分組內統計數據為輸入,該數據交換包括:該第二節點將該第二隨機數發送給該第三節點,該第三節點將基於秘密共享協議拆分出的自己的一部分數據發送給該第一節點。
- 如請求項22所述的裝置,該組間統計數據包括:該混淆電路的第三輸出結果與該第一節點為了該節點組間統計生成的第五隨機數的互斥或結果,由該第一節點持有;該第三節點為了該節點組間統計生成並持有的第六隨機數。
- 如請求項13~23中任一項所述的裝置,該節點包括金融機構伺服器。
- 一種基於混淆電路的數據統計設備,包括:至少一個處理器;以及,與該至少一個處理器通信連接的記憶體;其中,該記憶體儲存有可被該至少一個處理器執行的指令,該指令被該至少一個處理器執行,以使該至少一個處理器能夠:對各節點進行分組,得到多個包含至多兩個節點的節點組;在節點組內進行節點間部分服務數據交換,並根據交換後數據和混淆電路統計服務數據,得到組內統計數據,其中,該混淆電路用於對統計過程進行混淆,以及基於隨機數隱藏統計結果;根據該組內統計數據進行節點組間統計,得到組間統計數據;利用對應的隨機數,對該組間統計數據進行還原,得到最終統計結果。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711055327.9A CN109756442B (zh) | 2017-11-01 | 2017-11-01 | 基于混淆电路的数据统计方法、装置以及设备 |
CN201711055327.9 | 2017-11-01 | ||
??201711055327.9 | 2017-11-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201923619A TW201923619A (zh) | 2019-06-16 |
TWI686712B true TWI686712B (zh) | 2020-03-01 |
Family
ID=66331338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107130829A TWI686712B (zh) | 2017-11-01 | 2018-09-03 | 基於混淆電路的數據統計方法、裝置以及設備 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN109756442B (zh) |
TW (1) | TWI686712B (zh) |
WO (1) | WO2019085677A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569227B (zh) * | 2019-08-09 | 2020-08-14 | 阿里巴巴集团控股有限公司 | 模型参数确定方法、装置和电子设备 |
CN112711744A (zh) * | 2020-06-23 | 2021-04-27 | 华控清交信息科技(北京)有限公司 | 一种计算任务的处理方法、装置和用于计算任务的处理装置 |
CN112084384B (zh) * | 2020-09-11 | 2023-10-27 | 支付宝(杭州)信息技术有限公司 | 多方联合进行安全统计的方法和装置 |
CN113591146B (zh) * | 2021-07-29 | 2024-02-13 | 北京航空航天大学 | 基于合作的高效安全两方计算系统及计算方法 |
CN113343283B (zh) * | 2021-07-30 | 2021-10-15 | 深圳前海微众银行股份有限公司 | 一种数据处理方法 |
CN113821826A (zh) * | 2021-09-30 | 2021-12-21 | 支付宝(杭州)信息技术有限公司 | 实现异或分片输入输出的布尔电路、方法和系统 |
CN115801253B (zh) * | 2023-02-03 | 2023-04-18 | 蓝象智联(杭州)科技有限公司 | 一种用于安全多方计算的多方秘密分享方法及电子设备 |
CN117827805B (zh) * | 2024-03-06 | 2024-05-24 | 四川中城智建系统集成科技有限公司 | 一种数字孪生平台的数据处理运维系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090175443A1 (en) * | 2008-01-08 | 2009-07-09 | Vladimir Kolesnikov | Secure function evaluation techniques for circuits containing XOR gates with applications to universal circuits |
TW200949680A (en) * | 2008-05-24 | 2009-12-01 | Via Tech Inc | On-die cryptographic apparatus in a secure microprocessor |
WO2016181980A1 (ja) * | 2015-05-12 | 2016-11-17 | 日本電信電話株式会社 | 秘密分散方法、秘密分散システム、分散装置、およびプログラム |
CN106170943A (zh) * | 2013-09-25 | 2016-11-30 | 汤姆逊许可公司 | 使用部分同态加密和掩码的隐私保护岭回归 |
WO2017001872A1 (en) * | 2015-07-01 | 2017-01-05 | Barclays Bank Plc | Secure computation |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9077539B2 (en) * | 2011-03-09 | 2015-07-07 | Microsoft Technology Licensing, Llc | Server-aided multi-party protocols |
KR20150143423A (ko) * | 2013-03-04 | 2015-12-23 | 톰슨 라이센싱 | 프라이버시 보호 능형 회귀 |
CN103326822B (zh) * | 2013-07-18 | 2016-02-17 | 上海交通大学 | 基于数据分片的参与式感知系统隐私保护方法及系统 |
JP2016510912A (ja) * | 2013-08-09 | 2016-04-11 | トムソン ライセンシングThomson Licensing | プライバシーを保護する行列因子分解のための方法及びシステム |
-
2017
- 2017-11-01 CN CN201711055327.9A patent/CN109756442B/zh active Active
-
2018
- 2018-09-03 TW TW107130829A patent/TWI686712B/zh active
- 2018-09-21 WO PCT/CN2018/106963 patent/WO2019085677A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090175443A1 (en) * | 2008-01-08 | 2009-07-09 | Vladimir Kolesnikov | Secure function evaluation techniques for circuits containing XOR gates with applications to universal circuits |
TW200949680A (en) * | 2008-05-24 | 2009-12-01 | Via Tech Inc | On-die cryptographic apparatus in a secure microprocessor |
CN106170943A (zh) * | 2013-09-25 | 2016-11-30 | 汤姆逊许可公司 | 使用部分同态加密和掩码的隐私保护岭回归 |
WO2016181980A1 (ja) * | 2015-05-12 | 2016-11-17 | 日本電信電話株式会社 | 秘密分散方法、秘密分散システム、分散装置、およびプログラム |
WO2017001872A1 (en) * | 2015-07-01 | 2017-01-05 | Barclays Bank Plc | Secure computation |
Also Published As
Publication number | Publication date |
---|---|
WO2019085677A1 (zh) | 2019-05-09 |
CN109756442A (zh) | 2019-05-14 |
CN109756442B (zh) | 2020-04-24 |
TW201923619A (zh) | 2019-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI686712B (zh) | 基於混淆電路的數據統計方法、裝置以及設備 | |
US11295381B2 (en) | Data auditing method and device | |
KR102195351B1 (ko) | 블록체인 시스템과 데이터 저장 방법 및 장치 | |
TWI730622B (zh) | 資料處理方法、裝置和電子設備 | |
TW201917666A (zh) | 資料審計的方法及裝置 | |
TW201822033A (zh) | 資源處理方法及裝置 | |
TW202103034A (zh) | 資料處理方法、裝置和電子設備 | |
WO2021000572A1 (zh) | 数据处理方法、装置和电子设备 | |
WO2021000575A1 (zh) | 数据交互方法、装置和电子设备 | |
CN111767555A (zh) | 区块链中实现隐私保护的方法及节点、存储介质 | |
TWI705686B (zh) | 資料統計的方法、裝置以及設備 | |
WO2020125233A1 (zh) | 字段更新方法及装置、电子设备 | |
WO2019095854A1 (zh) | 可溯源的多方数据处理方法、装置及设备 | |
TWI686758B (zh) | 資料請求處理、詢問消息處理方法、裝置以及設備 | |
CN113076527B (zh) | 一种基于区块链的数字资产处理方法及装置 | |
TWI737164B (zh) | 資料互動方法、裝置、伺服器和電子設備 | |
WO2021239087A1 (zh) | 一种数据处理方法、装置、设备及介质 | |
WO2020211075A1 (zh) | 去中心化多方安全数据处理方法、装置及存储介质 | |
US10924273B2 (en) | Data exchange for multi-party computation | |
CN111460514B (zh) | 数据匹配方法、装置和电子设备 | |
US10909252B2 (en) | Blockchain-based relationship binding method, apparatus, and device | |
CN115118424A (zh) | 一种可信区块链的联盟管理方法、装置及可信区块链系统 | |
CN115757571A (zh) | 一种基于图计算的多方计算方法及装置 | |
CN116432235A (zh) | 区块链中账户数据的隐私保护方法及装置 |