TWI688250B - 資料加解密的方法及裝置 - Google Patents

資料加解密的方法及裝置 Download PDF

Info

Publication number
TWI688250B
TWI688250B TW108107757A TW108107757A TWI688250B TW I688250 B TWI688250 B TW I688250B TW 108107757 A TW108107757 A TW 108107757A TW 108107757 A TW108107757 A TW 108107757A TW I688250 B TWI688250 B TW I688250B
Authority
TW
Taiwan
Prior art keywords
result
data
random
encrypted
constant
Prior art date
Application number
TW108107757A
Other languages
English (en)
Other versions
TW202002564A (zh
Inventor
李漓春
林文珍
王華忠
Original Assignee
香港商阿里巴巴集團服務有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 香港商阿里巴巴集團服務有限公司 filed Critical 香港商阿里巴巴集團服務有限公司
Publication of TW202002564A publication Critical patent/TW202002564A/zh
Application granted granted Critical
Publication of TWI688250B publication Critical patent/TWI688250B/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/727Modulo N arithmetic, with N being either (2**n)-1,2**n or (2**n)+1, e.g. mod 3, mod 4 or mod 5
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)
  • Storage Device Security (AREA)

Abstract

本說明書實施例提供一種資料加密、資料解密的方法和裝置。根據加密方法,在加密結果中基於約定的結果範圍和預定常數而引入特殊構造的隨機項,使得該隨機項對於正常結果範圍的運算結果沒有影響,對於超出正常結果範圍的資料進行混淆。在解密過程中,可以從加密結果中恢復出約定結果範圍之內的運算結果。

Description

