本公開涉及計算機的,具體而言,涉及一種數據處理方法、系統、裝置、電子設備及存儲介質。
背景技術:
1、隨著云計算的發展,將復雜運算外包給云計算的服務提供者(如云服務器)進行處理,從而由服務提供者返回計算結果,這將為用戶節省大量的時間和計算開銷。
2、在不同類型的運算中,多項式評估是一個基本且較為重要的運算。然而,為了節省計算資源、或黑客攻擊、或者系統故障將導致服務提供者返回錯誤但合理的結果,而不執行實際計算。如果云服務器返回錯誤的計算結果,將直接影響用戶對數據的使用。
技術實現思路
1、本公開實施例至少提供一種數據處理方法、系統、裝置、電子設備及存儲介質。
2、第一方面,本公開實施例提供了一種數據處理方法,應用于云服務器,包括:
3、獲取每個用戶端上傳的多項式函數的輸入數據和所述輸入數據的數據簽名;所述數據簽名為基于密鑰管理中心為各所述用戶端生成的密鑰確定;
4、基于所述輸入數據對所述多項式函數進行計算,得到計算結果;
5、基于所述輸入數據的數據簽名和所述密鑰,生成所述計算結果的結果驗證信息;
6、基于所述結果驗證信息,對所述計算結果進行校驗。
7、一種可選的實施方式中,所述基于所述輸入數據的所述數據簽名和所述密鑰,生成所述計算結果的結果驗證信息,包括:
8、確定所述多項式函數對應的多個邏輯門;
9、基于各所述邏輯門的目標輸入數據的第一驗證標簽,確定該邏輯門的輸出數據的第二驗證標簽;其中,所述第一驗證標簽基于所述目標輸入數據的數據簽名和密鑰確定;
10、基于所述第二驗證標簽,確定所述結果驗證信息。
11、一種可選的實施方式中,所述基于所述第二驗證標簽,確定所述結果驗證信息,包括:
12、基于所述各所述邏輯門中第一邏輯門的第二驗證標簽,確定所述結果驗證信息;其中,所述第一邏輯門為各所述邏輯門中用于輸出所述計算結果的邏輯門。
13、一種可選的實施方式中,所述基于各所述邏輯門的目標輸入數據的第一驗證標簽,確定該邏輯門的輸出數據的第二驗證標簽,包括:
14、確定各所述邏輯門的屬性信息;其中,所述屬性信息用于指示所述輸入數據的數據類型,和/或,所述邏輯門的計算類型;
15、按照與所述屬性信息相匹配的處理模式,對所述第一驗證標簽進行處理,得到所述第二驗證標簽。
16、一種可選的實施方式中,所述計算類型為乘法或加法;所述按照與所述屬性信息相匹配的處理模式,對所述第一驗證標簽進行處理,得到所述第二驗證標簽,包括:
17、在基于所述數據類型確定所述目標輸入數據中包含常數的情況下,確定所述第一驗證標簽中的公鑰為第一公鑰;
18、基于所述常數和所述第一驗證標簽中的數據簽名,確定第一數據簽名;
19、將所述第一數據簽名和所述第一公鑰,確定為所述第二驗證標簽。
20、一種可選的實施方式中,所述計算類型為乘法;所述按照與所述屬性信息相匹配的處理模式,對所述第一驗證標簽進行處理,得到所述第二驗證標簽,包括:
21、在基于所述數據類型確定所述目標輸入數據中不包含常數的情況下,向密鑰管理中心發送所述第一驗證標簽中數據簽名的驗證請求;
22、獲取驗證通過的情況下所述密鑰管理中心反饋的第一新數據簽名;其中,所述第一新數據簽名為基于所述目標輸入數據對應的私鑰轉換數據和所述第一驗證標簽中的數據簽名確定的;
23、基于所述第一新數據簽名和所述第一驗證標簽中的數據簽名,確定所述第二驗證標簽。
24、一種可選的實施方式中,所述計算類型為加法;所述按照與所述屬性信息相匹配的處理模式,對所述第一驗證標簽進行處理,得到所述第二驗證標簽,包括:
25、在基于所述數據類型確定所述目標輸入數據中不包含常數,且各所述目標輸入數據的公鑰相同的情況下,確定所述第一驗證標簽中公鑰為第二公鑰;
26、基于所述第一驗證標簽中目標輸入數據的數據簽名,確定第二數據簽名;
27、確定所述第二公鑰和所述第二數據簽名為所述第二驗證標簽。
28、一種可選的實施方式中,所述計算類型為加法;所述按照與所述屬性信息相匹配的處理模式,對所述第一驗證標簽進行處理,得到所述第二驗證標簽,包括:
29、在基于所述數據類型確定所述目標輸入數據中不包含常數,且各所述目標輸入數據的公鑰不相同的情況下,向密鑰管理中心發送所述第一驗證標簽中的數據簽名;
30、獲取所述密鑰管理中心對所述第一驗證標簽中的數據簽名進行重新計算后得到的第二新數據簽名;
31、基于所述第二新數據簽名,確定第三數據簽名;
32、基于所述目標輸入數據對應的私鑰轉換數據,確定第三公鑰;
33、確定所述第三數據簽名和所述第三公鑰為所述第二驗證標簽。
34、一種可選的實施方式中,所述基于所述結果驗證信息,對所述計算結果進行校驗,包括:
35、向所述密鑰管理中心發送所述結果驗證信息;
36、獲取所述密鑰管理中心對所述結果驗證信息進行校驗的校驗結果。
37、第二方面,本公開實施例還提供一種數據處理方法,應用于用戶端,包括:
38、獲取密鑰管理中心發送的密鑰;
39、基于所述密鑰對多項式函數的輸入數據進行簽名,得到所述輸入數據的數據簽名;
40、向云服務器發送所述輸入數據和所述數據簽名;
41、獲取所述云服務器發送的所述多項式函數的計算結果;其中,所述云服務器在所述密鑰管理中心對所述計算結果的結果驗證信息進行校驗通過的情況下向所述用戶端發送。
42、一種可選的實施方式中,所述基于所述密鑰對多項式函數的輸入數據進行簽名,得到所述輸入數據的數據簽名,包括:
43、獲取所述輸入數據的物理標簽,以及與所述用戶端對應的第一隨機數;
44、基于所述物理標簽、所述第一隨機數和安全參數,確定所述輸入數據的數據簽名。
45、第三方面,本公開實施例還提供一種數據處理方法,應用于密鑰管理中心,包括:
46、確定用戶端的密鑰,并向所述用戶端發送所述密鑰;
47、獲取云服務器發送的多項式函數的計算結果的結果驗證信息;其中,所述結果驗證信息為基于所述用戶端的輸入數據的數據簽名和所述密鑰確定,所述數據簽名為基于所述密鑰確定;
48、對所述結果驗證信息進行校驗,得到校驗結果。
49、一種可選的實施方式中,所述確定用戶端的密鑰,包括:
50、獲取密鑰生成參數;
51、通過密鑰生成算法對所述密鑰生成參數進行處理,得到所述密鑰。
52、一種可選的實施方式中,所述方法還包括:
53、為所述用戶端確定第二隨機數;
54、通過所述第二隨機數,對所述密鑰中的私鑰進行私鑰轉換,得到私鑰轉換結果;
55、基于所述第二隨機數和所述私鑰轉換結果,確定所述輸入數據對應的私鑰轉換數據。
56、一種可選的實施方式中,所述對所述結果驗證信息進行校驗,得到校驗結果,包括:
57、對所述結果驗證信息中的公鑰和數據簽名,進行雙線性映射運算,得到運算結果;
58、在確定所述運算結果和預設結果相匹配的情況下,得到對所述結果驗證信息校驗通過的校驗結果。
59、第四方面,本公開實施例還提供一種數據處理系統,包括:用戶端、云服務器和密鑰管理中心;
60、所述密鑰管理中心,被配置成為用戶端確定密鑰;以及對所述云服務器發送的結果驗證信息進行校驗,得到校驗結果;
61、所述用戶端,被配置成基于所述密鑰對多項式函數的輸入數據進行簽名,得到所述輸入數據的數據簽名;
62、所述云服務器,被配置成基于所述輸入數據對所述多項式函數進行計算,得到計算結果;基于每個所述輸入數據的數據簽名和所述密鑰,生成所述計算結果的結果驗證信息;并向所述密鑰管理中心發送所述結果驗證信息。
63、第五方面,本公開實施例還提供一種數據處理裝置,設置于云服務器,包括:
64、第一獲取單元,用于獲取每個用戶端上傳的多項式函數的輸入數據和所述輸入數據的數據簽名;所述數據簽名為基于密鑰管理中心為所述用戶端生成的密鑰確定;
65、計算單元,用于基于所述輸入數據對所述多項式函數進行計算,得到計算結果;
66、生成單元,用于基于每個所述輸入數據的數據簽名和所述密鑰,生成所述計算結果的結果驗證信息;
67、第一校驗單元,用于基于所述結果驗證信息,對所述計算結果進行校驗。
68、第六方面,本公開實施例還提供一種數據處理裝置,設置于用戶端,包括:
69、第二獲取單元,用于獲取密鑰管理中心發送的密鑰;
70、簽名單元,用于基于所述密鑰對多項式函數的輸入數據進行簽名,得到所述輸入數據的數據簽名;
71、發送單元,用于向云服務器發送所述輸入數據和所述數據簽名;
72、第三獲取單元,用于獲取所述云服務器發送的所述多項式函數的計算結果;其中,所述云服務器在所述密鑰管理中心對所述計算結果的結果驗證信息進行校驗通過的情況下向所述用戶端發送。
73、第七方面,本公開實施例還提供一種數據處理裝置,設置于密鑰管理中心,包括:
74、確定單元,用于確定用戶端的密鑰,并向所述用戶端發送所述密鑰;
75、第四獲取單元,用于獲取云服務器發送的多項式函數的計算結果的結果驗證信息;其中,所述結果驗證信息為基于所述用戶端的輸入數據的數據簽名和所述密鑰確定,所述數據簽名為基于所述密鑰確定;
76、第二校驗單元,用于對所述結果驗證信息進行校驗,得到校驗結果。
77、第八方面,本公開實施例還提供一種電子設備,包括:處理器、存儲器和總線,所述存儲器存儲有所述處理器可執行的機器可讀指令,當電子設備運行時,所述處理器與所述存儲器之間通過總線通信,所述機器可讀指令被所述處理器執行時執行上述第一方面,或第一方面中任一種可能的實施方式中的步驟。
78、第九方面,本公開實施例還提供一種計算機可讀存儲介質,該計算機可讀存儲介質上存儲有計算機程序,該計算機程序被處理器運行時執行上述第一方面,或第一方面中任一種可能的實施方式中的步驟。
79、本公開提供了一種數據處理方法、系統、裝置、電子設備及存儲介質。在本技術實施例中,首先,獲取每個用戶端上傳的多項式函數的輸入數據和輸入數據的數據簽名;其中,數據簽名為基于密鑰管理中心為各用戶端生成的密鑰確定;然后,基于輸入數據對多項式函數進行計算,得到計算結果;然后,基于輸入數據的數據簽名和密鑰,生成計算結果的結果驗證信息;以及基于結果驗證信息,對計算結果進行校驗。
80、上述實施方式中,通過輸入數據的數據簽名和密鑰,生成計算結果的結果驗證信息的方式,可以實現借助第三方的密鑰管理中心將不同用戶端的數據簽名轉化為統一密鑰的結果驗證信息,從而實現了高效同態的信息結構,從而使多項式函數的輸入可以來自于多個用戶端,以提高多項式函數的計算效率。因此,本公開技術方案具有高效性、支持多個數據源的特點。
81、為使本公開的上述目的、特征和優點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。