TWI736065B - 用於在私人群組中之委外取冪服務之方法及系統 - Google Patents

用於在私人群組中之委外取冪服務之方法及系統 Download PDF

Info

Publication number
TWI736065B
TWI736065B TW108146032A TW108146032A TWI736065B TW I736065 B TWI736065 B TW I736065B TW 108146032 A TW108146032 A TW 108146032A TW 108146032 A TW108146032 A TW 108146032A TW I736065 B TWI736065 B TW I736065B
Authority
TW
Taiwan
Prior art keywords
series
untrusted server
modulus
server
exponent
Prior art date
Application number
TW108146032A
Other languages
English (en)
Other versions
TW202042053A (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 TW202042053A publication Critical patent/TW202042053A/zh
Application granted granted Critical
Publication of TWI736065B publication Critical patent/TWI736065B/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/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/302Public 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 involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • 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/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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/723Modular exponentiation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/3033Public 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 pseudo-prime or prime number generation, e.g. primality test
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/50Oblivious transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Saccharide Compounds (AREA)

Abstract

一種用於在一私人群組中進行委外取冪之方法(500),其包括執行一查詢指令(130)以藉由如下操作來擷取儲存於一不信賴的伺服器(111)上之一查詢元素(152):選擇與儲存於該伺服器上之該查詢元素相關聯的一模數(134)之兩個或更多個質數(135)的一質數因式分解,獲得經組態以產生該等質數中的一各別一者的一群組元素(133),使用該質數因式分解及該群組元素產生一系列基數值(162),及將該系列基數值自一用戶端裝置(10)傳輸至該伺服器。該伺服器經組態以使用該系列基數值判定該群組元素藉由儲存於該伺服器上之一指數(154)的一取冪。該方法亦包括自該伺服器接收基於該群組元素藉由該指數之該取冪的一結果(192)。

Description

用於在私人群組中之委外取冪服務之方法及系統
本發明涉及私人群組中之委外取冪服務。
私人資訊擷取(PIR)方案允許使用者自一或多個儲存裝置擷取資料,而不會向代管一或多個儲存裝置之伺服器揭露關於使用者或所擷取資料之任何知識。對於PIR,伺服器儲存裝置通常不受保護,且係自公共儲存裝置或伺服器儲存裝置擷取私人資訊,其中訂戶群組皆被准許自整個儲存裝置下載資料。雖然使用者可簡單地自伺服器儲存裝置下載所有內容,從而使得不會揭露存取模式,但當必須跨越多個儲存裝置自雲端儲存服務下載所有內容時,此花費過長時間。此外,習知PIR方案消耗大量頻寬或需要大量計算。
本發明之一個態樣提供一種用於在私人群組中進行委外取冪的方法。該方法包括在用戶端裝置之資料處理硬體處執行查詢指令,以藉由選擇與儲存於不信賴的伺服器上之查詢元素相關聯的模數之質數因式分解來擷取儲存於不信賴的伺服器上之查詢元素。質數因式分解包括兩個或更多個質數。該方法亦包括獲得經組態以產生質數因式分解之兩個或更多個質數中的各別一者的群組元素,並使用模數之質數因式分解及群組元 素產生一系列基數值。該方法亦包括將該系列基數值自用戶端裝置傳輸至不信賴的伺服器。不信賴的伺服器經組態以使用該系列基數值判定群組元素藉由儲存於不信賴的伺服器上之指數的取冪。該方法亦包括在資料處理硬體處自不信賴的伺服器接收結果。該結果係基於群組元素藉由儲存於不信賴的伺服器上之指數的取冪。
本發明之實施可包括以下可選特徵中之一或多者。在一些實施中,產生該系列基數值包括使用模數之質數因式分解及群組元素產生一系列初始基數值,並將該系列初始基數值中之每一初始基數值減少模數以產生一系列模數減少基數值。每一模數減少基數值包括該系列初始基數值中減少了模數之各別初始基數值。在一些實例中,將該系列基數值傳輸至不信賴的伺服器包括將該系列模數減少基數值傳輸至不信賴的伺服器。不信賴的伺服器經組態以使用該系列模數減少基數值判定群組元素藉由儲存於不信賴的伺服器上之指數的取冪。
在一些實施中,將該系列基數值傳輸至不信賴的伺服器進一步包括將模數傳輸至不信賴的伺服器。不信賴的伺服器可經組態以使用該系列基數值判定群組元素藉由儲存於不信賴的伺服器上之指數的取冪。不信賴的伺服器亦可經組態以藉由將群組元素藉由指數之取冪減少模數來產生結果,並將結果傳輸至用戶端裝置。在一些實例中,該方法進一步包括當結果包括群組元素藉由指數之取冪時,藉由資料處理硬體將結果減少模數。
視情況,產生該系列基數值包括獲得表示儲存於不信賴的伺服器上之指數的數字位置系統,並基於群組元素藉由對應於數字位置系統中之數位位置的各別基數元素之取冪,產生該系列基數值中之每一基數 值。在一些實例中,表示儲存於不信賴的伺服器上之指數的數字位置系統藉由用戶端裝置或不信賴的伺服器基於用戶端裝置與不信賴的伺服器之間的通信頻寬限制來選擇。數字位置系統可包括二進位、十六進位或十進位中之一者。
在一些實施中,獲得表示儲存於不信賴的伺服器上之指數的數字位置系統進一步包括獲得用於由數字位置系統表示之指數的數位之數目。用於指數之數位的數目等於藉由執行查詢指令產生的該系列基數值中之基數值的數目。不信賴的伺服器可經組態以藉由如下操作來判定群組元素藉由儲存於不信賴的伺服器上之指數的取冪:針對自用戶端裝置接收到的該系列基數值中之每一基數值,判定基數值藉由指數之各別數位位置處之值的取冪,並將基數值藉由指數之各別數位位置處之值的取冪一起相乘。該結果可與查詢元素相關聯,且在一些實例中,用戶端裝置可從不向不信賴的伺服器揭露模數之質數因式分解。
本發明之另一態樣提供一種用於在私人群組中進行委外取冪之系統。系統包括用戶端裝置之資料處理硬體及與資料處理硬體通信之記憶體硬體。記憶體硬體儲存當在資料處理硬體上執行時致使資料處理硬體執行操作之指令。該等操作包括執行查詢指令,以藉由選擇與儲存於不信賴的伺服器上之查詢元素相關聯的模數之質數因式分解來擷取儲存於不信賴的伺服器上之查詢元素。質數因式分解包括兩個或更多個質數。該等操作亦包括獲得經組態以產生質數因式分解之兩個或更多個質數中的各別一者的群組元素,並使用模數之質數因式分解及群組元素產生一系列基數值。該等操作亦包括將該系列基數值自用戶端裝置傳輸至不信賴的伺服器。不信賴的伺服器經組態以使用該系列基數值判定群組元素藉由儲存於 不信賴的伺服器上之指數的取冪。該等操作亦包括自不信賴的伺服器接收結果。該結果係基於群組元素藉由儲存於不信賴的伺服器上之指數的取冪。
此態樣可包括以下可選特徵中之一或多者。在一些實施中,產生該系列基數值包括使用模數之質數因式分解及群組元素產生一系列初始基數值,並將該系列初始基數值中之每一初始基數值減少模數以產生一系列模數減少基數值。每一模數減少基數值包括該系列初始基數值中減少了模數之各別初始基數值。在一些實例中,將該系列基數值傳輸至不信賴的伺服器包括將該系列模數減少基數值傳輸至不信賴的伺服器。不信賴的伺服器經組態以使用該系列模數減少基數值判定群組元素藉由儲存於不信賴的伺服器上之指數的取冪。
在一些實施中,將該系列基數值傳輸至不信賴的伺服器進一步包括將模數傳輸至不信賴的伺服器。不信賴的伺服器可經組態以使用該系列基數值判定群組元素藉由儲存於不信賴的伺服器上之指數的取冪。不信賴的伺服器亦可經組態以藉由將群組元素藉由指數之取冪減少模數來產生結果,並將結果傳輸至用戶端裝置。在一些實例中,該等操作進一步包括當結果包括群組元素藉由指數之取冪時,將結果減少模數。
視情況,產生該系列基數值包括獲得表示儲存於不信賴的伺服器上之指數的數字位置系統,並基於群組元素藉由對應於數字位置系統中之數位位置的各別基數元素之取冪,產生該系列基數值中之每一基數值。在一些實例中,表示儲存於不信賴的伺服器上之指數的數字位置系統藉由用戶端裝置或不信賴的伺服器基於用戶端裝置與不信賴的伺服器之間的通信頻寬限制來選擇。數字位置系統可包括二進位、十六進位或十進位 中之一者。
在一些實施中,獲得表示儲存於不信賴的伺服器上之指數的數字位置系統進一步包括獲得用於由數字位置系統表示之指數的數位之數目。用於指數之數位的數目等於藉由執行查詢指令產生的該系列基數值中之基數值的數目。不信賴的伺服器可經組態以藉由如下操作來判定群組元素藉由儲存於不信賴的伺服器上之指數的取冪:針對自用戶端裝置接收到的該系列基數值中之每一基數值,判定基數值藉由指數之各別數位位置處之值的取冪,並將基數值藉由指數之各別數位位置處之值的取冪一起相乘。該結果可與查詢元素相關聯,且在一些實例中,用戶端裝置可從不向不信賴的伺服器揭露模數之質數因式分解。
本發明之一或多個實施的細節闡述於下文附圖及描述中。自描述及圖式以及申請專利範圍將顯而易見其他態樣、特徵及優點。
10:使用者裝置/用戶端裝置
12:使用者/用戶端
100:系統
111:遠程系統/伺服器
112:網路
116:儲存資源/記憶體硬體
118:計算資源
122:記憶體硬體
124:資料處理硬體
130:查詢指令
131:資料區塊選擇
132:群組(G)
133:群組元素(g)
134:模數(M)
135:質數因數
136:位置基數(B)
138:位置計數(m)
150:不信賴的資料儲存區/查詢元素
152:資料區塊(B)/查詢元素
152a-n:資料區塊(B)
154:指數
160:產生器
162:基數值
162a-n:基數值
162A:初始基數值
162Aa-An:初始基數值
162B:模數減少基數值
162Ba-Bn:模數減少基數值
170:指數乘法器
192:結果
200:選擇器
210:資料區塊質數資料儲存區
212:數位
220:資料區塊質數
470:等式(1)
480:等式(2)
482:值
500:方法
502:操作
504:操作
506:操作
508:操作
510:操作
512:操作
600:計算裝置
600a:標準伺服器
600b:膝上型電腦
600c:框架伺服器系統
610:處理器
620:記憶體
630:儲存裝置
640:高速介面/控制器
650:高速擴充埠
660:低速介面/控制器
670:低速匯流排
680:顯示器
690:低速擴充埠
圖1為實例私人資訊擷取系統之示意圖,該系統在隱瞞地存取儲存於分佈式系統之非暫時性資料儲存區上的資料區塊時進行委外取冪。
圖2為圖1之系統的例示性選擇器之示意圖。
圖3為圖1之系統的組件及例示性位置數字系統之示意圖。
圖4為產生一系列基數值之實例操作的流程圖。
圖5為在私人群組中進行委外取冪之方法的操作之實例配置的流程圖。
圖6為可用於實施本文中所描述之系統及方法的實例計算裝置之示意圖。
各種圖式中的相同元件符號指示相同元件。
取冪為基數與指數之間的常見數學運算,其中取冪對應於基數之重複相乘。取冪廣泛地用於許多領域,諸如生物學、物理學及電腦科學。然而,由於取冪之超線性本質,很難計算極大指數。亦即,隨著指數增長,原始計算之難度以快於線性之速率增大。然而,存在減少計算較大取冪結果之難度的方法。例如,當已知指數之因數時,所謂的「指數冪規律」會大大減少計算。
然而,整數因式分解亦為已知的難題。實際上,對於充分大之整數,不存在高效的已知因式分解方法。此難題形成了許多現代密碼術之基礎。例如,兩個較大質數可被保密(例如,私鑰),而兩個較大質數之乘積可被共用(例如,公鑰)而不會揭露秘密質數。
取冪及質數因式分解亦可在私人資訊擷取(PIR)方案中發揮重要作用。PIR方案允許使用者自一或多個儲存裝置擷取資料,而不會向代管一或多個儲存裝置之伺服器揭露關於使用者或所擷取資料之任何知識。例如,伺服器可儲存具有相等長度之n個區塊B1……Bn的公共資料庫。使用者希望下載區塊Bi。出於隱私原因,使用者不想向伺服器(或任何其他人)揭露所下載資料區塊之索引。亦即,使用者期望隱瞞地擷取選定資料區塊。此問題之一種解決方案為使客戶端下載整個資料庫。雖然有效,但頻寬成本使此解決方案對於任何大型資料庫不可行。
另一方法為使用取冪。例如,伺服器可將資料庫表示為整數指數E。取決於資料庫之大小,E可相當大(例如,數千或數百萬個數位)。客戶端獲得藉由與不信賴的伺服器上之資料區塊(例如,儲存的查詢 元素)相關聯的模數M表示之群組G。客戶端可選擇群組元素g,其中g與客戶端想要下載的儲存於伺服器上之資料區塊(例如,查詢元素)相關聯。客戶端期望求解g E mod M,此係由於客戶端可使用結果隱瞞地擷取選定資料區塊。客戶端已知M之質數因式分解,但期望將質數因式分解保密。
在此情況下,客戶端可僅僅向伺服器發送gM,且允許伺服器計算g E mod M。然而,如先前論述,取冪為超線性問題,且對於充分大的指數E之大小(即,資料庫之大小),計算要求過高。伺服器可藉由已知模數之質數因數(例如,藉由使用Fermat之小定理)極大地簡化計算,但客戶端期望將質數因數保密。因此,對於客戶端而言,使用質數因式分解執行高效計算且接著將剩餘取冪委外給伺服器,以避免傳輸整個資料庫(即,指數)之頻寬成本,及伺服器在未存取模數之質數因式分解情況下執行全取冪之計算成本兩者係有利的。
本文中之實施涉及用於在私人群組中進行委外取冪,而不會揭露模數之質數因式分解的常式。藉由使客戶端在不使用伺服器保存之指數的情況下,使用模數之秘密質數因式分解來執行高效取冪以產生一系列基數值,該常式在頻寬與計算之間實現實用的平衡。客戶端將一系列基數值發送至伺服器,以用於在不提供質數因式分解之情況下藉由伺服器保存之指數進行進一步計算。
參考圖1,在一些實施中,實例系統100包括使用者裝置10(亦被稱作用戶端裝置10),其與各別使用者或客戶端12相關聯且經由網路112與遠程系統111(本文中亦被稱作伺服器或不信賴的伺服器)通信。使用者裝置10可對應於任何計算裝置,諸如桌上型工作站、膝上型工作站或移動裝置(即,智能電話)。遠程系統111可為單個電腦、多個電腦,或具 有可縮放/彈性計算資源118(例如,資料處理硬體)及/或儲存資源116(例如,記憶體硬體)的分佈式系統(例如,雲端環境)。不信賴的資料儲存區150(例如,「不信賴的儲存裝置」或「不信賴的伺服器」)上覆在儲存資源116上,以允許藉由客戶端或計算資源118中之一或多者可縮放地使用儲存資源116。不信賴的資料儲存區150經組態以儲存可用於藉由用戶端裝置10下載之複數個資料區塊152、152a-n。
例如,不信賴的資料儲存區150包括公共已知且未加密的n個資料區塊(B)152,且允許一或多個用戶端裝置10使用PIR來隱瞞地擷取資料區塊(B)152以隱藏存取模式,同時保留用戶端裝置10對資料區塊(B)152之搜尋功能性。因此,用戶端裝置10可並不擁有資料區塊152,且在一些組態中資料區塊152之內容對於公眾係可用的。替代地,資料區塊152可係特定客戶端12專用的,但客戶端12仍期望對不信賴的資料儲存區150隱藏存取模式。資料區塊152可藉由整數表示。亦即,不信賴的資料儲存區150或伺服器111可處理每一資料區塊152以產生表示所有資料區塊152之單個整數。例如,伺服器111可使用中國剩餘定理來藉由不同之較小質數編碼每一資料區塊152。
與客戶端12相關聯之用戶端裝置10(例如,電腦)可包括相關聯記憶體硬體122及相關聯資料處理硬體124。每一用戶端裝置10可利用相關聯記憶體硬體122來保存或儲存查詢指令130、藉由模數(M)134表示之群組(G)132、位置基數(B)136及位置計數(m)138。在一些實例中,資料處理硬體124執行用於產生發佈至遠程系統111之一系列基數值162的產生器160,遠程系統在本文中亦可被稱為在不信賴的環境中執行之伺服器。
在一些實例中,產生器160執行查詢指令130以擷取儲存於不信賴的資料儲存區150上之查詢元素(即,資料區塊(B)152)。為此目的,產生器160獲得或接收或產生與儲存於不信賴的資料儲存區150上之查詢元素150相關聯的模數(M)134。模數134為兩個或更多個質數135之乘積。質數135藉由使用者裝置10選定且可形成私鑰之基礎。因此,質數135對所有其他各方(包括伺服器111)保密。產生器160亦獲得或接收或產生包括一或多個群組元素(g)133之群組(G)132。群組132藉由模數134表示,且群組132之每一群組元素133為質數135之子群組的產生器。
現參考圖2,在一些實施中,資料處理硬體122執行接收查詢指令130之選擇器200。查詢指令130包括一或多個資料區塊選擇131。每一資料區塊選擇131對應於待自不信賴的資料儲存區150隱瞞地擷取之資料區塊152(例如,查詢元素)。選擇器200與儲存於伺服器111處(例如,記憶體硬體116處)之資料區塊質數資料儲存區210通信。在一些實例中,資料區塊質數資料儲存區210儲存與儲存於不信賴的資料儲存區150上之每一資料區塊152相關聯的各別資料區塊質數220。亦即,資料區塊質數儲存區210可提供對應於待自資料儲存區150擷取之資料區塊152的資料區塊質數220。選擇器200可使用來自查詢指令130之資料區塊選擇131,以獲得對應於與資料區塊選擇131相關聯之資料區塊152的資料區塊質數220。使用獲得之資料區塊質數220,選擇器200選擇模數134之質數因式分解。質數因式分解包括兩個或更多個質數135,且質數135中之至少一者對應於資料區塊質數220。類似地,基於資料區塊選擇131選擇群組元素133,使得模數134及群組元素133兩者皆與相關聯於待自不信賴的資料儲存區150擷取之資料區塊152的資料區塊質數220相關聯。亦即,群組元 素133經組態以產生模數M 134之質數因式分解的質數135中之各別一者。
返回參考圖1,在一些實施中,產生器160亦接收或判定位置基數(B)136。位置基數136為伺服器保存指數154之基數(亦稱為數基)。亦即,指數154可藉由大於或等於二(即,二進位)之任何基數表示,且位置基數136藉由用戶端裝置10或伺服器111選擇以表示指數154。在一些實例中,位置基數136藉由使用者12選擇,而在其他實例中,使用者裝置10自動地判定位置基數136。在額外實例中,伺服器判定位置基數136並將其轉送至用戶端裝置10。除了位置基數136之外,產生器160可接收位置計數138。如下文更詳細地描述,位置計數138表示藉由位置基數136表示指數154所需之數位212(圖2)的數目。
使用質數因數135,產生器160產生一系列基數值162、162a-n。在一些實例中,每一基數值162為群組元素133藉由位置基數136之取冪,其對應於位置數字系統中之數位位置的值。現參考圖3,當位置基數136等於十(即,使用十進位位置數字系統)時,例示性指數154等於153,729。應理解,可選擇任何位置數字系統(即,位置基數136)。例如,數字位置系統可包括二進位、十六進位或十進位。雖然指數154通常極其大,但為清楚起見,實例中使用較小數目。藉由選定位置基數136(在此情況下為十)解譯指數154之伺服器111判定位置計數138。亦即,伺服器111判定藉由位置基數136表示指數154所需之數位212的數目。在所示之實例中,指數154(即,153,729)可藉由六個數位212以十進位(即,b=10)表示。因此,位置計數138等於六(以十進位)。不論選定位置基數136如何,指數可表示為:E=E 0+E 1 B 1+E 2 E 2+...+E m B m (1)
此處,指數154(以十進位(即,位置基數等於十))表示為9+(2*10)+(7*100)+(3*1000)+(5*10000)+(1*100000),總共為153,729。現參考圖4,等式(1)470允許將g E 重寫為:
Figure 108146032-A0305-02-0013-1
如自等式(2)480顯而易見,g E 之一部分可在並無伺服器保存指數154之情況下計算出。亦即,產生器160可將一系列基數值162產生為如下系列:
Figure 108146032-A0305-02-0013-2
顯而易見,選定位置基數136影響一系列基數值162a-n中之基數值162的數目(即,變數m),且因此,位置基數136直接影響傳輸一系列基數值162之通信成本。因為較大位置基數136需要較多困難的計算,所以位置基數136之選擇直接在通信成本與計算成本之間進行權衡。在一些實例中,位置基數136(即,數字位置系統)藉由用戶端裝置10或伺服器111基於用戶端裝置10與伺服器111之間的通信頻寬限制來選擇。在其他實例中,位置基數136選擇為在選定位置數字系統中表示指數154所需之數位212之數目的大約一半。例如,當藉由5,000之位置基數表示時,可選擇需要10,000個數位之指數154。
在一些實施中,伺服器111將指數154之位置計數138傳輸至產生器160。產生器160可使用位置計數138以判定待產生之基數值162的數目。在所示之實例中,產生器160可產生六個基數值162,因為值153,729係藉由六個數位212表示。因為產生器160可存取質數因數135,所以產生器160無需使用伺服器保存指數154即可有效地產生一系列基數值162(例如,使用Fermat之小定理或其他技術,諸如Euler之定理、 Carmichael之定理或中國剩餘定理)。產生器160可將一系列基數值162傳輸至伺服器111。
在一些實施中,一系列基數值162表示一系列初始基數值162A、162Aa-An。亦即,在一些實例中,產生器160使用模數134之質數因式分解及群組元素133產生一系列初始基數值162A。產生器160可將每一初始基數值162A減少模數134(即,模數M),以產生一系列模數減少基數值162B、162Ba-Bn。因此,每一模數減少基數值162B包括一系列初始基數值162A中減少了模數134之各別初始基數值162A。代替一系列初始基數值162A,產生器160可將一系列模數減少基數值162B傳輸至不信賴的伺服器111。亦即,發送至伺服器111之一系列基數值162包括一系列初始基數值162A或一系列模數減少基數值162B。將初始基數值162A減少模數M明顯減少發送至伺服器11之基數值162B的大小,且因此明顯減少將一系列基數值162B傳輸至伺服器111所需之頻寬。因為模數運算在計算上比取冪容易,所以執行額外模數運算可係有利的。
返回參考圖1,在一些實施中,伺服器111執行指數乘法器170。指數乘法器170自用戶端裝置10(例如,產生器160)接收一系列基數值162,並自不信賴的資料儲存區150接收指數154。視情況,用戶端裝置10亦可將群組元素133及/或模數134提供至伺服器111,以供指數乘法器170用於產生結果192。在一些實例中,指數乘法器170(或執行於伺服器111上之另一模組)自不信賴的資料儲存區150之資料區塊152判定指數154。指數乘法器170使用客戶端產生之一系列基數值162及指數154來計算g E 。在一些實例中,伺服器111藉由如下操作來藉由儲存於不信賴的伺服器111上之指數154判定群組元素133之取冪:針對一系列基數值162中 之每一基數值162,藉由指數154之各別數位位置處之值482(圖4)判定基數值162之取冪,並將基數值162藉由指數154之各別數位位置處之值482的取冪一起相乘以產生結果192。結果192與查詢元素(即,藉由資料區塊選擇131選定之資料區塊152)相關聯。
因為伺服器111現在可將此計算一般化為將m個基數與m個指數相乘之標準問題,所以伺服器111可利用數個演算法來有效地判定結果192。例如,伺服器111可使用Pippenger之取冪演算法或其他加法鏈取冪方法。在判定g E 之後,伺服器111可將g E 作為結果192發送回至使用者裝置10。替代地,伺服器111可將g E 減少模數M(即,模數134)以產生結果192,此係由於此將明顯減少結果192之大小且如先前論述,模數運算在計算上比取冪容易。結果192係基於群組元素133藉由儲存於不信賴的資料儲存區150上之指數154的取冪。亦即,結果192對應於藉由資料區塊選擇131選定之資料區塊152的值。
相比將整個指數154發送至用戶端裝置10,系統100提供明顯減少之頻寬使用,此係由於系統僅傳輸m個指數,指數中之每一者可藉由log(M)位元表示。模數134(M)通常比指數154小得多,m*log(M)<E。另外,相比伺服器完全計算群組元素133之取冪,系統100提供明顯減少之計算,此係因為使用者裝置10利用了從不向不信賴的伺服器111或不信賴的資料儲存區150揭露的模數134之已知質數因式分解。因此,藉由系統將較大問題(即,極大指數情況下之取冪)分成若干較小問題(即,較小基數值162指數),系統100減少總計算成本(漸進及具體兩者),而無需用戶端裝置10向不信賴的伺服器111揭露模數134之質數因式分解。系統100在通信(例如,頻寬)與計算成本之間提供平衡,且允許使用者裝置10及伺 服器111兩者有效地進行計算。例如,相比較原始方法(例如,傳輸全指數154或允許伺服器完全計算g E ),系統100可使用標準計算及通信成本實現介於10倍至100倍之間的改良。雖然本文中之實例涉及PIR,但用於委外取冪之所描述方法可有利於許多其他領域(例如,區塊鏈)。
圖5為用於私人群組之委外取冪的實例方法500之流程圖。方法500在操作502處開始,其中在用戶端裝置10之資料處理硬體122處執行查詢指令130,以藉由在操作504處選擇與儲存於不信賴的伺服器111、150上之查詢元素152相關聯的模數134之質數因式分解來擷取儲存於不信賴的伺服器111、150上之查詢元素152。質數因式分解包括兩個或更多個質數135。在操作506處,方法500包括獲得經組態以產生質數因式分解之兩個或更多個質數135中的各別一者的群組元素133。在操作508處,方法500包括使用模數134之質數因式分解及群組元素133產生一系列基數值162,及在操作510處,將一系列基數值162自用戶端裝置10傳輸至不信賴的伺服器111、150。不信賴的伺服器111、150經組態以使用一系列基數值162判定群組元素133藉由儲存於不信賴的伺服器上之指數154的取冪。在操作512處,方法500包括在資料處理硬體122處自不信賴的伺服器111、150接收結果192。結果192係基於群組元素133藉由儲存於不信賴的伺服器111、150上之指數154的取冪。
圖6為可用於實施本文檔中描述之系統及方法的實例計算裝置600之示意圖。計算裝置600意欲表示各種形式之數位電腦,諸如膝上型電腦、桌上型電腦、工作站、個人數位助理、伺服器、刀鋒型伺服器、大型電腦及其他適當的電腦。此處所示之組件、其連接及關係、及其功能意欲僅係例示性的,且並不意欲限制本文檔中所描述及/或主張之發 明的實施。
計算裝置600包括處理器610、記憶體620、儲存裝置630、連接至記憶體620及高速擴充埠650之高速介面/控制器640,及連接至低速匯流排670及儲存裝置630之低速介面/控制器660。組件610、620、630、640、650及660中之每一者使用各種匯流排互連,且可在共同主板上或按需要以其他方式安裝。處理器610可處理用於在計算裝置600內執行之指令,包括儲存在記憶體620中或儲存裝置630上,以在諸如耦接至高速介面640之顯示器680的外部輸入/輸出裝置上顯示用於圖形使用者介面(GUI)之圖形資訊的指令。在其他實施中,可按需要連同多個記憶體及記憶體類型使用多個處理器及/或多個匯流排。又,多個計算裝置600可與提供必要操作部分(例如,作為伺服器庫、刀鋒型伺服器之群組,或多處理器系統)之每一裝置連接。
記憶體620在計算裝置600內非暫時性地儲存資訊。記憶體620可為電腦可讀媒體、揮發性記憶體單元或非揮發性記憶體單元。非暫時性記憶體620可為用於臨時或永久地儲存程式(例如,指令序列)或資料(例如,程式狀態資訊),以供計算裝置600使用之實體裝置。非揮發性記憶體之實例包括但不限於快閃記憶體及唯讀記憶體(ROM)/可程式化唯讀記憶體(PROM)/可抹除可程式化唯讀記憶體(EPROM)/電可抹除可程式化唯讀記憶體(EEPROM)(例如,通常用於韌體,諸如啟動程式)。揮發性記憶體之實例包括但不限於隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、相變記憶體(PCM)以及磁碟或磁帶。
儲存裝置630能夠為計算裝置600提供大量儲存。在一些實 施中,儲存裝置630為電腦可讀媒體。在各種不同實施中,儲存裝置630可為軟碟裝置、硬碟裝置、光碟裝置或磁帶裝置、快閃記憶體或其他類似固態記憶體裝置,或裝置陣列,包括呈儲存區域網路或其他組態之裝置。在額外實施中,電腦程式產品有形地體現在資訊載體中。電腦程式產品含有在被執行時執行諸如上文所描述之彼等方法的一或多種方法的指令。資訊載體為電腦或機器可讀媒體,諸如記憶體620、儲存裝置630或處理器610上之記憶體。
高速控制器640管理計算裝置600之頻寬密集型操作,而低速控制器660管理較低頻寬密集型操作。此職責分配僅係例示性的。在一些實施中,高速控制器640耦接至記憶體620、顯示器680(例如,通過圖形處理器或加速器)及高速擴充埠650,高速擴充埠可接受各種擴充卡(未示出)。在一些實施中,低速控制器660耦接至儲存裝置630及低速擴充埠690。可包括各種通信埠(例如,USB、藍芽、乙太網、無線乙太網)之低速擴充埠690可例如通過網路適配器耦接至一或多個輸入/輸出裝置,諸如鍵盤、指向裝置、掃描儀或網路連接裝置,諸如開關或路由器。
計算裝置600可以數個不同形式實施,如圖中所示。例如,其可被實施為標準伺服器600a或在一組此等伺服器600a中被多次實施,被實施為膝上型電腦600b或框架伺服器系統600c之部分。
本文中描述之系統及技術之各種實施可以數位電子及/或光學電路、積體電路、專門設計之特殊應用積體電路(application specific integrated circuit,ASIC)、電腦硬體、韌體、軟體及/或其組合的形式實現。此等各種實施可包括在一或多個在包括至少一個可程式化處理器之可程式化系統上可執行及/或可解譯的電腦程式中實施,該可程式化處理器 可為專用或通用的,其經耦接以接收來自以下之資料及指令並將資料及指令傳輸至以下:儲存系統、至少一個輸入裝置及至少一個輸出裝置。
軟體應用程式(即,軟體資源)可指致使計算裝置執行任務之電腦軟體。在一些實例中,軟體應用程式可被稱為「應用程式」、「app」或「程式」。實例應用程式包括但不限於系統診斷應用程式、系統管理應用程式、系統維護應用程式、文字處理應用程式、試算表應用程式、消息傳遞應用程式、媒體串流應用程式、社群網路連接應用程式及遊戲應用程式。
此等電腦程式(亦稱為程式、軟體、軟體應用程式或程式碼)包括用於可程式化處理器的機器指令,且可以高階程序及/或物件導向的程式化語言及/或以組合/機器語言實施。如本文中所使用,術語「機器可讀媒體」及「電腦可讀媒體」係指用於向可程式化處理器提供機器指令及/或資料之任何電腦程式產品、非暫時性電腦可讀媒體、設備及/或裝置(例如磁碟、光碟、記憶體、可程式化邏輯裝置(PLD)),包括接收作為機器可讀信號之機器指令的機器可讀媒體。術語「機器可讀信號」係指用以向可程式化處理器提供機器指令及/或資料之任何信號。
本說明書中描述之程序及邏輯流程可藉由一或多個可程式化處理器執行,該等處理器亦被稱作資料處理硬體,執行一或多個電腦程式以藉由操作輸入資料及產生輸出來執行功能。程序及邏輯流程亦可藉由專用邏輯電路執行,例如,場可程式化閘陣列(field programmable gate array,FPGA)或特殊應用積體電路(ASIC)。適於執行電腦程式的處理器包括(藉助於實例)通用微處理器及專用微處理器兩者,及任何種類的數位電腦的任何一或多個處理器。通常,處理器將自唯讀記憶體或隨機存取記 憶體或兩者接收指令及資料。電腦之基本元件為用於執行指令之處理器及用於儲存指令及資料之一或多個記憶體裝置。一般而言,電腦亦將包括或以操作方式耦接,以自用於儲存資料之一或多個大容量儲存裝置(例如磁碟、磁光碟或光碟)接收資料,或將資料轉移至一或多個大容量儲存裝置,或二者皆有。然而,電腦無需具有此等裝置。適於儲存電腦程式指令及資料之電腦可讀媒體包括所有形式之非揮發性記憶體、媒體及記憶體裝置,包括(藉助於實例)半導體記憶體裝置,例如EPROM、EEPROM及快閃記憶體裝置;磁碟,例如內部硬碟或可移除式磁碟;磁光碟;及CD ROM及DVD-ROM磁碟。處理器及記憶體可藉由專用邏輯電路補充或併入於其中。
為提供與使用者之交互,本發明之一或多個態樣可實施於具有用於向使用者顯示資訊之顯示裝置(例如,陰極射線管(cathode ray tube,CRT)、液晶顯示器(liquid crystal display,LCD)監視器或觸控螢幕),以及視情況選用的使用者可藉以向電腦提供輸入之鍵盤及指向裝置(例如,滑鼠或軌跡球)的電腦上。其他類型之裝置亦可用以提供與使用者的交互;例如,提供給使用者的回饋可為任何形式的感測回饋(例如,視覺回饋、聽覺回饋或觸覺回饋);且來自使用者的輸入可以任何形式接收,包括聲學、話音或觸覺輸入。另外,電腦可藉由發送文獻至藉由使用者使用的裝置及自該裝置接收文獻與使用者交互;例如藉由回應於自網頁瀏覽器接收到之請求而發送網頁至使用者之用戶端裝置上的網頁瀏覽器。
已描述數個實施。儘管如此,應理解可在不背離本發明之精神及範疇的情況下進行各種修改。因此,其他實施在以下申請專利範圍之範疇內。
500:方法
502:操作
504:操作
506:操作
508:操作
510:操作
512:操作

Claims (20)

  1. 一種用於在一私人群組中之委外取冪服務之方法,其包含:在一用戶端裝置之資料處理硬體處執行一查詢指令,以藉由如下操作來擷取儲存於一不信賴的伺服器上之一查詢元素:選擇與儲存於該不信賴的伺服器上之該查詢元素相關聯的一模數之一質數因式分解,該質數因式分解包含兩個或更多個質數;獲得經組態以產生該質數因式分解之該兩個或更多個質數中的一各別一者之一群組元素;使用該模數之該質數因式分解及該群組元素產生一系列基數值,其包含:獲得表示儲存於該不信賴的伺服器上之一指數的一數字位置系統;及基於該群組元素藉由對應於該數字位置系統中之一數位位置的一各別基數元素之一取冪,產生該系列基數值中之每一基數值;及將該系列基數值自該用戶端裝置傳輸至該不信賴的伺服器,該不信賴的伺服器經組態以使用該系列基數值判定該群組元素藉由儲存於該不信賴的伺服器上之該指數的該取冪;及在該資料處理硬體處自該不信賴的伺服器接收一結果,該結果係基於該群組元素藉由儲存於該不信賴的伺服器上之該指數的該取冪。
  2. 如請求項1之方法,其中: 產生該系列基數值包含:使用該模數之該質數因式分解及該群組元素產生一系列初始基數值;及將該系列初始基數值中之每一初始基數值減少該模數以產生一系列模數減少基數值,每一模數減少基數值包含該系列初始基數值中減少了該模數的一各別初始基數值;且將該系列基數值傳輸至該不信賴的伺服器包含將該系列模數減少基數值傳輸至該不信賴的伺服器,該不信賴的伺服器經組態以使用該系列模數減少基數值判定該群組元素藉由儲存於該不信賴的伺服器上之該指數的該取冪。
  3. 如請求項1之方法,其中將該系列基數值傳輸至該不信賴的伺服器進一步包含將該模數傳輸至該不信賴的伺服器,該不信賴的伺服器經組態以:使用該系列基數值判定該群組元素藉由儲存於該不信賴的伺服器上之該指數的該取冪;藉由將該群組元素藉由該指數之該取冪減少該模數來產生該結果;及將該結果傳輸至該用戶端裝置。
  4. 如請求項1之方法,其進一步包含當該結果包含該群組元素藉由該指數之該取冪時,藉由該資料處理硬體將該結果減少該模數。
  5. 如請求項1之方法,其中表示儲存於該不信賴的伺服器上之該指數的該數字位置系統藉由該用戶端裝置或該不信賴的伺服器基於該用戶端裝置與該不信賴的伺服器之間的一通信頻寬限制來選擇。
  6. 如請求項1之方法,其中該數字位置系統包含二進位、十六進位或十進位中之一者。
  7. 如請求項1之方法,其中獲得表示儲存於該不信賴的伺服器上之該指數的該數字位置系統進一步包含獲得用於藉由該數字位置系統表示之該指數的數位之一數目,用於該指數之數位的該數目等於藉由經執行查詢指令產生的該系列基數值中之基數值的一數目。
  8. 如請求項1之方法,其中該不信賴的伺服器經組態以藉由如下操作來判定該群組元素藉由儲存於該不信賴的伺服器上之該指數的該取冪:對於自該用戶端裝置接收到的該系列基數值中之每一基數值,判定該基數值藉由該指數之一各別數位位置處之一值的一取冪;及將該等基數值藉由該指數之該等各別數位位置處之該等值的該等取冪一起相乘。
  9. 如請求項1之方法,其中該結係與該查詢元素相關聯。
  10. 如請求項1之方法,其中該用戶端裝置從不向該不信賴的伺服器揭露該模數之該質數因式分解。
  11. 一種用於在一私人群組中之委外取冪服務之系統,其包含:一用戶端裝置之資料處理硬體;及記憶體硬體,其與該資料處理硬體通信,該記憶體硬體儲存當在該資料處理硬體上執行時致使該資料處理硬體執行包含如下之操作的指令:執行一查詢指令以藉由如下操作來擷取儲存於一不信賴的伺服器上之一查詢元素:選擇與儲存於該不信賴的伺服器上之該查詢元素相關聯的一模數之一質數因式分解,該質數因式分解包含兩個或更多個質數;獲得經組態以產生該質數因式分解之該兩個或更多個質數中的一各別一者之一群組元素;使用該模數之該質數因式分解及該群組元素產生一系列基數值,其包含:獲得表示儲存於該不信賴的伺服器上之一指數的一數字位置系統;及基於該群組元素藉由對應於該數字位置系統中之一數位位置的一各別基數元素之一取冪,產生該系列基數值中之每一基數值;及將該系列基數值自該用戶端裝置傳輸至該不信賴的伺服器,該不信賴的伺服器經組態以使用該系列基數值判定該群組元素藉由儲存於該不信賴的伺服器上之該指數的該取冪;及自該不信賴的伺服器接收一結果,該結果係基於該群組元素藉由儲存於該不信賴的伺服器上之該指數的該取冪。
  12. 如請求項11之系統,其中:產生該系列基數值包含:使用該模數之該質數因式分解及該群組元素產生一系列初始基數值;及將該系列初始基數值中之每一初始基數值減少該模數以產生一系列模數減少基數值,每一模數減少基數值包含該系列初始基數值中減少了該模數的一各別初始基數值;且將該系列基數值傳輸至該不信賴的伺服器包含將該系列模數減少基數值傳輸至該不信賴的伺服器,該不信賴的伺服器經組態以使用該系列模數減少基數值判定該群組元素藉由儲存於該不信賴的伺服器上之該指數的該取冪。
  13. 如請求項11之系統,其中將該系列基數值傳輸至該不信賴的伺服器進一步包含將該模數傳輸至該不信賴的伺服器,該不信賴的伺服器經組態以:使用該系列基數值判定該群組元素藉由儲存於該不信賴的伺服器上之該指數的該取冪;藉由將該群組元素藉由該指數之該取冪減少該模數來產生該結果;及將該結果傳輸至該用戶端裝置。
  14. 如請求項11之系統,其中該等操作進一步包含當該結果包含該群組 元素藉由該指數之該取冪時,將該結果減少該模數。
  15. 如請求項11之系統,其中表示儲存於該不信賴的伺服器上之該指數的該數字位置系統藉由該用戶端裝置或該不信賴的伺服器基於該用戶端裝置與該不信賴的伺服器之間的一通信頻寬限制來選擇。
  16. 如請求項11之系統,其中該數字位置系統包含二進位、十六進位或十進位中之一者。
  17. 如請求項11之系統,其中獲得表示儲存於該不信賴的伺服器上之該指數的該數字位置系統進一步包含獲得用於藉由該數字位置系統表示之該指數的數位之一數目,用於該指數之數位的該數目等於藉由經執行查詢指令產生的該系列基數值中之基數值的一數目。
  18. 如請求項11之系統,其中該不信賴的伺服器經組態以藉由如下操作來判定該群組元素藉由儲存於該不信賴的伺服器上之該指數的該取冪:對於自該用戶端裝置接收到的該系列基數值中之每一基數值,判定該基數值藉由該指數之一各別數位位置處之一值的一取冪;及將該等基數值藉由該指數之該等各別數位位置處之該等值的該等取冪一起相乘。
  19. 如請求項11之系統,其中該結果係與該查詢元素相關聯。
  20. 如請求項11之系統,其中該用戶端裝置從不向該不信賴的伺服器揭露該模數之該質數因式分解。
TW108146032A 2019-05-14 2019-12-16 用於在私人群組中之委外取冪服務之方法及系統 TWI736065B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/411,646 US11005654B2 (en) 2019-05-14 2019-05-14 Outsourcing exponentiation in a private group
US16/411,646 2019-05-14

Publications (2)

Publication Number Publication Date
TW202042053A TW202042053A (zh) 2020-11-16
TWI736065B true TWI736065B (zh) 2021-08-11

Family

ID=69173395

Family Applications (2)

Application Number Title Priority Date Filing Date
TW108146032A TWI736065B (zh) 2019-05-14 2019-12-16 用於在私人群組中之委外取冪服務之方法及系統
TW110125602A TWI783571B (zh) 2019-05-14 2019-12-16 用於在私人群組中之委外取冪服務之電腦實施方法及系統

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW110125602A TWI783571B (zh) 2019-05-14 2019-12-16 用於在私人群組中之委外取冪服務之電腦實施方法及系統

Country Status (7)

Country Link
US (2) US11005654B2 (zh)
EP (1) EP3963820A1 (zh)
JP (1) JP7133728B2 (zh)
KR (1) KR102384913B1 (zh)
CN (1) CN114128208B (zh)
TW (2) TWI736065B (zh)
WO (1) WO2020231471A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112650451B (zh) * 2020-12-28 2023-06-09 杭州趣链科技有限公司 查找网络服务器的优化方法、装置、计算机设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050190912A1 (en) * 2001-03-26 2005-09-01 Hopkins W. D. Multiple cryptographic key precompute and store
US20090193000A1 (en) * 2005-05-19 2009-07-30 Zulfikar Amin Ramzan Method and apparatus for communication efficient private information retrieval and oblivious transfer
US20150358219A1 (en) * 2014-06-09 2015-12-10 Fujitsu Limited System and method for gathering information

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6282290B1 (en) * 1997-03-28 2001-08-28 Mykotronx, Inc. High speed modular exponentiator
US7086086B2 (en) * 1999-02-27 2006-08-01 Alonzo Ellis System and method for maintaining N number of simultaneous cryptographic sessions using a distributed computing environment
DE10024325B4 (de) 2000-05-17 2005-12-15 Giesecke & Devrient Gmbh Kryptographisches Verfahren und kryptographische Vorrichtung
US7421583B1 (en) 2000-06-19 2008-09-02 Xerox Corp System, method and article of manufacture for determining a price of cryptograph IC services based on a computational burden thereof
US6990468B1 (en) 2000-06-19 2006-01-24 Xerox Corporation System, method and article of manufacture for cryptoserver-based auction
US7051199B1 (en) 2000-06-19 2006-05-23 Xerox Corporation System, method and article of manufacture for providing cryptographic services utilizing a network
US6836784B2 (en) * 2001-01-17 2004-12-28 Matsushita Electric Industrial Co., Ltd. Efficient greatest common divisor algorithm using multiprecision arithmetic
US7721089B2 (en) 2003-05-21 2010-05-18 Ntt Docomo, Inc. Broadcast encryption using RSA
US8005019B2 (en) * 2004-05-11 2011-08-23 Opnet Technologies, Inc. Fuzzy routing
US7620625B2 (en) 2004-05-20 2009-11-17 Ntt Docomo, Inc. Method and apparatus for communication efficient private information retrieval and oblivious transfer
US7730319B2 (en) 2004-08-27 2010-06-01 Ntt Docomo, Inc. Provisional signature schemes
US7315941B2 (en) 2004-12-17 2008-01-01 Ntt Docomo Inc. Multi-certificate revocation using encrypted proof data for proving certificate's validity or invalidity
US7266692B2 (en) 2004-12-17 2007-09-04 Ntt Docomo, Inc. Use of modular roots to perform authentication including, but not limited to, authentication of validity of digital certificates
US8132006B2 (en) 2005-05-03 2012-03-06 Ntt Docomo, Inc. Cryptographic authentication and/or establishment of shared cryptographic keys, including, but not limited to, password authenticated key exchange (PAKE)
US9813415B2 (en) * 2007-04-02 2017-11-07 Abdul Rahman Syed Ibrahim Abdul Hameed Khan System and method of generating and using bilaterally generated variable instant passwords
CN102474413B (zh) 2009-12-24 2015-11-25 Nds有限公司 私钥压缩
KR101166129B1 (ko) * 2011-05-31 2012-07-23 서울대학교산학협력단 사전계산 테이블을 이용한 이산대수 계산 방법 및 그 장치
CN106233287B (zh) * 2015-03-02 2019-07-02 微软技术许可有限责任公司 对大型数据集的数据库查询的管理
US10089500B2 (en) * 2015-09-25 2018-10-02 Intel Corporation Secure modular exponentiation processors, methods, systems, and instructions
US20170293913A1 (en) * 2016-04-12 2017-10-12 The Governing Council Of The University Of Toronto System and methods for validating and performing operations on homomorphically encrypted data
US20180115535A1 (en) 2016-10-24 2018-04-26 Netflix, Inc. Blind En/decryption for Multiple Clients Using a Single Key Pair
CN110326253B (zh) 2016-12-30 2021-11-09 罗伯特·博世有限公司 用于对加密数据进行模糊关键字搜索的方法和系统
US10044509B1 (en) 2017-08-14 2018-08-07 Fmr Llc Method for encrypting and storing data
US11258861B2 (en) * 2018-06-29 2022-02-22 Intel Corporation Secure reporting of platform state information to a remote server
US10942909B2 (en) * 2018-09-25 2021-03-09 Salesforce.Com, Inc. Efficient production and consumption for data changes in a database under high concurrency
CN109740376B (zh) * 2018-12-21 2020-11-13 哈尔滨工业大学(深圳) 基于近邻查询的位置隐私保护方法、系统、设备及介质
US11615301B2 (en) * 2019-09-03 2023-03-28 Microsoft Technology Licensing, Llc Lossless exponent and lossy mantissa weight compression for training deep neural networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050190912A1 (en) * 2001-03-26 2005-09-01 Hopkins W. D. Multiple cryptographic key precompute and store
US20090193000A1 (en) * 2005-05-19 2009-07-30 Zulfikar Amin Ramzan Method and apparatus for communication efficient private information retrieval and oblivious transfer
US20150358219A1 (en) * 2014-06-09 2015-12-10 Fujitsu Limited System and method for gathering information

Also Published As

Publication number Publication date
KR102384913B1 (ko) 2022-04-08
TW202141262A (zh) 2021-11-01
JP2022534364A (ja) 2022-07-29
US20210234688A1 (en) 2021-07-29
US11005654B2 (en) 2021-05-11
US11943352B2 (en) 2024-03-26
TWI783571B (zh) 2022-11-11
US20200366482A1 (en) 2020-11-19
JP7133728B2 (ja) 2022-09-08
KR20220002668A (ko) 2022-01-06
TW202042053A (zh) 2020-11-16
CN114128208A (zh) 2022-03-01
CN114128208B (zh) 2024-05-17
WO2020231471A1 (en) 2020-11-19
EP3963820A1 (en) 2022-03-09

Similar Documents

Publication Publication Date Title
US11451370B2 (en) Secure probabilistic analytics using an encrypted analytics matrix
US10868670B2 (en) Data processing method and apparatus
US11991271B2 (en) System and method for quantum resistant public key encryption
CN112910639A (zh) 多域场景下的量子加密业务传输方法及相关设备
Pitchai et al. Searchable encrypted data file sharing method using public cloud service for secure storage in cloud computing
Taha et al. An improved security schema for mobile cloud computing using hybrid cryptographic algorithms
US20230185960A1 (en) Private Information Retrieval with Sublinear Public-Key Operations
TWI736065B (zh) 用於在私人群組中之委外取冪服務之方法及系統
JP7212179B2 (ja) Rlwe暗号文の圧縮および忘却型展開
WO2023236899A1 (zh) 数据处理方法、装置、设备及存储介质
WO2023197995A1 (zh) 同态加密操作方法、装置和电子设备
Bardis Secure, green implementation of modular arithmetic operations for IoT and cloud applications
JP2023538629A (ja) 分散型機械学習環境にわたるテンソル比較
Sun et al. How to compute modular exponentiation with large operators based on the right-to-left binary algorithm
Wang et al. EPSLP: Efficient and privacy-preserving single-layer perceptron learning in cloud computing
Bahadori et al. A programmable SoC implementation of the DGK cryptosystem for privacy-enhancing technologies
Abd Elminaam et al. Resource Sharing Security in Cloud Computing Environment.
US20220350570A1 (en) Pipelined hardware to accelerate modular arithmetic operations
KR20230136072A (ko) 다항식 언어의 컴파일링을 위한 전자 장치 및 방법
KR20230144435A (ko) 동형 암호 연산 장치 및 방법
KR20220157649A (ko) 일치 확인을 위한 지분 생성 방법 및 장치
Cao et al. RSA Encryption Algorithm Design and Verification Based on Verilog HDL
CN115981859A (zh) 一种数据处理方法
CN118118164A (zh) 数据保护方法、基于纵向联邦学习模型的预测方法及装置
ZHANG A RAPID GENERATION SCHEME OF LARGE PRIMES