資料加解密的方法及裝置
本說明書一個或多個實施例係有關資料傳輸安全領域,尤其有關資料加解密的方法和裝置。
隨著互聯網的發展和雲端計算概念的誕生,以及人們在密文搜索、密文傳輸和多方計算等方面的需求日益增加,同態加密(Homomorphic Encryption)變得更加重要。同態加密是一類具有特殊自然屬性的加密方法,與一般加密演算法相比,同態加密除了能實現基本的加密操作之外,還能實現密文間的多種計算功能。它允許人們對密文進行特定的代數運算得到仍然是加密的結果,將其解密所得到的結果與對明文進行同樣的運算結果一樣,換而言之,即先計算後解密可等同於先解密後計算。 同態加密的上述性質使得它在多種資訊安全保護場景中發揮很大優勢。人們可以委託第三方對資料進行處理而不洩露資訊。此外,利用同態加密技術可以先對多個密文進行計算之後再解密,不必對每一個密文解密而花費高昂的計算代價。利用同態加密技術還可以實現無金鑰方對密文的計算,密文計算無須經過金鑰方,既可以減少通信代價,又可以轉移計算任務,由此可平衡各方的計算代價。另外,利用同態加密技術可以實現讓解密方只能獲知最後的結果,而無法獲得每一個密文的訊息,進一步提高資訊的安全性。 然而,在一些情況下,多方計算中的某一方,有可能透過構造特殊欄位偽裝成同態加密密文的方式,竊取其他方的原資料。 因此,希望能有改進的方案,進一步提高同態加密資料傳輸的安全性。
本說明書的一個或多個實施例描述了一種資料加解密傳輸的方法和裝置,透過在約定的結果範圍的基礎上引入特殊構造的隨機項來混淆超出結果範圍的資料,從而防止一方竊取另一方的私有資料,增加加密傳輸的安全性。 根據第一態樣,提供了一種資料加密的方法,包括: 從對端接收第一資料; 基於與所述對端預先約定的結果範圍,產生隨機項R,所述結果範圍包括結果最小值a和結果最大值b,所述隨機項R為亂數r與約定常數c的乘積,所述約定常數c大於所述結果最大值b與結果最小值a的差值; 基於所述第一資料、本地私有的第二資料、以及所述隨機項,進行同態運算,得到加密結果; 將所述加密結果返回給所述對端。 在一個實施例中,進行同態運算得到加密結果具體包括: 基於所述第一資料和所述第二資料,進行第一同態運算,得到第一運算結果;然後基於所述第一運算結果和所述隨機項,進行第二同態運算,得到加密結果。 進一步地,在一個實施例中,以上基於所述第一運算結果和隨機項,進行第二同態運算包括:獲取所述第一運算結果與所述結果最小值a的差值作為第二運算結果;對所述第二運算結果與所述隨機項進行同態求和加密,從而產生所述加密結果。 在一種可能的設計中,結果最小值a為0,結果最大值b為n位自然數;所述約定常數c為10^n,使得所述隨機項R中從高位向低位排列的後n位均為0,其中,n為自然數。 在一種可能的設計中,結果最小值a為0,結果最大值b為2^n,所述約定常數c為2^(n+1),所述隨機項以二進位來表示,在所述隨機項R的二進位表示中,從高位向低位排列的後n位均為0,其中,n為自然數。 在一種實施方式中,約定常數c取值為Δ+1,其中,Δ為所述結果最大值b與結果最小值a的差值。 根據第二態樣,提供一種資料解密的方法,包括: 接收同態加密的加密結果,所述加密結果根據第一態樣的加密方法產生; 對所述加密結果進行同態解密,得到解密結果; 獲取解密結果對所述約定常數c取模的餘數; 基於所述餘數而確定所述第一運算結果的值。 在一個實施例中,基於所述餘數而確定所述第一運算結果的值進一步包括: 確定運算結果的值為所述餘數的值加上所述結果最小值a。 在一種可能的設計中,約定常數c為10^n,此時取模操作包括,獲取所述解密結果中從高位向低位排列的後n位,作為餘數。 在一種可能的設計中,解密結果和隨機項均以二進位來表示,所述隨機項的二進位表示中,從高位向低位排列的後n位均為0;此時取模操作包括,獲取所述解密結果的二進位表示中從高位向低位排列的後n位,作為餘數。 根據第三態樣,提供一種資料加密的裝置,包括: 接收單元,配置成從對端接收第一資料; 隨機產生單元,配置成基於與所述對端預先約定的結果範圍,產生隨機項R,所述結果範圍包括結果最小值a和結果最大值b,所述隨機項R為亂數r與約定常數c的乘積,所述約定常數c大於所述結果最大值b與結果最小值a的差值; 運算單元,配置成基於所述第一資料、本地私有的第二資料,以及所述隨機項,進行同態運算,得到加密結果; 發送單元,配置成將所述加密結果返回給所述對端。 根據第四態樣,提供一種資料解密的裝置,包括: 接收單元,配置成接收同態加密的加密結果,所述加密結果由根據請求項9的裝置所加密產生; 解密單元,配置成對所述加密結果進行同態解密,得到解密結果; 取模單元,配置成獲取解密結果對所述約定常數c取模的餘數; 確定單元,配置成基於所述餘數而確定所述運算結果的值。 根據第五態樣,提供了一種電腦可讀儲存媒體,其上儲存有電腦程式,當所述電腦程式在電腦中執行時,令電腦執行第一態樣和第二態樣的方法。 根據第六態樣,提供了一種計算設備,包括記憶體和處理器,其特徵在於,所述記憶體中儲存有可執行碼,所述處理器執行所述可執行碼時,實現第一態樣和第二態樣的方法。 透過本說明書實施例提供的方法和裝置,在加密結果中基於約定的結果範圍和預定常數而引入特殊構造的隨機項,使得該隨機項對於正常結果範圍的運算結果沒有影響,對於超出正常結果範圍的資料進行混淆。如果第一端發送的是正常的同態加密資料,那麼第二端運算之後的運算結果應該在約定的結果範圍,第一端可以從加密結果中恢復出運算結果;如果第一端發送的是不誠實的特殊構造的加密資料,那麼運算結果將會超出正常結果範圍,而這樣的超出正常結果範圍的部分會被隨機項混淆,無法獲知其真實值,因而第一端無法透過超出結果範圍的部分竊取第二端的私有資料。如此,在不增加附加通信的情況下,防止第一端竊取第二端的私有資料。
下面結合附圖,對本說明書提供的方案進行描述。 圖1為本說明書揭露的一個實施例的同態加密傳輸的實施場景示意圖。在圖1中,示出了雙方進行同態加密和資料傳輸的過程。在這個過程中,首先,第一端P1對其私有資料X(x1,x2,x3…)進行同態加密,得到加密資料E(X),即包括E(x1),E(x2),E(x3)…。然後第一端P1將加密資料E(x1),E(x2),E(x3)等傳輸給第二端P2。 第二端具有私有資料Y(y1,y2,y3…)。在接收到第一端傳輸的加密資料E(X)之後,第二端基於加密資料E(X)和其私有資料Y進行進一步運算,運算邏輯係表示為函數f。根據同態加密和同態運算的原理:
Figure 02_image001
其中,F是與函數f對應的同態運算函數,F=Homo f,使得解密出來的明文對應函數f運算。 因此,第二端P2運算得到加密的運算結果E(f(X,Y)),並將該結果返回給第一端P1。第一端P1對接收到的運算結果進行解密,可以得到f(X,Y)的值。如此,第二端P2無需也無法知道第一端的私有資料X的值,而可以直接基於加密的資料E(X)來進行所需的運算。而第一端P1則可以在不知道第二端P2的私有資料Y的情況下,直接獲得與Y有關的計算結果f(X,Y),這使得第一端和第二端雙方都無需知道對方的私有資料,就可以進行資料的運算。 然而,經過發明人的觀察和研究,在實際的同態加密傳輸過程中,有可能其中一方,例如P1端,向對方P2發送的不是約定的同態加密演算法的正常資料結構的密文E(X),而是特殊構造明文的密文,或者特殊構造的其他串流,在此記為E(X’),以此試圖竊取P2的私有資料Y的資訊。而P2對來自P1的資料E(X’)和其本地私有資料Y進行函數運算之後,得到的計算結果是密文形式,也就是E(f(X’,Y)),沒有P1方的秘鑰,P2無法從該密文形式中判斷計算結果是否符合約定,是否在正常範圍。 下面結合具體例子描述正常同態加密和同態加密詐欺的過程。 圖2a示出正常同態加密的具體例子。在該例子中,P1一端具有私有資料X(x1=3,x2=5)。P1對私有資料進行同態加密,並將加密後的資料E(x1),E(x2)傳輸給第二端P2。 第二端P2具有私有資料Y(y1=2,y2=1)。在接收到第一端P1傳輸的加密資料之後,第二端基於加密資料E(X)和其私有資料Y進行進一步運算,假定運算邏輯f可以被表示為:
Figure 02_image003
那麼P2就可以基於E(X)和Y來進行計算,得到:
Figure 02_image005
於是,第二端P2將運算得到的加密結果E(11)返回給第一端P1。第一端P1解密就得到可以f(X,Y)=11。在該習知同態加密傳輸過程中,P1方只會知道運算結果f(X,Y),而無法知道Y的具體值。 然而,透過構造特殊明文或欄位,卻有可能竊取到P2的私有資料Y。圖2b示出同態加密詐欺的具體例子。與圖2a類似地,P1端具有私有資料X(x1=3,x2=5)。但是在傳輸的時候,P1並不是如圖2a一樣誠實地將同態加密資料E(x1),E(x2)傳輸給第二端P2,而是在其中添加了構造資料100和10000,將偽造資料E(x1+100)和E(x2+10000)傳輸給P2。 P2接收到P1傳輸的密文資料之後,照常進行運算,但是實際運算過程為:
Figure 02_image007
之後,P2如常地將該結果返回給P1,P1透過解密得到f(X’,Y)=10211。此時,如果P1已經透過圖2a的過程而知道f(X,Y)=11,或者P1預先知道f(X,Y)的正常結果不會超過百位,那麼根據構造資料100和10000的設定方式,從式(1)就可以知道,百位對應的數字應該為y1,萬位對應的數字應該為y2。於是,P1就可以推斷出,y1=2,y2=1。如此,P1透過構造資料,竊取到P2端的私有資料y1和y2。 如前所述,由於P2的計算結果E(f)本身是密文形式,因此P2很難判斷計算結果是否正常。而P1方傳輸過來的資料E(X)也是加密形式,若要判斷E(X)是否為正常資料,也需要很大的附加計算量和附加通信。基於這樣的考慮,在本說明書的實施例中,P1和P2預先約定計算結果的正常範圍。在此基礎上,P2在進行運算時,根據預先約定的範圍而產生隨機項,使得該隨機項對於正常範圍內的運算結果沒有影響,但是對於超出正常範圍的運算結果進行混淆,從而防止P1透過構造特殊資料竊取P2的私有資料。下面描述該構思的具體實現方式。 圖3示出根據一個實施例的資料加密方法的流程圖。該方法由接收加密資料並進行資料運算的一方執行,例如圖1和圖2中的第二端P2。如圖3所示,該加密方法包括,步驟S31,從對端接收第一資料;步驟S33,基於與對端預先約定的結果範圍,產生隨機項R,所述隨機項R為亂數r與約定常數c的乘積,約定常數c大於結果範圍的最大值與最小值的差;步驟S35,基於第一資料、本地私有的第二資料,以及上述隨機項R進行同態運算,以產生加密結果;步驟S37,將加密結果返回給對端。下面描述圖3中各個步驟的執行方式。 可以理解到,圖3的方法用以在資料傳輸的雙方之間進行資料處理和加密,資料傳輸的雙方可以稱為第一端和第二端,其中,第一端提供加密資料,並請求獲得基於該加密資料而進行進一步運算的運算加密結果,例如圖1、圖2中的P1方;第二端接收加密資料,並基於該加密資料而進行進一步運算,以得到運算加密結果返回給第一端;第二端例如是圖1和圖2中的P2方。圖3流程圖中的方法步驟由第二端P2所執行。 在執行該方法之前,通信雙方,即第一端P1和第二端P2,需要約定,運算加密結果的正常結果範圍。一般地,出於安全需要,P1和P2可以在加密傳輸過程開始之前,透過與加密傳輸的通信方式不同的方式來約定該結果範圍。不失一般性地,結果範圍可以被表示為[a,b],其中,a表示結果最小值,b表示結果最大值。 在第一端和第二端約定好運算加密結果的正常結果範圍的情況下,第二端即可以採用圖3所示方法來進行資料加密。 首先,在步驟31,從對端接收第一資料。在圖4的示意中,即P2從第一端P1接收資料。該接收的資料在此被稱為第一資料。然而,在本步驟中,並不知曉第一資料是第一端P1按照約定,對其私有資料進行同態加密的正常加密資料,還是添加了特殊構造資料的密文資料。例如,第一端P1的私有資料X包括x1和x2,那麼從第一端接收到的第一資料E(X)可以被表示為c1=E(x1+p1),c2=E(x2+p2),這裡並不知曉p1和p2的值。在p1和p2均為0的情況下,第一資料c1和c2為按照約定進行同態加密的誠實資料;如果p1和/或p2不為0,那麼第一資料則為進行了特殊構造的偽造資料。 在接收到上述第一資料之後,在步驟33,基於與對端預先約定的結果範圍,產生隨機項R,所述隨機項R為亂數r與約定常數c的乘積,預設常數c大於結果範圍的最大值與最小值的差;在步驟35,基於步驟31接收到的第一資料、本地私有的第二資料、以及步驟33產生的隨機項R,進行進一步同態運算,得到加密結果,用以返回給第一端P1。 下面結合預先約定的結果範圍的不同情況,描述步驟33和35的執行。 在第一實施例中,約定的結果範圍的最小值為0,因此,該結果範圍可以被表示為[0,b]。 在第一實施例的一個例子中,常數c可以被設定為任意大於b的值,例如較為簡單地,c被設定為c=b+1。比如,如果約定結果範圍為[0,99],那麼c可以被設定為100;如果約定結果範圍為[0,63],那麼c可以被設定為64。 在第一實施例的另一例子中,考慮結果範圍的最大值b的位數,假定b是n位的自然數,那麼不管b值具體為何,都將常數c設定為10^n。然後產生一亂數r。如此,在將常數c與亂數r相乘得到隨機項後,隨機項的高位對應於亂數r,低位的n位均為0。比如,在上面的例子中,不管M為99還是63,都是一個2位自然數,那麼在這樣的情況下,都將c設定為10^2=100。於是,將常數100與亂數r相乘之後得到的隨機項R中,後面的2位,即低位的2位必然均為0。比如r=2356,那麼隨機項為235600,低2位均為0。 在第一實施例的另一例子中,結果範圍以二進位來表示,其中,結果最大值b可以被表示為2^n。此時,可以將常數c設定為在二進位表示下的2^(n+1),如此使得,在將亂數與常數c相乘得到的隨機項的二進位表示中,低位的n個位均為0。 需要理解的是,由於結果範圍是通信的兩端預先約定的,常數c也可以是兩端預先設定或約定的,例如,在約定結果範圍的同時,設定或約定上述常數c。 如此,在第一實施例中,按照前述的常數c和亂數r,產生隨機項R=r*c。 接著,在步驟35,基於從第一端接收到的第一資料、第二端本地私有的第二資料、以及步驟33產生的隨機項R,進行同態運算。 在一個實施例中,可以首先基於第一資料以及本地私有的第二資料,進行第一同態運算,得到第一運算結果。在這個過程中,第二端P2並不對從P1接收到的第一資料E(X)進行判斷和區分,照常地結合本地私有的資料(在此稱為第二資料,對應於圖4中的資料Y)進行同態運算,得到第一運算結果,即E(f(X,Y))。然後將第一運算結果與上述隨機項結合運算,即進行進一步同態運算,得到加密結果。在第一實施例中,該進一步同態運算即為第一運算結果和隨機項R的同態相加加密,從而得到如下加密結果:
Figure 02_image009
然而,加密結果的運算過程並不限於以上實施例。下面以f(X,Y)=x1*y1+x2*y2為例來進行描述。 在如上述實施例描述分別進行第一同態運算和第二同態運算的情況下,首先運算E(x1*y1+x2*y2),得到第一運算結果,然後進行第二同態運算,得到E(x1*y1+x2*y2+R) =E(f(X,Y)+R)。 在另一實施例中,也可以直接對第一資料、第二資料和隨機項進行同態運算,而不區分上述第一同態運算過程和第二同態運算過程,或者採用不同的同態運算順序。 例如,在一個例子中,可以首先計算E(x1*y1),然後計算E(x1*y1+R),再計算E(x1*y1+R+x2*y2)=E(f(X,Y)+R)。當然也可以首先計算E(x2*y2),然後計算E(x2*y2+R),再計算E(x2*y2+R+x1*y1)=E(f(X,Y)+R)。 或者,在一個例子中,也可以直接計算E(x1*y1+x2*y2+R),從而直接得到加密結果E(f(X,Y)+R)。 不管採用怎樣的同態運算順序,最終得到混淆有隨機項的加密結果E(f(X,Y)+R)。 可以理解到,如果第一端P1發送的是正常的同態加密資料E(X),那麼f(X,Y)的運算結果應該在約定的結果範圍之內。在第一實施例中,f(X,Y)<b。而隨機項R=r*c,其中,c必然大於b。因此,隨機項R實際上混淆了超出b的部分,而對小於b的部分沒有影響。特別是,根據前述的若干例子,如果b為n位數,隨機項R可以被設計為,高位隨機(對應亂數r),低位的n位為0,如此使得,如果f(X,Y)在正常範圍b之內,那麼可以從f(X,Y)+R結果的後n位中恢復f(X,Y);而超出n位的部分,則被隨機項R的高位混淆和覆蓋。 更一般地,在第二實施例中,約定的結果範圍的最小值為a,最大值為b,因此,該結果範圍可以被表示為[a,b],其中,a,b是任意整數,例如[-99,98],[12,58],等等。實際上,第一實施例可以被認為是a=0的特殊例子。 由於f(X,Y)約定的結果範圍在a和b之間,即a<f(X,Y)<b,那麼在第二實施例中,可以構造第二運算函數g(X,Y)=f(X,Y)-a,那麼顯然,第二運算函數的正常結果範圍為[0,b-a]。將第二運算函數作為要處理的運算函數,問題再次轉化為第一實施例中範圍最小值為0的情況。 類似地,設定常數c而使其大於b-a。例如,在一個例子中,將常數c設定為:c=b-a+1。在另一例子中,如果b-a的結果為n位數,則將常數c設定為10^n。 比如,如果針對f(X,Y)約定的結果範圍為[12,58],那麼構造的第二運算函數g(X,Y)=f(X,Y)-12的結果範圍為[0,46]。可以將常數c設定為任意大於46的值。例如,可以將常數c設定為47;或者,更簡便地,將其設定為100。 如前所述,常數c可以是通信兩端預先設定或約定的,例如,在約定結果範圍的同時,設定或約定上述常數c。 在已經設定或約定上述常數c的基礎上,在步驟33中,產生一亂數r。將以上設定的常數c與亂數r的乘積作為隨機項R。 接著,在步驟35,基於第一資料、本地私有的第二資料、以及產生的隨機項R,進行同態運算,得到加密結果。在一個示例中,該同態運算包括,首先對第一資料和第二資料進行同態運算,得到第一運算結果;然後將第一運算結果減去結果範圍的最小值a,得到與第二運算函數對應的第二運算結果;之後將該第二運算結果和隨機項R進行同態相加加密,從而得到如下加密結果:
Figure 02_image011
與第一實施例中的描述類似地,加密結果的運算過程並不限於以上示例。在其他示例中,也可以直接對第一資料、第二資料和隨機項進行同態運算,而不區分上述第一運算結果和第二運算結果,或者採用不同的同態運算順序。具體過程不再贅述。 不管採用怎樣的同態運算順序,最終得到混淆有隨機項的加密結果E(g(X,Y)+R)。 如果第一端P1發送的是正常的同態加密資料E(X),那麼f(X,Y)的運算結果應該在約定的結果範圍[a,b]之內,相應地,g(X,Y)=f(X,Y)-a應該在[0,b-a]之內。而隨機項R=r*c,其中,c必然大於b-a。因此,隨機項R實際上混淆了g(X,Y)超出b-a的部分,而對小於b-a的部分沒有影響。特別是,在某些具體例子中,如果b-a為n位數,隨機項R可以被設計為,高位隨機(對應亂數r),低位的n位為0,如此使得,如果g(X,Y)在正常範圍b-a之內,那麼可以從g(X,Y)+R結果的後n位中恢復g(X,Y);而超出n位的部分,則被隨機項R的高位混淆和覆蓋。 如此,第二端透過在結果中加入特殊構造的隨機項R,產生加密結果。該加密結果對於約定結果範圍的資料沒有影響,但是會混淆超出約定結果範圍的資料。接著,在步驟37,第二端將這樣的加密結果返回給對端,即第一端。 接下來描述,第一端對接收到的加密結果進行解密的過程。 圖4示出根據一個實施例的資料解密的方法流程圖,可以理解到,該方法步驟由與圖3方法的執行端相對的一端來執行。例如,在圖3由第二端P2執行的情況下,圖4的方法由第一端P1所執行。如圖4所示,該方法包括:步驟41,接收根據圖3的方法進行同態加密的加密結果;步驟43,對所述加密結果進行同態解密,得到解密結果;步驟45,獲取解密結果對所述約定常數c取模的餘數;步驟47,基於所述餘數而確定運算結果的值。下面描述上述各個步驟的執行過程。 如前所述,在圖3的步驟39中,第二端將加密結果返回給對端,即第一端;那麼相對應地,在步驟41,第一端從第二端接收到上述加密結果。可以理解到,該加密結果是根據圖3的方法,摻雜了隨機項R的加密結果。 下面仍然與前述第一實施例和第二實施例對應地描述後續步驟的執行方式。 在第一實施例中,約定的結果範圍可以表示為[0,b],相應地,第二端發送的加密結果可以被表示為E(f(X,Y)+R),其中,R為隨機項。 接著,在步驟43,對上述加密結果進行同態解密,得到解密結果,即得到f(X,Y)+R的值d。 如前所述,隨機項R可以被表示為R=r*c,其中,r為亂數,c為約定常數,且c>b。因此解密結果d可以被表示為:
Figure 02_image013
基於此,在步驟45,獲取解密結果d對約定常數c取模的餘數。 由於f(X,Y)的約定範圍為[0,b],因此,如果第一端發送的是正常同態加密資料E(X),那麼基於此的計算結果f(X,Y)<=b;又有:c>b,那麼,f(X,Y)<c。 因此,如果用解密結果d除以約定常數c,必然得出商為r,餘數即為不足c的部分f(X,Y)。 在一個具體例子中,約定常數c被設定為10^n。此時,步驟45中對約定常數c取模的方式變得非常簡單,即獲取解密結果d中最低的n位,即為取模之後的餘數。 在另一具體例子中,約定常數c被設定為2^(n+1),並且解密結果和隨機項均以二進位來表示。由於約定常數c被設定為2^(n+1),在隨機項R的二進位表示中,從低位向高位排列的前n位均為0。在這樣的情況下,步驟45中對約定常數c取模的方式即為,獲取解密結果d的二進位表示中從低位向高位排列的前n位,作為餘數。 如前所述,正常運算的f(X,Y)必然小於c,因此,在步驟47,可以將該餘數確定為運算結果f(X,Y)的值。 在第二實施例中,約定的結果範圍可以被表示為[a,b],相應地,第二端發送的加密結果可以被表示為E(g(X,Y)+R)=E(f(X,Y)-a+R),其中,R為隨機項。 類似地,在步驟43,對上述加密結果進行同態解密,得到解密結果,即得到g(X,Y)+R的值d。 在這裡,隨機項R可以被表示為R=r*c,其中,r為亂數,c為約定常數,且c>b-a。因此解密結果d可以被表示為:
Figure 02_image015
與第一實施例類似地,在步驟45,獲取解密結果d對約定常數c取模的餘數。 由於f(X,Y)的約定範圍為[a,b],因此,如果第一端發送的是正常同態加密資料E(X),那麼基於此的計算結果a<=f(X,Y)<=b; 於是有0<=g(X,Y)<=b-a; 另一方面又有:c>b-a,那麼,g(X,Y)<c。 因此,如果用解密結果d除以約定常數c,必然得出商為r,g(X,Y)由於不足c,即作為d除以c的餘數。 與前述類似地,如果約定常數c被設定為10^n,那麼可以透過獲取解密結果d中最低的n位得到取模之後的餘數。如果約定常數c被設定為2^(n+1),並且解密結果和隨機項均以二進位來表示,那麼可以獲取解密結果d的二進位表示中從低位向高位排列的前n位作為餘數。 接下來,在步驟47,基於上述餘數而確定運算結果的值。具體地,在該第二實施例中,步驟47進一步包括,首先基於餘數而確定中間運算結果g(X,Y)的值。如上所述,可以將步驟45中確定出的餘數作為中間運算結果g(X,Y)的值。然後,將中間運算結果加上結果範圍的最小值a,即可得到運算結果f(X,Y)的值,即f(X,Y)=g(X,Y)+a。 下面結合一個具體例子來描述加密和解密的完整過程。圖5示出採用圖3和圖4的加密和解密方法來進行同態加密傳輸的過程的例子。 假定第一端P1和第二端P2預先約定,正常的結果範圍為2位數,且約定常數c為100。然後第一端P1向第二端P2發送加密資料E(X’),即E(x1+b1)和E(x2+b2)。例如,當b1=100,b2=10000,即為圖2a所示的竊取資料的情況。 第二端P2正常計算E(f(X’,Y))後,還產生隨機項R,例如亂數r取2356,那麼隨機項R=r*c=235600。第二端將該隨機項R添加到加密結果中,並將該加密結果E(f(X’,Y)+R)返回給第一端P1。 在與圖2a和2b例子中X,Y取值相同的情況下,f(X,Y)=11。P1透過對加密結果進行解密而得到解密結果d,其中,結果d可以被分解為:
Figure 02_image017
在該結果d中,仍然可以透過最後2位提取出正常的f(X,Y)的值;但是,設計用來竊取P2方私有資料y1和y2的100*y1+10000*y2的結果被R混淆。P1無法再像圖2b所示一樣,透過百位數字而定出y1,透過萬位而定出y2。 透過以上過程可以看到,第一端P1和第二端P2預先約定正常的結果範圍,和預定常數c。第二端P2在加密結果中基於約定的結果範圍和預定常數而引入了特殊構造的隨機項,使得該隨機項對於正常結果範圍的運算結果沒有影響,對於超出正常結果範圍的資料進行混淆。如果第一端P1發送的是正常的同態加密資料,那麼第二端P2運算之後的運算結果應該在約定的結果範圍。那麼第一端P1可以從加密結果中恢復出運算結果;如果第一端P1發送的是不誠實的特殊構造的加密資料,那麼運算結果將會超出正常結果範圍,而這樣的超出正常結果範圍的部分會被隨機項混淆,無法獲知其真實值,因而P1無法透過超出結果範圍的部分而竊取P2的私有資料。如此,在不增加附加通信的情況下,防止第一端竊取第二端的私有資料。 根據另一態樣的實施例,還提供了資料加密和資料解密的裝置。圖6示出根據一個實施例的資料加密裝置的示意性方塊圖。如圖6所示,資料加密裝置60包括:接收單元61,配置成從對端接收第一資料;隨機產生單元63,配置成基於與所述對端預先約定的結果範圍,產生隨機項R,所述結果範圍包括結果最小值a和結果最大值b,所述隨機項R為亂數r與約定常數c的乘積,所述約定常數c大於所述結果最大值b與結果最小值a的差值;運算單元65,配置成基於所述第一資料、本地私有的第二資料、以及所述隨機項,進行同態運算,得到加密結果;發送單元67,配置成將所述加密結果返回給所述對端。 在一個實施例中,運算單元包括(未示出):第一運算模組,配置成基於所述第一資料和所述第二資料,進行第一同態運算,得到第一運算結果;第二運算模組,配置成基於所述第一運算結果和所述隨機項,進行第二同態運算,得到加密結果。 進一步地,在一個實施例中,上述第二運算模組配置成:獲取所述第一運算結果與所述結果最小值a的差值作為第二運算結果;對所述第二運算結果與所述隨機項進行同態求和加密,從而產生所述加密結果。 根據一個實施例,結果最小值a為0,結果最大值b為n位自然數;約定常數c為10^n。此時,隨機產生單元65所產生的所述隨機項R中從高位向低位排列的後n位均為0,其中,n為自然數。 根據一個實施例,結果最小值a為0,結果最大值b為2^n,約定常數c為2^(n+1),並且所述隨機項以二進位來表示。此時,隨機產生單元65產生的隨機項R的二進位表示中,從高位向低位排列的後n位均為0,其中,n為自然數。 在一個實施例中,約定常數c取值為Δ+1,其中,Δ為所述結果最大值b與結果最小值a的差值。 圖7示出根據一個實施例的資料解密裝置的示意性方塊圖。如圖7所示,資料解密裝置70包括:接收單元71,配置成從圖6的資料加密裝置60接收同態加密的加密結果;解密單元73,配置成對所述加密結果進行同態解密,得到解密結果;取模單元75,配置成獲取解密結果對所述約定常數c取模的餘數;確定單元77,配置成基於所述餘數而確定所述運算結果的值。 在一個實施例中,確定單元77配置成:確定運算結果的值為所述餘數的值加上所述結果最小值a。 根據一個實施例,約定常數c被設定為10^n。此時,取模單元75配置成,獲取所述解密結果中從高位向低位排列的後n位,作為所述餘數。 根據一個實施例,解密結果和隨機項均以二進位來表示,隨機項的二進位表示中,從高位向低位排列的後n位均為0。此時,取模單元75配置成,獲取所述解密結果的二進位表示中從高位向低位排列的後n位,作為所述餘數。 根據另一態樣的實施例,還提供一種電腦可讀儲存媒體,其上儲存有電腦程式,當所述電腦程式在電腦中執行時,令電腦執行結合圖3和圖4所描述的方法。 根據再一態樣的實施例,還提供一種計算設備,包括記憶體和處理器,所述記憶體中儲存有可執行碼,所述處理器執行所述可執行碼時,實現結合圖3和圖4所述的方法。 本領域技術人員應該可以意識到,在上述一個或多個示例中,本發明所描述的功能可以用硬體、軟體、韌體或它們的任意組合來實現。當使用軟體來實現時,可以將這些功能儲存在電腦可讀媒體中或者作為電腦可讀媒體上的一個或多個指令或碼而進行傳輸。 以上所述的具體實施方式,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施方式而已,並不用來限定本發明的保護範圍,凡在本發明的技術方案的基礎之上,所做的任何修改、等同替換、改進等,均應包括在本發明的保護範圍之內。
60:資料加密裝置 61:接收單元 63:隨機產生單元 65:運算單元 67:發送單元 70:資料解密裝置 71:接收單元 73:解密單元 75:取模單元 77:確定單元
為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖而獲得其它的附圖。 圖1為一個實施例中同態加密傳輸的實施場景示意圖; 圖2a示出正常同態加密的具體例子; 圖2b示出同態加密詐欺的具體例子; 圖3示出根據一個實施例的資料加密方法的流程圖; 圖4示出根據一個實施例的資料解密的方法流程圖; 圖5示出採用圖3和圖4的加密和解密方法進行同態加密傳輸的過程的例子; 圖6示出根據一個實施例的資料加密裝置的示意性方塊圖; 圖7示出根據一個實施例的資料解密裝置的示意性方塊圖。

