TW202101936A - 容錯環學習(rlwe)密文之壓縮及遺忘擴展 - Google Patents

容錯環學習(rlwe)密文之壓縮及遺忘擴展 Download PDF

Info

Publication number
TW202101936A
TW202101936A TW108144865A TW108144865A TW202101936A TW 202101936 A TW202101936 A TW 202101936A TW 108144865 A TW108144865 A TW 108144865A TW 108144865 A TW108144865 A TW 108144865A TW 202101936 A TW202101936 A TW 202101936A
Authority
TW
Taiwan
Prior art keywords
encrypted
server
plaintext
integers
sequence
Prior art date
Application number
TW108144865A
Other languages
English (en)
Other versions
TWI730533B (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 TW202101936A publication Critical patent/TW202101936A/zh
Application granted granted Critical
Publication of TWI730533B publication Critical patent/TWI730533B/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/06Cryptographic 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
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • 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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3026Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一種方法(600)包含:獲得包含一序列明文整數(136)之一明文查詢(134);及產生具有包含該明文查詢之該序列明文整數之係數(173)之一多項式(172)。該方法亦包含:使用一私密加密金鑰(132)對該多項式進行加密;及將經加密多項式(182)傳輸至一伺服器(111)。該私密加密金鑰係自一密文空間隨機取樣,且該伺服器經組態以使用一公開加密金鑰(130)來擴展該經加密多項式,以獲得對應於該序列明文整數之一序列經加密整數(210)。該方法亦包含自該伺服器接收一經加密結果(192)。該經加密結果係基於該序列經加密整數。

Description

容錯環學習(RLWE)密文之壓縮及遺忘擴展
本發明係關於壓縮及遺忘擴展RLWE密文。
私有資訊檢索(PIR)方案容許一使用者自一或多個儲存裝置檢索資料,而不會向託管該一或多個儲存裝置之一伺服器透露關於使用者或經檢索資料之任何知識。對於PIR,伺服器儲存裝置一般不受保護,且私有資訊係由全部被允許自整個儲存裝置下載資料之一群組用戶自一公開儲存裝置或一伺服器儲存裝置檢索。雖然使用者可簡單自一伺服器儲存裝置下載所有內容使得未透露存取型樣,但在必須自跨越多個儲存裝置之一雲端儲存裝置下載所有內容時,此花費過長時間。此外,習知PIR方案消耗大量頻寬,特別是在使用者想要自伺服器檢索多個資料區塊或條目時。
本發明之一個態樣提供一種將一或多個整數壓縮成一經加密多項式之方法。該方法包含:藉由一使用者裝置之資料處理硬體獲得包含一序列明文整數之一明文查詢;及藉由該資料處理硬體產生具有包含該明文查詢之該序列明文整數之係數的一多項式。該方法亦包含:藉由該資料處理硬體使用一私密加密金鑰對該多項式進行加密;及將經加密多項式傳輸至與該資料處理硬體通信之一伺服器。該私密加密金鑰係藉由該資料處理硬體自一密文空間隨機取樣,且該伺服器經組態以使用一公開加密金鑰擴展該經加密多項式,以獲得對應於該明文查詢之該序列明文整數之一序列經加密整數。該方法亦包含:在該資料處理硬體處自該伺服器接收一經加密結果。該經加密結果係基於該序列經加密整數。
本發明之實施方案可包含以下選用特徵之一或多者。在一些實施方案中,該伺服器經組態以,在使用該公開加密金鑰擴展該經加密多項式之後:基於該伺服器處之一不受信賴資料儲存庫及該序列經加密整數計算該經加密結果;及將該經加密結果返回至該使用者裝置。在此等實施方案中,該伺服器可經組態以藉由判定該不受信賴資料儲存庫與該序列經加密整數之一內積來計算該經加密結果。額外地或替代地,在此等實施方案中,該方法亦可包含:在自該伺服器接收該經加密結果之後,藉由該資料處理硬體對該經加密結果進行解密以獲得一經解密結果。此處,該經解密結果對應於該不受信賴資料儲存庫之至少一個資料區塊。
在一些實例中,該伺服器經組態以藉由產生一樹資料結構而擴展該經加密多項式,藉此該經加密多項式包含該樹資料結構之一根。在此等實例中,該樹資料結構之一頂列包含該序列經加密整數。另外,對該多項式進行加密可包含用一完全同態加密方案對該多項式進行加密。該明文查詢之該序列明文整數中之各明文整數可對應於用於該伺服器處之一不受信賴資料儲存庫之一各自資料區塊的選擇準則。
在一些實施方案中,獲得該明文查詢包含產生包含該序列明文整數之一隨機化查詢。在此等實施方案中,方法亦可視情況包含:藉由該資料處理硬體將選自該隨機化查詢之該序列明文整數之一明文整數反相以形成一經修改查詢;及藉由該資料處理硬體將該經修改查詢傳輸至該伺服器。此處,該選定明文整數與該伺服器處之一不受信賴資料儲存庫之一各自資料區塊相關聯,且該伺服器經組態以:基於該伺服器處之該不受信賴資料儲存庫及該經修改查詢計算一未加密結果;及將該未加密結果返回至該使用者裝置。視情況,該方法可進一步包含:在自該伺服器接收該經加密結果及該未加密結果之後,藉由該資料處理硬體計算該經加密結果與該未加密結果之間之一差值,以獲得與選自該隨機化查詢之該序列明文整數之該明文整數相關聯之該不受信賴資料儲存庫之該各自資料區塊的一值。
本發明之另一態樣提供一種用於將一或多個整數壓縮成一經加密多項式之系統。該系統包含資料處理硬體及與一使用者裝置之該資料處理硬體通信之記憶體硬體。該記憶體硬體儲存指令,該等指令在於該資料處理硬體上執行時引起該資料處理硬體執行包含以下各項之操作:獲得包含一序列明文整數之一明文查詢;及產生具有包含該明文查詢之該序列明文整數之係數的一多項式。該等操作亦包含:使用一私密加密金鑰對該多項式進行加密;及將經加密多項式傳輸至與該資料處理硬體通信之一伺服器。該私密加密金鑰係藉由該資料處理硬體自一密文空間隨機取樣,且該伺服器經組態以使用一公開加密金鑰擴展該經加密多項式,以獲得對應於該明文查詢之該序列明文整數之一序列經加密整數。該等操作亦包含自該伺服器接收一經加密結果。該經加密結果係基於該序列經加密整數。
此態樣可包含以下選用特徵之一或多者。在一些實施方案中,該伺服器經組態以,在使用該公開加密金鑰擴展該經加密多項式之後:基於該伺服器處之一不受信賴資料儲存庫及該序列經加密整數計算該經加密結果;及將該經加密結果返回至該使用者裝置。在此等實施方案中,該伺服器可經組態以藉由判定該不受信賴資料儲存庫與該序列經加密整數之一內積而計算該經加密結果。額外地或替代地,在此等實施方案中,該等操作亦可包含:在自該伺服器接收該經加密結果之後,對該經加密結果進行解密以獲得一經解密結果。此處,該經解密結果對應於該不受信賴資料儲存庫之至少一資料區塊。
在一些實例中,該伺服器經組態以藉由產生一樹資料結構而擴展該經加密多項式,藉此該經加密多項式包含該樹資料結構之一根。在此等實例中,該樹資料結構之一頂列包含該序列經加密整數。另外,對該多項式進行加密可包含用一完全同態加密方案對該多項式進行加密。該明文查詢之該序列明文整數中之各明文整數可對應於用於該伺服器處之一不受信賴資料儲存庫之一各自資料區塊的選擇準則。
在一些實施方案中,獲得該明文查詢包含產生包含該序列明文整數之一隨機化查詢。在此等實施方案中,該等操作亦可視情況包含:將選自該隨機化查詢之該序列明文整數之一明文整數反相以形成一經修改查詢;及將該經修改查詢傳輸至該伺服器。此處,該選定明文整數與該伺服器處之一不受信賴資料儲存庫之一各自資料區塊相關聯,且該伺服器經組態以:基於該伺服器處之該不受信賴資料儲存庫及該經修改查詢計算一未加密結果;及將該未加密結果返回至該使用者裝置。視情況,該等操作可進一步包含:在自該伺服器接收該經加密結果及該未加密結果之後,計算該經加密結果與該未加密結果之間之一差值,以獲得與選自該隨機化查詢之該序列明文整數之該明文整數相關聯之該不受信賴資料儲存庫之該各自資料區塊的一值。
在下文隨附圖式及描述中闡述本發明之一或多項實施方案之細節。將自描述及圖式以及技術方案明白其他態樣、特徵及優點。
完全同態加密(FHE)係具有容許不受信賴方對經加密資料執行安全運算之重要同態性質的一密碼系統。即,具有一私密金鑰sK 、一公開金鑰pK 及一些資料x 之一使用者可想要應用一函數f 以檢索f (x )。然而,使用者不想運算及/或不具有應用f 之運算能力。FHE令使用者能夠在私密金鑰sK 下對資料進行加密以產生一加密E (sK ,x )。接著,使用者可藉由將加密E (sK, x )、函數f 及公開金鑰pK 發送至伺服器而將對xf 運算委外。接著,伺服器可使用公開金鑰pK 運算某一函數f ,使得解密f (E (sK, x ))將導致f (x )。接著,伺服器簡單將f 應用於可發送回至使用者加密E (sK ,x )以解密及檢索f (x )。
在許多情況中,資料x 並非一單一值而是一序列值x 1 、…、x l ,且使用者想要將運算f (x 1,..., x l )委外給伺服器。將運算委外之一初級方法係建構l 個加密E (sK, x 1 )、…、E (sK, xl )且將全部l 個加密連同公開金鑰pK 一起發送至伺服器。然而,因為加密通常相當大,所以此引起使用者及伺服器兩者之通信/網路成本之顯著額外耗用。因此,有利的是將x 1 、…、x l 之加密壓縮成少於l 個加密以改良通信成本。為支援此壓縮,伺服器必須能夠將經壓縮加密擴展回至原始之l 個加密E (sK, x 1 )、…、E (sK, xl )以能夠運算f 且返回f (x )之一加密。此外,為維持隱私,用於伺服器之擴展協定必須保持遺忘,因此伺服器不會得知值x 1 、…、x l 以及私密金鑰sK
本文中之實施方案係關於一私有資訊檢索(PIR)常式,其容許一使用者或用戶端將一或多個整數壓縮成一經加密多項式,且容許一伺服器在給定一公開金鑰及該經加密多項式之情況下擴展該經加密多項式以檢索經加密整數,而不會得知該等整數之明文值或私密金鑰。該常式可藉由最大化空間使用及將多個值封裝至同一密文中而提供超過1000倍之壓縮。伺服器可使用經擴展之經加密整數來遺忘地存取儲存於不受信賴資料儲存庫上之可公開已知且未加密之資料區塊(例如,明文)。在一項實例中,使用一用戶端裝置之一用戶端可想要在不向伺服器透露一特定位置之情況下存取該位置之地圖資料。例如,用戶端可能剛降落在機場且想要地檢索其周圍環境之地圖資料。PIR常式防止儲存地圖資料之伺服器得知用戶端裝置檢索哪一資料(即,透露用戶端之位置之資料)。在另一實例中,一用戶端可想要自一伺服器下載一視訊而不透露已下載哪一視訊。在一些實施方案中,PIR常式以一離線方式(即,在資源爭用較少時)執行計算及通信之一部分,藉此減少計算及通信之一線上部分(即,在資源爭用較高時)。
參考圖1,在一些實施方案中,一例示性系統100包含與一各自使用者或用戶端12相關聯且經由一網路112與一遠端系統111通信之一使用者裝置10 (亦被稱為一用戶端裝置10)。使用者裝置10可對應於任何運算裝置,諸如一桌上型工作站、一膝上型工作站或一行動裝置(即,一智慧型電話)。遠端系統111可為一單一電腦、多個電腦或具有可擴縮/彈性運算資源118 (例如,資料處理硬體)及/或儲存資源116 (例如,記憶體硬體)之一分佈式系統(例如,一雲端環境)。一不受信賴資料儲存庫150係上覆於儲存資源116以容許用戶端或運算資源118之一或多者可擴展地使用儲存資源116。不受信賴資料儲存庫150經組態以儲存複數個資料區塊152 (152a至152n)。
例如,不受信賴資料儲存庫150包含公開已知且未加密之n 個資料區塊(B) 152,且容許一或多個用戶端裝置10使用PIR來遺忘地檢索資料區塊(B) 152,以隱藏存取型樣同時保留用戶端裝置10對資料區塊(B) 152之搜尋功能性。因此,用戶端裝置10可能不擁有資料區塊152,且在一些組態中,資料區塊152之內容公開可用。替代地,資料區塊152可為一特定用戶端12私有的,但用戶端12仍希望隱藏自不受信賴資料儲存庫150之存取型樣。與用戶端12相關聯之用戶端裝置10 (例如,一電腦)可包含相關聯記憶體硬體122及相關聯資料處理硬體124。各用戶端裝置10可利用相關聯記憶體硬體122以保存或儲存一公開金鑰(pK ) 130及一私密金鑰(sK ) 132及可由資料處理硬體124執行用於產生一查詢134之指令。在一些實例中,資料處理硬體124執行一壓縮器160用於壓縮發出至遠端系統111 (其在本文中亦可被稱為在一不受信賴環境中執行之一伺服器)之查詢134。
在一些實例中,壓縮器160獲得或接收包含l 個整數136 (即,具有長度l 之一序列整數136)之一明文查詢134,其中l 係整數136之一數目,其等於或小於經儲存於不受信賴資料儲存庫150中之資料區塊之一數目n 。例如,若不受信賴資料儲存庫150包含一百萬個資料區塊152,則查詢134將包含一百萬個整數136或更少。在一些實例中且如下文更詳細論述,查詢134之整數136指示伺服器111將對資料區塊152進行之運算。即,查詢134之各整數136與經儲存於不受信賴資料儲存庫150上之一資料區塊152對應,且各整數136之值為伺服器111提供與對應資料區塊152一起運算之值。壓縮器160亦接收私密加密金鑰(sK ) 132。sK 132可藉由使用者裝置10自一密文空間隨機取樣。
在一些實施方案中,壓縮器160實施一多項式產生器170,多項式產生器170接收查詢134且產生具有係數173及次數d 之一相關聯多項式172。多項式172之係數173包含查詢134之整數136。當整數136之數目l 小於次數d 時,可將缺失係數173設定為零。相比之下,當整數136之數目l 大於次數d 時,多項式產生器170可產生多個單獨多項式172,直至所有整數136已被包含為係數173。在此情況中,多個單獨多項式172可被組合為且被處理為一單一組合多項式172。在一些實例中,多項式產生器170使用容錯環學習(RLWE)方法來產生多項式172。RLWE係專用於有限域內之多項式環的容錯學習(LWE)。LWE係一抗量子攻擊(quantum-resistant)密碼學方法,其係基於找到求解B =A ×s +e 之值的難度,其中AB 係已知的。即,LWE方法(及因此,擴展為RLWE方法)依賴於已受少量雜訊e 擾亂的隨機線性方程式。
在所展示之實例中,壓縮器160亦包含接收多項式172及私密加密金鑰(sK ) 132之一加密器180。加密器180使用sK 132以使用(例如)一完全同態加密(FHE)方案對多項式172進行加密,以產生一經加密多項式182。例如,加密器180可使用一Brakerski-Gentry-Vaikuntanathan (BGV)方法或一Fan-Vercauteren (FV)方法。FHE係容許對密文進行運算以產生經加密結果之一加密形式,該等經加密結果在經解密時與操作之結果匹配,就如同已對明文執行操作一樣。因為使用FHE之加密操作在其輸入中被仿射為明文,所以可將密文表示為經加密單項式之一總和乘以(例如)零或一(即,具有係數173之多項式172)。
此後,用戶端裝置10 (即,經由資料處理硬體124)將經加密多項式182發送至伺服器111。以此方式,壓縮器160提供將d 個加密壓縮成一單個加密。典型PIR方案需要用於各加密之一各別選擇向量。因此,例如,若d 等於1024或2048,則系統100改良通信及/或網路成本,分別優於此一傳統方案1024倍或2048倍。
繼續參考圖1,在一些實施方案中,伺服器111 (即,遠端系統111)執行一擴展器200,擴展器200接收經加密多項式182及公開加密金鑰(pK ) 130。用戶端裝置10可在提供經加密多項式182時提供pK 130。如下文更詳細說明,擴展器200擴展經加密多項式182以遺忘地檢索一序列經加密整數210E (sK ,x 1 )、…、E (sK ,xl )。即,擴展器200自經加密多項式182檢索明文查詢134之各整數136之一加密,藉此各整數136已由用戶端裝置10使用sK 132加密以形成該序列經加密整數210。因為sK 132之內容從未向伺服器111透露,所以伺服器111不會確定或得知與經加密整數210序列相關聯之明文值(即,整數136)。
現參考圖2A,視情況,擴展器200在擴展經加密多項式182時產生具有節點230 (230a至230n)之一樹資料結構220。可將經加密多項式182設定為樹資料結構220之一根230R。即,擴展器200可以起始於根230R之一樹狀方式操作。在一些實例中,樹之高度(即,層級或列之數目)係log2 (d ) + 1。例如,一次數d 1024將導致一高度10。樹220之一「頂部」(即,最後層級)可包含經加密整數210序列。圖2B提供用於將經加密多項式182擴展成經加密整數210序列之一例示性演算法240。在一些實施方案中,樹資料結構220採用二維陣列res 之形式。
陣列res 可由具有索引i (其指代樹資料結構200之層級(即,高度))之一第一for迴圈及具有索引j (其迭代通過樹220之層級i 之所有節點230 (其有2 i 個))之一第二for迴圈填入。層級係以零開始編索引,且因此,第一層級具有20 = 1個節點230 (其係根230R)。樹220之各節點230與一對應值231 (231a至231n)相關聯。對於非葉節點230 (即,具有至少一個子節點230之節點),此等值231係用於運算最終經擴展密文(即,經加密整數210序列)之中間值231。與各節點230相關聯之值231將儲存於二維陣列res 中。特定言之,res [i ][j ]指代與第i 層級處之最左第j 節點相關聯之值。最內迴圈運算第i 層級之第j 最左節點230之兩個子節點230的值231。父代指代第i 層級之此第j 最左節點之值。在一些實例中,左及右分別指代用於運算左及右子節點值231之最終值231的額外中間值231 (其等將分別儲存於res [i ][j ]及res [i ][j + 2 i ]中)。在一些實施方案中(例如,在伺服器111記憶體受限時),中間值231在於一迴圈中使用之後被刪除以保留記憶體。例如,在運算層級i 之值之後,圖2B之演算法240不再需要層級0、1、…、i -1之值231,且此等值231可被刪除。
在一典型二元樹中,節點230通常按連續索引放置。然而,在一些實例中,擴展器200未按連續索引放置節點230。演算法240之求和函數使用pK 來將已用不同冪次替換之兩個密文正確地相加。在兩個迴圈完成之後,葉節點230 (即,樹220之頂部層級)包含經加密整數210序列。在所展示之實例中,在返回經加密整數210序列之前,將葉節點230除以次數d 。替代地,在加密之前,可將多項式172除以次數d 。在此例項中,可選擇較小參數(例如,雜訊)以減小使用者裝置10與伺服器之間之通信上所消耗之頻寬,此以使用者裝置10進行額外運算為代價。
再參考圖1,伺服器111基於經加密整數210序列將一經加密結果192返回至使用者裝置10。例如,伺服器111可執行一計算器190,計算器190接收經加密整數210且使用經加密整數自不受信賴資料儲存庫150檢索資料區塊。例如,計算器190基於自不受信賴資料儲存庫150檢索之資料區塊152及經加密整數210序列來計算經加密結果192。
現參考圖3,在一些實例中,計算器190藉由判定經加密整數210序列與自不受信賴資料儲存庫150檢索之資料區塊152之一內積310 (亦被稱為點積或純量積)而計算經加密結果192。經加密結果192可包含內積310。在一些實施方案中,使用者裝置10自伺服器111接收經加密結果192,且執行(即,經由資料處理硬體124)一解密器300以使用sK 132對經加密結果192進行解密。sK 132可儲存於本端記憶體硬體122上,且解密器300可獲得sK 132用於對經加密結果192進行解密。因此,解密器300輸出表示將藉由計算明文查詢134與資料區塊152之內積310而獲得之一結果的一經解密結果302,然而,檢索係遺忘的。取決於發送至伺服器111之查詢134 (或若干查詢),經解密結果302可對應於任何數目個資料區塊152。
現參考圖4之示意圖400,在一些實例中,明文查詢134中之各明文整數136對應於用於不受信賴資料儲存庫150之一各自資料區塊152之選擇準則。明文查詢134可包含用於自不受信賴資料儲存庫150選擇一單一資料區塊152之一選擇向量。例如,輸入至壓縮器160之一第一明文查詢134a可包含惟第二位置處之單個一(1)除外為全零之一向量。此處,解密器300將把自第一查詢134a返回之一經加密結果192解密成包含對應於不受信賴資料儲存庫150之第二位置之資料區塊152的一經解密結果302,因為惟第二資料區塊除外內積310將把所有資料區塊152乘以零。由於與零相乘之資料區塊152將丟失,故求和將導致僅剩餘第二資料區塊152。顯然,此一查詢134a可用於自資料儲存庫150之任何位置(position/location)遺忘地選擇任何資料區塊152。然而,亦可藉由查詢134執行多種其他功能。
藉由壓縮器160執行之壓縮演算法延伸超出僅接收選擇向量,而是包含接收廣義向量(即,其中各整數136可包含明文空間中之任何整數之向量)。即,雖然典型PIR方案要求將一各別選擇向量發送至伺服器111用於待檢索之各資料區塊152 (各選擇向量具有等於資料區塊之數目n 之一長度),但壓縮器160可將d 個加密壓縮成一單一廣義向量。例如,輸入至壓縮器160之一第二查詢134b將三個整數136設定為等於一(1) (即,第二、第三及第l 整數136),而其餘整數136被設定為等於零。此處,第二查詢134b將返回對應於不受信賴資料儲存庫150之第二、第三及第l 資料區塊152之值之一總和的一對應經加密結果192。查詢134亦可檢索一加權總和。例如,輸入至壓縮器160之一第三查詢134c將所有整數136設定為等於一(1),惟設定為一加權因子α之第三整數136除外。因此,第三查詢134c將返回對應於加權總和之一對應經加密結果192 (即,第三資料區塊將藉由α加權,而其餘資料區塊152將藉由1加權)。在又一實例中,伺服器111可回應於輸入至壓縮器160之一第四查詢134d (其將所有整數136設定為等於一(1))而返回多個資料區塊152之一平均值。因此,應瞭解,壓縮器160提供對一廣義向量之壓縮(與僅一選擇向量相反),其中整數136可跨越一整個明文空間。
在一些實施方案中,系統100在離線時期與線上時期之間分配運算及/或通信。一離線時期被定義為其中資源(例如,頻寬、運算、功率等)比在一線上時期期間相對便宜之一時段。即,在離線時期期間,與線上時期期間相比資源爭用較少。例如,使用者裝置10 (圖1)可在夜間(離線時期)期間連接至WiFi,從而使頻寬與在白天(線上時期)期間使用行動資料相比相對便宜。由於因擴展額外耗用引起之倍增因數(在一些應用中,其可增加高達四倍至五倍),與普通明文檢索相比,遺忘檢索具有相當大的成本(即,資源使用)增加。因此,有利的是利用線上時期與離線時期之間之成本差。因此,當期望對不受信賴資料儲存庫150進行一遺忘查詢134時,系統100可藉由將擴展額外耗用轉移至離線時期而進行離線計算以降低一線上時期期間之成本(即,減少所消耗資源)。
現參考圖5A,在離線時期期間,示意圖500a展示壓縮器160接收一隨機化明文查詢134R。隨機化明文查詢134R (例如,藉由資料處理硬體124)隨機化將各整數136設定為等於零或一(1)。在所展示之實例中,第二、第四及第五整數136被設定為等於一(1),而其餘整數136被設定為等於零。如先前描述,查詢134R將引起伺服器111返回一經加密結果192R,經加密結果192R將為與隨機化明文查詢134R中之被設定為等於一(1)之整數136 (即,第二、第四及第五整數136)相關聯之資料區塊152的總和。因為查詢134R係在一離線時期期間進行,所以檢索對應經加密結果192R之成本相當低。使用者裝置10可儲存(即,在本端記憶體硬體122中)經加密結果192R及隨機化明文查詢134R,直至使用者12在一線上時期期間進行一查詢134。
在一些實例中,當使用者12在線上時期期間進行一查詢134時,在資料處理硬體124上執行之一反相器530將隨機化明文查詢134R之一單一明文整數(即,一選擇整數136M)反相以形成一經修改查詢134M。即,當隨機化明文查詢134R之選定整數136M被設定為等於零時,反相器530將選定整數136M從零改變為一(1)。另一方面,當隨機化明文查詢134R之選定整數136M被設定為等於一(1)時,反相器530將選定整數136M從一(1)改變為零。經修改查詢134M之經反相整數136M (即,圖5A中之第三整數136)對應於使用者12在線上時期期間想要自不受信賴資料儲存庫150檢索之資料區塊152。此處,反相器530用普通文字(即,用明文)將經修改查詢134M發送至伺服器111之擴展器200。即,加密器180未對經修改查詢134M進行加密。因為經修改查詢134M未被加密,所以其係大小為資料儲存庫150中之資料區塊152之數目n 的二元向量且不具有歸因於加密之擴展額外耗用。因此,藉由經修改查詢134M消耗之頻寬遠小於藉由例如經加密多項式182消耗之頻寬。因為經修改查詢134M未被壓縮且因此不需要擴展(因此大大減少伺服器111所需之運算),所以伺服器111之計算器190直接接收經修改查詢134M且計算一明文結果520。即,經修改查詢134M與資料區塊152之間之計算結果(例如,點積)包含等於藉由經修改查詢134M選擇之資料區塊152之總和的明文結果520。伺服器111可將明文結果520提供至使用者裝置10。
現參考圖5B之示意圖500b,在一些實例中,使用者裝置10 (即,經由資料處理硬體124)執行解密器300以將先前儲存之經加密結果192R解密成一對應經解密結果302R。此處,先前儲存之經加密結果192R對應於在離線時期期間進行之隨機化明文查詢134R,如上文關於圖5A論述。在此等實例中,資料處理硬體124進一步執行一結果計算器540,結果計算器540經組態以計算自伺服器111接收之明文結果520與自解密器300輸出之經解密結果302R之間的一結果差542。
因為回應於查詢134R、134M檢索之資料區塊152僅相差單個經反相整數136M,所以結果差542對應於與經反相整數136M相關聯之值。因此,使用者裝置10已在一線上時期期間使用最小資源檢索資料區塊152,而無需伺服器111判定自不受信賴資料儲存庫150檢索了哪一資料區塊152。隨機化查詢134R之加密確保伺服器111無法判定已在隨機化查詢134R與經修改查詢134M之間將哪一整數136反相。因為經修改查詢134M係自隨機化查詢134R修改,所以儘管查詢134M用普通文字(即,作為明文)發送至伺服器111,伺服器仍僅僅判定沒有來自經修改查詢134M之資訊。然而,應注意,不應重用隨機化查詢134R及經加密結果192R以維持隱私,因為重用容許伺服器111判定經修改查詢134M之間之差異。在一些實例中,使用者裝置10自獨立隨機化查詢134R檢索多個經加密結果192R,以建置經加密結果192R及隨機化查詢134R之一「集區」以在一線上時期時使用。在一些實施方案中,隨機化查詢134R包含自明文空間取樣之隨機化整數而非一隨機化位元向量。雖然此增加運算,但此確保除經檢索資料區塊152以外之資料區塊152對用戶端12保持隱藏(即,內積310不會向用戶端12透露關於資料區塊152之額外資訊)。當不受信賴資料儲存庫150係私有時,此可為有利的。
圖6係用於壓縮一查詢以自一伺服器遺忘地檢索經加密結果之一例示性方法600之一流程圖。方法600以操作602開始,其中在一使用者裝置10之資料處理硬體124處獲得一明文查詢134。查詢134包含一序列明文整數136。在操作604,方法600包含藉由資料處理硬體124產生具有係數173之一多項式172。係數173包含該序列明文整數136。在操作606,方法600包含藉由資料處理硬體124使用一私密加密金鑰132對多項式172進行加密。私密加密金鑰132係藉由資料處理硬體124自一密文空間隨機取樣。
在操作608,方法600包含藉由資料處理硬體124將經加密多項式182傳輸至與資料處理硬體124通信之一伺服器111。伺服器111經組態以使用一公開加密金鑰130擴展經加密多項式182以獲得一序列經加密整數210。該序列經加密整數210對應於明文查詢134之該序列明文整數136。方法600在步驟610包含在資料處理硬體124處自伺服器111接收一經加密結果192。經加密結果192係基於該序列經加密整數210。在一些實施方案中,方法600包含:基於儲存於伺服器111上之一不受信賴資料儲存庫150 (例如,一資料庫)及該序列經加密整數210來計算經加密結果192;及將經加密結果192返回至使用者裝置10。例如,伺服器111可藉由判定儲存於伺服器111上之資料庫150與該序列經加密整數210之一內積310而計算經加密結果192。
圖7係可用於實施本文件中所描述之系統及方法之一例示性運算裝置700的示意圖。運算裝置700意欲表示各種形式之數位電腦,諸如膝上型電腦、桌上型電腦、工作站、個人數位助理、伺服器、刀鋒型伺服器、大型電腦,及其他適當電腦。此處所展示之組件、其等之連接及關係,以及其等之功能意欲僅為例示性的,且並不意謂限制本文件中所描述及/或主張之本發明的實施方案。
運算裝置700包含一處理器710、記憶體720、一儲存裝置730、經連接至記憶體720及高速擴展埠750之一高速介面/控制器740,及經連接至一低速匯流排770及一儲存裝置730之一低速介面/控制器760。組件710、720、730、740、750及760之各者使用各種匯流排互連,且可被安裝於一共同主機板上,或被適當地以其他方式安裝。處理器710可處理在運算裝置700內執行的指令,包含經儲存於記憶體720中或儲存裝置730上之用於顯示一外部輸入/輸出裝置(諸如經耦合至高速介面740之顯示器780)上之一圖形使用者介面(GUI)之圖形資訊的指令。在其他實施方案中,可適當使用多個處理器及/或多個匯流排以及多個記憶體及記憶體類型。再者,多個運算裝置700可係與提供必要操作之部分的各裝置(例如,如一伺服器組(server bank)、一刀鋒型伺服器群組或一多處理器系統)連接。
記憶體720將資訊非暫時性地儲存於運算裝置700內。記憶體720可為一電腦可讀媒體、一(若干)揮發性記憶體單元,或(若干)非揮發性記憶體單元。非暫時性記憶體720可為用於在暫時性或永久基礎上儲存程式(例如,指令序列)或資料(例如,程式狀態資訊)以供運算裝置700使用之實體裝置。非揮發性記憶體之實例包含但不限於:快閃記憶體及唯讀記憶體(ROM)/可程式化唯讀記憶體(PROM)/可擦除可程式化唯讀記憶體(EPROM)/電子可擦除可程式化唯讀記憶體(EEPROM) (例如,通常用於韌體,諸如啟動程式)。揮發性記憶體之實例包含但不限於:隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、相變記憶體(PCM),以及磁碟或磁帶。
儲存裝置730能夠為運算裝置700提供大容量儲存。在一些實施方案中,儲存裝置730係一電腦可讀媒體。在各種不同實施方案中,儲存裝置730可為一軟碟裝置、一硬碟裝置、一光碟裝置或一磁帶裝置、一快閃記憶體或其他類似固態記憶體裝置,或包含在一儲存區域網路或其他組態中之裝置之一裝置陣列。在額外實施方案中,一電腦程式產品有形地體現於一資訊載體中。電腦程式產品含有在被執行時執行一或多個方法(諸如上文描述之方法)之指令。資訊載體係一電腦可讀或機器可讀媒體,諸如記憶體720、儲存裝置730或處理器710上之記憶體。
高速控制器740管理運算裝置700之頻寬密集型操作,而低速控制器760管理較低頻寬密集型操作。此等職責分配僅為例示性的。在一些實施方案中,高速控制器740耦合至記憶體720、顯示器780 (例如,透過一圖形處理器或加速器),且耦合至可接受各種擴展卡(未展示)之高速擴展埠750。在一些實施方案中,低速控制器760耦合至儲存裝置730及一低速擴展埠790。可包含各種通信埠(例如,USB、藍芽、乙太網路、無線乙太網路)之低速擴展埠790可耦合至一或多個輸入/輸出裝置(諸如一鍵盤、一指標裝置、一掃描器),或(例如,透過一網路配接器)耦合至一網路連結裝置(諸如一交換機或路由器)。
運算裝置700可以若干不同形式實施,如圖中所展示。例如,其可實施為一標準伺服器700a或在此等伺服器700a之一群組中多次實施、實施為一膝上型電腦700b,或實施為一機架式伺服器系統700c之部分。
本文中所描述之系統及技術之各項實施方案可實現於數位電子及/或光學電路、積體電路、專門設計之ASIC (特定應用積體電路)、電腦硬體、韌體、軟體及/或其等之組合中。此各種實施方案可包含一或多個電腦程式中之實施方案,該一或多個電腦程式可在包含至少一個可程式化處理器(其可為專用或通用的,經耦合以自一儲存系統接收資料及指令及將資料及指令傳輸至該儲存系統)、至少一個輸入裝置及至少一個輸出裝置之一可程式化系統上執行及/或解譯。
一軟體應用程式(即,一軟體資源)可指代引起一運算裝置執行一任務之電腦軟體。在一些實例中,一軟體應用程式可被稱為一「應用程式」、一「app」或一「程式」。例示性應用程式包含但不限於:系統診斷應用程式、系統管理應用程式、系統維護應用程式、字詞處理應用程式、試算表應用程式、訊息傳遞應用程式、媒體串流化應用程式、社群網站應用程式及遊戲應用程式。
此等電腦程式(亦被稱為程式、軟體、軟體應用程式或程式碼)包含用於一可程式化處理器之機器指令,且可以一高階程序及/或物件導向程式設計語言,及/或以組合語言/機器語言實施。如本文中所使用,術語「機器可讀媒體」及「電腦可讀媒體」指代用於提供機器指令及/或資料至一可程式化處理器(其包含接收機器指令作為一機器可讀信號之一機器可讀媒體)之任何電腦程式產品、非暫時性電腦可讀媒體、設備及/或裝置(例如,磁碟、光碟、記憶體、可程式化邏輯裝置(PLD))。術語「機器可讀信號」指代用於提供機器指令及/或資料至一可程式化處理器之任何信號。
可藉由一或多個可程式化處理器(亦被稱為資料處理硬體)執行本說明書中所描述之程序及邏輯流程,該一或多個可程式化處理器執行一或多個電腦程式以藉由對輸入資料操作及產生輸出而執行功能。亦可藉由專用邏輯電路(例如,一FPGA (場可程式化閘陣列)或一ASIC (特定應用積體電路))來執行程序及邏輯流程。適於執行一電腦程式之處理器包含例如通用微處理器及專用微處理器兩者及任何種類之數位電腦之任一或多個處理器。一般而言,一處理器將自一唯讀記憶體或一隨機存取記憶體或兩者接收指令及資料。一電腦之基本元件係用於執行指令之一處理器及用於儲存指令及資料之一或多個記憶體裝置。一般而言,一電腦亦將包含用於儲存資料之一或多個大容量儲存裝置(例如,磁碟、磁光碟或光碟),或其可操作地耦合以自該一或多個大容量儲存裝置接收資料或將資料傳送至該一或多個大容量儲存裝置,或該兩種情況。然而,一電腦不需要具有此等裝置。適於儲存電腦程式指令及資料之電腦可讀媒體包含所有形式之非揮發性記憶體、媒體及記憶體裝置,包含例如:半導體記憶體裝置,例如,EPROM、EEPROM及快閃記憶體裝置;磁碟,例如,內部硬碟或可移式磁碟(removable disk);磁光碟;及CD ROM及DVD-ROM光碟。處理器及記憶體可藉由專用邏輯電路增補或併入於專用邏輯電路中。
為提供與一使用者之互動,可在一電腦上實施本發明之一或多項態樣,該電腦具有用於顯示資訊給使用者之一顯示裝置(例如,一CRT (陰極射線管)、LCD (液晶顯示器)監視器或觸控螢幕),及視情況,使用者可藉由其提供輸入至電腦之一鍵盤及一指標裝置(例如,一滑鼠或一軌跡球)。其他種類之裝置亦可用於提供與一使用者之互動;例如,提供給使用者之回饋可為任何形式之感官回饋(例如,視覺回饋、聽覺回饋或觸覺回饋);且來自該使用者之輸入可以任何形式被接收,包含聲音、話音或觸覺輸入。另外,一電腦可藉由發送文件至一使用者所使用之一裝置及自該裝置接收文件而與該使用者互動;例如,藉由回應於自一使用者之用戶端裝置上之一網頁瀏覽器接收之請求而將網頁發送至該網頁瀏覽器。
已描述若干實施方案。然而,將瞭解,可在不脫離本發明之精神及範疇的情況下作出各種修改。因此,其他實施方案在以下發明申請專利範圍之範疇內。
10:使用者裝置/用戶端裝置 12:使用者/用戶端 100:系統 111:伺服器/遠端系統 112:網路 116:儲存資源 118:運算資源 122:記憶體硬體 124:資料處理硬體 130:公開加密金鑰(pK)/公開金鑰(pK) 132:私密加密金鑰(sK)/私密金鑰(sK) 134:明文查詢/查詢 134a:第一明文查詢/第一查詢 134b:第二查詢 134c:第三查詢 134d:第四查詢 134M:經修改查詢 134R:隨機化明文查詢/隨機化查詢 136:明文整數/整數 136M:選擇整數/選定整數/經反相整數 150:不受信賴資料儲存庫/資料庫 152 (152a至152n):資料區塊 160:壓縮器 170:多項式產生器 172:多項式 173:係數 180:加密器 182:經加密多項式 190:計算器 192:經加密結果/未加密結果 192R:經加密結果 200:擴展器 210:經加密整數 220:樹資料結構/樹 230 (230a至230n):節點 230R:根 231 (231a至231n):值 240:演算法 300:解密器 302:經解密結果 302R:經解密結果 310:內積 400:示意圖 500a:示意圖 500b:示意圖 520:明文結果 530:反相器 540:結果計算器 542:結果差 600:方法 602:操作 604:操作 606:操作 608:操作 610:步驟 700:運算裝置 700a:伺服器 700b:膝上型電腦 700c:機架式伺服器系統 710:處理器/組件 720:記憶體/組件 730:儲存裝置/組件 740:高速介面/高速控制器/組件 750:高速擴展埠/組件 760:低速介面/低速控制器/組件 770:低速匯流排 780:顯示器 790:低速擴展埠
圖1係在遺忘地存取儲存於一分佈式系統之非暫時性資料儲存器上之資料區塊時壓縮及擴展查詢之一例示性私有資訊檢索系統之一示意圖。
圖2A係藉由圖1之系統之一擴展器產生之一樹資料結構之一示意圖。
圖2B提供用於擴展一經加密多項式之一例示性演算法。
圖3係圖1之系統之一解密器之一示意圖。
圖4係選擇自分佈式系統下載哪些資料區塊之樣本選擇查詢之一示意圖。
圖5A及圖5B係執行線上及離線計算之圖1之系統之示意圖。
圖6係在使用私有資訊檢索自一不受信賴儲存裝置遺忘地檢索一資料區塊時壓縮及擴展查詢之一方法之操作的一例示性配置之一流程圖。
圖7係可用於實施本文中描述之系統及方法之一例示性運算裝置之一示意圖。
各個圖式中之相同元件符號指示相同元件。
10:使用者裝置/用戶端裝置
12:使用者/用戶端
100:系統
111:伺服器/遠端系統
112:網路
116:儲存資源
118:運算資源
122:記憶體硬體
124:資料處理硬體
130:公開加密金鑰(pK)/公開金鑰(pK)
132:私密加密金鑰(sK)/私密金鑰(sK)
134:明文查詢/查詢
136:明文整數/整數
150:不受信賴資料儲存庫/資料庫
152(152a至152n):資料區塊
160:壓縮器
170:多項式產生器
172:多項式
173:係數
180:加密器
182:經加密多項式
190:計算器
192:經加密結果/未加密結果
200:擴展器
210:經加密整數

Claims (22)

  1. 一種方法(600),其包括: 在一使用者裝置(10)之資料處理硬體(124)處,獲得包括一序列明文整數(136)之一明文查詢(134); 藉由該資料處理硬體(124)產生具有係數(173)之一多項式(172),該等係數(173)包括該明文查詢(134)之該序列明文整數(136); 藉由該資料處理硬體(124),使用一私密加密金鑰(132)對該多項式(182)進行加密,該私密加密金鑰(132)係藉由該資料處理硬體(124)自一密文空間隨機取樣; 藉由該資料處理硬體(124),將經加密多項式(182)傳輸至與該資料處理硬體(124)通信之一伺服器(111),該伺服器(111)經組態以使用一公開加密金鑰(130)來擴展該經加密多項式(182),以獲得一序列經加密整數(210),該序列經加密整數(210)對應於該明文查詢(134)之該序列明文整數(136);及 在該資料處理硬體(124)處,自該伺服器(111)接收一經加密結果(192),該經加密結果(192)係基於該序列經加密整數(210)。
  2. 如請求項1之方法(600),其中該伺服器(111)經組態以藉由產生一樹資料結構(220)來擴展該經加密多項式(182),該經加密多項式(182)包括該樹資料結構(220)之一根(230R)。
  3. 如請求項2之方法(600),其中該樹資料結構(220)之一頂列包括該序列經加密整數(210)。
  4. 如請求項1之方法(600),其中對該多項式(182)加密包括用一完全同態加密方案對該多項式(182)進行加密。
  5. 如請求項1之方法(600),其中該伺服器(111)經組態以,在使用該公開加密金鑰(130)擴展該經加密多項式(182)之後: 基於該伺服器(111)處之一不受信賴資料儲存庫(150)及該序列經加密整數(210)來計算該經加密結果(192);及 將該經加密結果(192)返回至該使用者裝置(10)。
  6. 如請求項5之方法(600),其中該伺服器(111)經組態以藉由判定該不受信賴資料儲存庫(150)與該序列經加密整數(210)之一內積(310)來計算該經加密結果(192)。
  7. 如請求項5之方法(600),進一步包括,在自該伺服器(111)接收該經加密結果(192)之後,藉由該資料處理硬體(124)對該經加密結果(192)進行解密以獲得一經解密結果(302),該經解密結果(302)對應於該不受信賴資料儲存庫(150)之至少一個資料區塊(152)。
  8. 如請求項1之方法(600),其中該明文查詢(134)之該序列明文整數(136)中之各明文整數(136)對應於用於該伺服器(111)處之一不受信賴資料儲存庫(150)之一各自資料區塊(152)的選擇準則。
  9. 如請求項1之方法(600),其中獲得該明文查詢(134)包括產生包括該序列明文整數(136)之一隨機化查詢(134)。
  10. 如請求項9之方法(600),進一步包括: 藉由該資料處理硬體(124),將選自該隨機化查詢(134)之該序列明文整數(136)之一明文整數(136)反相以形成一經修改查詢(134),該選定明文整數(136)係與該伺服器(111)處之一不受信賴資料儲存庫(150)之一各自資料區塊(152)相關聯;及 藉由該資料處理硬體(124),將該經修改查詢(134)傳輸至該伺服器(111),該伺服器(111)經組態以: 基於該伺服器(111)處之該不受信賴資料儲存庫(150)及該經修改查詢(134)來計算一未加密結果(192);及 將該未加密結果(192)返回至該使用者裝置(10)。
  11. 如請求項10之方法(600),進一步包括,在自該伺服器(111)接收該經加密結果(192)及該未加密結果(192)之後,藉由該資料處理硬體(124)來計算該經加密結果(192)與該未加密結果(192)之間之一差值,以獲得與選自該隨機化查詢(134)之該序列明文整數(136)之該明文整數(136)相關聯之該不受信賴資料儲存庫(150)之該各自資料區塊(152)之一值。
  12. 一種系統(100),其包括: 資料處理硬體(124);及 記憶體硬體(122),其與一使用者裝置(10)之該資料處理硬體(124)通信,該記憶體硬體(122)儲存指令,該等指令在該資料處理硬體(124)上被執行時,引起該資料處理硬體(124)執行包括以下各項之操作: 獲得包含一序列明文整數(136)之一明文查詢(134); 產生具有係數(173)之一多項式(172),該等係數(173)包括該明文查詢(134)之該序列明文整數(136); 使用一私密加密金鑰(132)對該多項式(182)進行加密,該私密加密金鑰(132)係藉由該資料處理硬體(124)自一密文空間隨機取樣; 將經加密多項式(182)傳輸至與該資料處理硬體(124)通信之一伺服器(111),該伺服器(111)經組態以使用一公開加密金鑰(130)來擴展該經加密多項式(182)以獲得一序列經加密整數(210),該序列經加密整數(210)對應於該明文查詢(134)之該序列明文整數(136);及 自該伺服器(111)接收一經加密結果(192),該經加密結果(192)係基於該序列經加密整數(210)。
  13. 如請求項12之系統(100),其中該伺服器(111)經組態以藉由產生一樹資料結構(220)來擴展該經加密多項式(182),該經加密多項式(182)包括該樹資料結構(220)之一根(230R)。
  14. 如請求項13之系統(100),其中該樹資料結構(220)之一頂列包括該序列經加密整數(210)。
  15. 如請求項12之系統(100),其中對該多項式(182)加密包括用一完全同態加密方案對該多項式(182)進行加密。
  16. 如請求項12之系統(100),其中該伺服器(111)經組態以,在使用該公開加密金鑰(130)擴展該經加密多項式(182)之後: 基於該伺服器(111)處之一不受信賴資料儲存庫(150)及該序列經加密整數(210)來計算該經加密結果(192);及 將該經加密結果(192)返回至該使用者裝置(10)。
  17. 如請求項16之系統(100),其中該伺服器(111)經組態以藉由判定該伺服器(111)處之該不受信賴資料儲存庫(150)與該序列經加密整數(210)之一內積(310)來計算該經加密結果(192)。
  18. 如請求項16之系統(100),其中該等操作進一步包括,在自該伺服器(111)接收該經加密結果(192)之後,對該經加密結果(192)進行解密以獲得一經解密結果(302),該經解密結果(302)對應於該伺服器(111)處之該不受信賴資料儲存庫(150)之至少一個資料區塊(152)。
  19. 如請求項12之系統(100),其中該明文查詢(134)之該序列明文整數(136)中之各明文整數(136)對應於用於該伺服器(111)處之一不受信賴資料儲存庫(150)之一各自資料區塊(152)的選擇準則。
  20. 如請求項12之系統(100),其中獲得該明文查詢(134)包括產生包括該序列明文整數(136)之一隨機化查詢(134)。
  21. 如請求項20之系統(100),其中該等操作進一步包括: 將選自該隨機化查詢(134)之該序列明文整數(136)之一明文整數(136)反相以形成一經修改查詢(134),該選定明文整數(136)係與該伺服器(111)處之一不受信賴資料儲存庫(150)之一各自資料區塊(152)相關聯;及 將該經修改查詢(134)傳輸至該伺服器(111),該伺服器(111)經組態以: 基於該伺服器(111)處之該不受信賴資料儲存庫(150)及該經修改查詢(134)來計算一未加密結果(192);及 將該未加密結果(192)返回至該使用者裝置(10)。
  22. 如請求項21之系統(100),其中該等操作進一步包括,在自該伺服器(111)接收該經加密結果(192)及該未加密結果(192)之後,計算該經加密結果(192)與該未加密結果(192)之間之一差值,以獲得與選自該隨機化查詢(134)之該序列明文整數(136)之該明文整數(136)相關聯之該不受信賴資料儲存庫(150)之該各自資料區塊(152)之一值。
TW108144865A 2019-05-09 2019-12-09 容錯環學習(rlwe)密文之壓縮及遺忘擴展 TWI730533B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962845793P 2019-05-09 2019-05-09
US62/845,793 2019-05-09

Publications (2)

Publication Number Publication Date
TW202101936A true TW202101936A (zh) 2021-01-01
TWI730533B TWI730533B (zh) 2021-06-11

Family

ID=69005988

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108144865A TWI730533B (zh) 2019-05-09 2019-12-09 容錯環學習(rlwe)密文之壓縮及遺忘擴展

Country Status (7)

Country Link
US (1) US11310045B2 (zh)
EP (1) EP3959841B1 (zh)
JP (1) JP7212179B2 (zh)
KR (1) KR102424856B1 (zh)
CN (1) CN114073037B (zh)
TW (1) TWI730533B (zh)
WO (1) WO2020226695A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116887076A (zh) * 2023-09-05 2023-10-13 北京中科智易科技股份有限公司 一种装备信息模块化采集系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167392A (en) * 1997-10-09 2000-12-26 Telcordia Technologies, Inc. Method and apparatus for private information retrieval from a single electronic storage device
US20090193033A1 (en) * 2005-05-19 2009-07-30 Zulfikar Amin Ramzan Method and apparatus for communication efficient private information retrieval and oblivious transfer
CA2855169C (fr) * 2011-11-10 2016-01-19 Parallel Geometry Inc. Methode et systeme pour coder de l'information
EP2822218A1 (en) * 2012-03-02 2015-01-07 Sony Corporation Information processing device, information processing method, and program
TWI502947B (zh) 2012-04-12 2015-10-01 Jintai Ding New cryptographic system and method based on mismatching
US9306738B2 (en) 2012-12-21 2016-04-05 Microsoft Technology Licensing, Llc Managed secure computations on encrypted data
CN103401871B (zh) * 2013-08-05 2016-08-10 苏州大学 一种面向同态加密的密文定序方法及系统
JP6173904B2 (ja) * 2013-12-13 2017-08-02 株式会社東芝 共通鍵暗号装置及びプログラム、並びに、共通鍵復号装置及びプログラム
US10075288B1 (en) * 2014-02-28 2018-09-11 The Governing Council Of The University Of Toronto Systems, devices, and processes for homomorphic encryption
JP6413743B2 (ja) * 2014-12-16 2018-10-31 富士通株式会社 暗号処理装置、暗号処理方法、及び暗号処理プログラム
US10560257B2 (en) * 2015-07-08 2020-02-11 Brown University Homomorphic encryption
US9846785B2 (en) * 2015-11-25 2017-12-19 International Business Machines Corporation Efficient two party oblivious transfer using a leveled fully homomorphic encryption
CN105610793B (zh) * 2015-12-18 2018-10-26 江苏大学 一种外包数据加密存储与密文查询系统及其应用方法
FR3048102B1 (fr) 2016-02-24 2018-03-09 Commissariat A L'energie Atomique Et Aux Energies Alternatives Methode d'execution confidentielle d'un programme operant sur des donnees chiffrees par un chiffrement homomorphe
US10229285B2 (en) * 2016-03-22 2019-03-12 International Business Machines Corporation Privacy enhanced central data storage
EP3419211B1 (en) * 2017-06-23 2022-03-30 Flytxt B.V. Privacy preserving computation protocol for data analytics

Also Published As

Publication number Publication date
WO2020226695A1 (en) 2020-11-12
US20200358610A1 (en) 2020-11-12
KR20210152030A (ko) 2021-12-14
TWI730533B (zh) 2021-06-11
EP3959841B1 (en) 2022-06-08
CN114073037A (zh) 2022-02-18
CN114073037B (zh) 2024-05-17
JP7212179B2 (ja) 2023-01-24
US11310045B2 (en) 2022-04-19
JP2022531496A (ja) 2022-07-06
EP3959841A1 (en) 2022-03-02
KR102424856B1 (ko) 2022-07-22

Similar Documents

Publication Publication Date Title
TWI734368B (zh) 實現隱私保護的數據同態加解密方法及裝置
Raman et al. Distributed storage meets secret sharing on the blockchain
US9355271B2 (en) System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption
Li et al. Efficient multi-keyword ranked query over encrypted data in cloud computing
CN109784931B (zh) 一种基于区块链的数据查询平台的查询方法
CN111026788B (zh) 一种混合云中基于同态加密的多关键词密文排序检索方法
CN109361644B (zh) 一种支持快速搜索和解密的模糊属性基加密方法
JP6770075B2 (ja) 暗号化メッセージ検索方法、メッセージ送受信システム、端末、プログラム
CN109714157B (zh) 一种抗密钥暴露属性加密的sdn跨域访问控制方法
KR101615137B1 (ko) 속성 기반의 데이터 접근 방법
EP4073673B1 (en) Encrypted search with a public key
CN116346310A (zh) 基于同态加密的匿踪查询方法、装置和计算机设备
CN106888213B (zh) 云密文访问控制方法及系统
US20230155815A1 (en) Secure integer comparison using binary trees
TWI730533B (zh) 容錯環學習(rlwe)密文之壓縮及遺忘擴展
CN113630250A (zh) 基于数据加密的模型训练方法及系统
WO2022213577A1 (zh) 一种空间文本的查询方法及装置
Jiang et al. A novel privacy preserving keyword search scheme over encrypted cloud data
Loh et al. A multi-client DSSE scheme supporting range queries
Yang et al. Revocable Public Key Encryption with Equality Test without Pairing in Cloud Storage
Abd Elminaam et al. Resource Sharing Security in Cloud Computing Environment.
Asesh Encryption technique for a trusted cloud computing environment
Shakya et al. Outsourced Private Set Union on Multi-Attribute Datasets for Search Protocol using Fully Homomorphic Encryption
CN117076406A (zh) 文档存储方法、系统、装置、计算机设备和存储介质
CN116488797A (zh) 基于属性加密的大数据混合加密方法