Claims (22)

  1. 一種資料加密的方法,該方法包括: 從對端接收第一資料; 基於與該對端預先約定的結果範圍,產生隨機項R,該結果範圍包括結果最小值a和結果最大值b,該隨機項R為亂數r與約定常數c的乘積,該約定常數c大於該結果最大值b與結果最小值a的差值; 基於該第一資料、本地私有的第二資料,以及該隨機項,進行同態運算,得到加密結果;以及 將該加密結果返回給該對端。
  2. 根據請求項1所述的方法,其中,基於該第一資料、本地私有的第二資料,以及該隨機項,進行同態運算包括: 基於該第一資料和該第二資料,進行第一同態運算,得到第一運算結果;以及 基於該第一運算結果和該隨機項,進行第二同態運算,得到加密結果。
  3. 根據請求項2所述的方法,其中,基於該第一運算結果和該隨機項,進行第二同態運算包括: 獲取該第一運算結果與該結果最小值a的差值作為第二運算結果;以及 對該第二運算結果與該隨機項進行同態求和加密,從而產生該加密結果。
  4. 根據請求項1所述的方法,其中,該結果最小值a為0,該結果最大值b為n位自然數,該約定常數c為10^n,使得該隨機項R中從高位向低位排列的後n位均為0,其中,n為自然數。
  5. 根據請求項1所述的方法,其中,該結果最小值a為0,該結果最大值b為2^n,該約定常數c為2^(n+1),該隨機項以二進位來表示,在該隨機項R的二進位表示中,從高位向低位排列的後n位均為0,其中,n為自然數。
  6. 根據請求項1至3中任一項所述的方法,其中,該約定常數c取值為Δ+1,其中,Δ為該結果最大值b與結果最小值a的差值。
  7. 一種資料解密的方法,該方法包括: 接收同態加密的加密結果,該加密結果根據請求項1的加密方法而產生; 對該加密結果進行同態解密,得到解密結果; 獲取解密結果對該約定常數c取模的餘數;以及 基於該餘數而確定運算結果的值。
  8. 根據請求項7所述的方法,其中,該基於該餘數而確定運算結果的值,包括: 將該運算結果的值確定為該餘數的值加上該結果最小值a。
  9. 根據請求項7所述的方法,其中,該約定常數c為10^n, 該獲取解密結果對該約定常數c取模的餘數包括,獲取該解密結果中從高位向低位排列的後n位,作為該餘數。
  10. 根據請求項7所述的方法,其中,該解密結果和該隨機項均以二進位來表示,該隨機項的二進位表示中,從高位向低位排列的後n位均為0; 該獲取解密結果對該約定常數c取模的餘數包括,獲取該解密結果的二進位表示中從高位向低位排列的後n位,作為該餘數。
  11. 一種資料加密的裝置,該裝置包括: 接收單元,配置成從對端接收第一資料; 隨機產生單元,配置成基於與該對端預先約定的結果範圍,產生隨機項R,該結果範圍包括結果最小值a和結果最大值b,該隨機項R為亂數r與約定常數c的乘積,該約定常數c大於該結果最大值b與結果最小值a的差值; 運算單元,配置成基於該第一資料、本地私有的第二資料,以及該隨機項,進行同態運算,得到加密結果;以及 發送單元,配置成將該加密結果返回給該對端。
  12. 根據請求項11所述的裝置,其中,該運算單元包括: 第一運算模組,配置成基於該第一資料和該第二資料,進行第一同態運算,得到第一運算結果;以及 第二運算模組,配置成基於該第一運算結果和該隨機項,進行第二同態運算,得到加密結果。
  13. 根據請求項12所述的裝置,其中,該第二運算模組配置成: 獲取該第一運算結果與該結果最小值a的差值作為第二運算結果;以及 對該第二運算結果與該隨機項進行同態求和加密,從而產生該加密結果。
  14. 根據請求項11所述的裝置,其中,該結果最小值a為0,該結果最大值b為n位自然數,該約定常數c為10^n,該隨機產生單元所產生的該隨機項R中從高位向低位排列的後n位均為0,其中,n為自然數。
  15. 根據請求項11所述的裝置,其中,該結果最小值a為0,該結果最大值b為2^n,該約定常數c為2^(n+1),該隨機項以二進位來表示,在該隨機產生單元產生的該隨機項R的二進位表示中,從高位向低位排列的後n位均為0,其中,n為自然數。
  16. 根據請求項11至13中任一項所述的裝置,其中,該約定常數c取值為Δ+1,其中,Δ為該結果最大值b與結果最小值a的差值。
  17. 一種資料解密的裝置,該裝置包括: 接收單元,配置成接收同態加密的加密結果,該加密結果由根據請求項11的裝置所加密產生; 解密單元,配置成對該加密結果進行同態解密,得到解密結果; 取模單元,配置成獲取解密結果對該約定常數c取模的餘數;以及 確定單元,配置成基於該餘數而確定運算結果的值。
  18. 根據請求項17所述的裝置,其中,該確定單元配置成: 將該運算結果的值確定為該餘數的值加上該結果最小值a。
  19. 根據請求項17所述的裝置,其中,該約定常數c為10^n, 該取模單元配置成,獲取該解密結果中從高位向低位排列的後n位,作為該餘數。
  20. 根據請求項17所述的裝置,其中,該解密結果和該隨機項均以二進位來表示,該隨機項的二進位表示中,從高位向低位排列的後n位均為0; 該取模單元配置成,獲取該解密結果的二進位表示中從高位向低位排列的後n位,作為該餘數。
  21. 一種電腦可讀儲存媒體,其上儲存有電腦程式,當該電腦程式在電腦中執行時,令電腦執行根據請求項1至10中任一項所述的方法。
  22. 一種計算設備,包括記憶體和處理器,其特徵在於,該記憶體中儲存有可執行碼,該處理器執行該可執行碼時,實現根據請求項1至10中任一項所述的方法。
TW108107757A 2018-06-28 2019-03-08 資料加解密的方法及裝置 TWI688250B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810687002.0A CN108933650B (zh) 2018-06-28 2018-06-28 数据加解密的方法及装置
CN201810687002.0 2018-06-28

Publications (2)

Publication Number Publication Date
TW202002564A TW202002564A (zh) 2020-01-01
TWI688250B true TWI688250B (zh) 2020-03-11

Family

ID=64446522

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108107757A TWI688250B (zh) 2018-06-28 2019-03-08 資料加解密的方法及裝置

Country Status (4)

Country Link
US (3) US10911216B2 (zh)
CN (1) CN108933650B (zh)
TW (1) TWI688250B (zh)
WO (1) WO2020001113A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108933650B (zh) 2018-06-28 2020-02-14 阿里巴巴集团控股有限公司 数据加解密的方法及装置
CN110519038B (zh) * 2019-07-29 2022-10-21 北京多思安全芯片科技有限公司 一种数据的同态处理装置和系统
CN110650119B (zh) * 2019-08-20 2022-01-21 创新先进技术有限公司 数据传输方法、装置和电子设备
CN110661618B (zh) * 2019-08-20 2021-04-27 创新先进技术有限公司 数据传输方法、装置和电子设备
CN112560075B (zh) * 2021-02-22 2021-05-25 西南石油大学 一种基于椭圆曲线的轻量级可搜索加密方法及装置
CN113055172B (zh) * 2021-03-31 2022-11-04 北京金山云网络技术有限公司 一种密钥协商方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190724A1 (en) * 2003-02-28 2006-08-24 Adams Neil P System and method of protecting data on a communication device
CN102016958A (zh) * 2008-06-04 2011-04-13 松下电器产业株式会社 加密装置及加密系统
US20110110525A1 (en) * 2009-11-10 2011-05-12 International Business Machines Corporation Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus
US20140233731A1 (en) * 2011-05-09 2014-08-21 Campagnie Industrielle Et Financiere D'Ingenierie "Ingenico" Device and Method for Generating Keys with Enhanced Security for Fully Homomorphic Encryption Algorithm
CN106100818A (zh) * 2016-06-02 2016-11-09 苏州健雄职业技术学院 一种基于整数多项的全同态加密的数据加密方法
WO2017106258A1 (en) * 2015-12-14 2017-06-22 Afero, Inc. System and method for establishing a secondary communication channel to control an internet of things (iot) device
CN107852324A (zh) * 2015-06-02 2018-03-27 瑞典爱立信有限公司 用于加密消息的方法和加密节点

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3503638B1 (ja) * 2002-09-26 2004-03-08 日本電気株式会社 暗号装置及び暗号プログラム
ATE408940T1 (de) * 2003-11-03 2008-10-15 Koninkl Philips Electronics Nv Verfahren und einrichtung zur effizienten mehrteilnehmer-vervielfachung
US7284390B2 (en) * 2005-05-18 2007-10-23 Whirlpool Corporation Refrigerator with intermediate temperature icemaking compartment
US8280039B2 (en) * 2005-12-28 2012-10-02 Panasonic Corporation Signature generating device, signature generating method and signature generating program
WO2008048713A2 (en) * 2006-05-05 2008-04-24 President And Fellows Of Harvard College Practical secrecy-preserving, verifiably correct and trustworthy auctions
US9946810B1 (en) * 2010-04-21 2018-04-17 Stan Trepetin Mathematical method for performing homomorphic operations
US20120063597A1 (en) * 2010-09-15 2012-03-15 Uponus Technologies, Llc. Apparatus and associated methodology for managing content control keys
US20120121080A1 (en) * 2010-11-11 2012-05-17 Sap Ag Commutative order-preserving encryption
US9281941B2 (en) * 2012-02-17 2016-03-08 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
WO2014016795A2 (en) * 2012-07-26 2014-01-30 Nds Limited Method and system for homomorphicly randomizing an input
US9306738B2 (en) * 2012-12-21 2016-04-05 Microsoft Technology Licensing, Llc Managed secure computations on encrypted data
US9503432B2 (en) * 2014-04-04 2016-11-22 Privacy Analytics Inc. Secure linkage of databases
US20170308580A1 (en) * 2015-01-26 2017-10-26 Hitachi, Ltd. Data Aggregation/Analysis System and Method Therefor
CN106160995B (zh) * 2015-04-21 2019-04-16 郑珂威 基于系数映射变换的多项式完全同态加密方法及系统
KR102423885B1 (ko) * 2015-05-08 2022-07-21 한국전자통신연구원 연산 에러 검출이 가능한 준동형 암호 방법 및 그 시스템
US10116437B1 (en) * 2015-12-14 2018-10-30 Ingram Micro, Inc. Method for protecting data used in cloud computing with homomorphic encryption
US9900147B2 (en) * 2015-12-18 2018-02-20 Microsoft Technology Licensing, Llc Homomorphic encryption with optimized homomorphic operations
US20190362054A1 (en) * 2018-05-22 2019-11-28 Sony Corporation User-protected license
CN108933650B (zh) * 2018-06-28 2020-02-14 阿里巴巴集团控股有限公司 数据加解密的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190724A1 (en) * 2003-02-28 2006-08-24 Adams Neil P System and method of protecting data on a communication device
CN102016958A (zh) * 2008-06-04 2011-04-13 松下电器产业株式会社 加密装置及加密系统
US20110110525A1 (en) * 2009-11-10 2011-05-12 International Business Machines Corporation Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus
US20140233731A1 (en) * 2011-05-09 2014-08-21 Campagnie Industrielle Et Financiere D'Ingenierie "Ingenico" Device and Method for Generating Keys with Enhanced Security for Fully Homomorphic Encryption Algorithm
CN107852324A (zh) * 2015-06-02 2018-03-27 瑞典爱立信有限公司 用于加密消息的方法和加密节点
WO2017106258A1 (en) * 2015-12-14 2017-06-22 Afero, Inc. System and method for establishing a secondary communication channel to control an internet of things (iot) device
CN106100818A (zh) * 2016-06-02 2016-11-09 苏州健雄职业技术学院 一种基于整数多项的全同态加密的数据加密方法

Also Published As

Publication number Publication date
WO2020001113A1 (zh) 2020-01-02
CN108933650B (zh) 2020-02-14
US20210160049A1 (en) 2021-05-27
US20210376999A1 (en) 2021-12-02
TW202002564A (zh) 2020-01-01
US20200295917A1 (en) 2020-09-17
US11101977B2 (en) 2021-08-24
US11431471B2 (en) 2022-08-30
CN108933650A (zh) 2018-12-04
US10911216B2 (en) 2021-02-02

Similar Documents

Publication Publication Date Title
TWI688250B (zh) 資料加解密的方法及裝置
Toughi et al. An image encryption scheme based on elliptic curve pseudo random and advanced encryption system
WO2014007347A1 (ja) 共有秘密鍵生成装置、暗号化装置、復号化装置、共有秘密鍵生成方法、暗号化方法、復号化方法、及びプログラム
JP2014017556A5 (zh)
CN113711564A (zh) 用于加密数据的计算机实现的方法和系统
CA2639649A1 (en) Cryptography method and system
US10630476B1 (en) Obtaining keys from broadcasters in supersingular isogeny-based cryptosystems
JP2022533950A (ja) 準群演算を含む暗号化データに対して等価演算および未満演算を実行するシステムおよび方法
JP4869824B2 (ja) 受信者装置及び送信者装置及び暗号通信システム及びプログラム
EP2742644A1 (en) Encryption and decryption method
Hussam New lightweight hybrid encryption algorithm for cloud computing (LMGHA-128bit) by using new 5-D hyperchaos system
Puthuparambil et al. Freestyle, a randomized version of ChaCha for resisting offline brute-force and dictionary attacks
CN113098675B (zh) 基于多项式完全同态的二进制数据加密系统及方法
CN108599941A (zh) 随机非对称扩充字节通信数据加密方法
CN114221753B (zh) 密钥数据处理方法和电子设备
CN115865313A (zh) 一种轻量级隐私保护纵向联邦学习模型参数聚合方法
Kumar et al. Hybridization of Cryptography for Security of Cloud Data
WO2022172041A1 (en) Asymmetric cryptographic schemes
Hossen et al. Join Public Key and Private Key for Encrypting Data
Eshghi et al. Security Enhancement of Wireless Sensor Networks: A Hybrid Efficient Encryption Algorithm Approach
Yang et al. Mutual authenticated quantum no-key encryption scheme over private quantum channel
WO2018011825A1 (en) Encryption and decryption of messages
Alibrahemi Block RADG Cipher Automata in Cloud Computing Networks
Singh et al. Encryption algorithms with emphasis on probabilistic Encryption & time stamp in network security
Purohit et al. Implementation of Double Encrypted MAC based on Diffie-Hellman Key Exchange for Improved integrity and Authentication