JP2023525159A - 暗号化されたデータに対する単変数または多変数の実数値関数を評価するための暗号方法、システム、およびサービス - Google Patents
暗号化されたデータに対する単変数または多変数の実数値関数を評価するための暗号方法、システム、およびサービス Download PDFInfo
- Publication number
- JP2023525159A JP2023525159A JP2022569135A JP2022569135A JP2023525159A JP 2023525159 A JP2023525159 A JP 2023525159A JP 2022569135 A JP2022569135 A JP 2022569135A JP 2022569135 A JP2022569135 A JP 2022569135A JP 2023525159 A JP2023525159 A JP 2023525159A
- Authority
- JP
- Japan
- Prior art keywords
- function
- univariate
- functions
- encode
- homomorphic
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 230000006870 function Effects 0.000 title claims abstract description 370
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000011156 evaluation Methods 0.000 claims abstract description 75
- 238000004422 calculation algorithm Methods 0.000 claims description 73
- 238000012545 processing Methods 0.000 claims description 18
- 239000000203 mixture Substances 0.000 claims description 13
- 230000010365 information processing Effects 0.000 claims description 9
- 239000000654 additive Substances 0.000 claims description 8
- 230000000996 additive effect Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 2
- 238000000638 solvent extraction Methods 0.000 claims 1
- 230000009466 transformation Effects 0.000 description 21
- 238000000354 decomposition reaction Methods 0.000 description 19
- 239000013598 vector Substances 0.000 description 16
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000005457 optimization Methods 0.000 description 9
- 238000010276 construction Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000000844 transformation Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 239000003643 water by type Substances 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 241000473391 Archosargus rhomboidalis Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000001483 mobilizing effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
- 239000013585 weight reducing agent Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Physics & Mathematics (AREA)
- Algebra (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Complex Calculations (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
本発明は、暗号化データに対する準同型処理をより広範で効率的に実行できるようにするために、暗号化データに対する単変数または多変数の実数値関数の評価を可能にする準同型暗号に基づく暗号方法およびその変形に関する。
Description
本発明は、事前に暗号化されたデータに適用される1つ以上の関数の準同型評価を改善することに関する。この技術分野は、最近の暗号研究に基づいており、機密性の制約が存在するすべての活動分野(これに限らず、プライバシー保護のもの、企業秘密のもの、または医療データのものなど)に多数の用途が含まれる可能性がある。
より詳細には、本発明は、1つ以上の関数の準同型評価に必要な計算を、1つ以上の特別にプログラムされたコンピュータシステムによって自動完了できるようにするための方法に関する。したがって、限られた記憶と計算時間の容量または、クラウドコンピューティング型のリモート処理の場合は、この型の評価を行う必要がある情報処理システムにより知られ得る伝送容量を考慮する必要がある。
以下に説明するように、準同型暗号化方法の開発は、特に、様々な計算段階を実行するために実装されるマシンリソースとサポートされる計算時間に関して、コンピュータの処理容量に関連し、文献によって提案された方式のほとんどに固有の技術的制約によって、これまで大きく妨げられてきた。
完全準同型暗号化方式(完全準同型暗号化、略してFHE)では、任意の参加者が暗号文の集合(平文x1,…,xpに対応)を、この参加者が平文自体にアクセスすることなく、平文の所与の関数f(x1,…,xp)に対応する暗号文に公に変換できる。このような方式を使用して、私生活に準拠したプロトコルを構築できることはよく知られている(プライバシー保護):ユーザは暗号化されたデータをサーバーに記憶し、データ自体をサーバーに公開する必要なく、暗号化されたデータに対する演算を行うことを第三者に許可できる。
第1の完全準同型暗号化方式は、Gentry(2009年の第1の出願に基づいて2014年に米国登録特許第8630422号を取得した)によって2009年にようやく初めて提案された;[Craig Gentry、「Fully homomorphic encryption using ideal lattices」、41st Annual ACM Symposium on Theory of Computing、169-178頁、ACM Press、2009年]も参照されたい。Gentryの構築は現在では使用されていないが、導入された機能の1つである「ブートストラッピング」、特にその実装の1つは、その後提案された方式で広く使用されている。ブートストラッピングは、暗号文のノイズを減らすために使用される技術である:実際、知られているすべてのFHE方式では、暗号文にはセキュリティ上の理由から必要な少量のランダムノイズが含まれている。ノイジーな暗号文に対して演算を実行すると、ノイズが増加する。所与の数の演算を評価した後、このノイズは非常に高くなり、計算結果を危険にさらす可能性がある。したがって、ブートストラッピングは準同型暗号化方式の構築の基本であるが、この技術は使用メモリまたは計算時間の点で非常に高価である。
Gentryの公開に続く研究は、準同型暗号化を実際に実行可能にするために、新しい方式を提供し、ブートストラッピングを改善することを目的としている。最も有名な構築はDGHV[Marten van Dijk、Craig Gentry、Shai Halevi、およびVinod Vaikuntanathan、「Fully homomorphic encryption over the integers」、Advances in Cryptology-EUROCRYPT2010、Lecture Notes in Computer Scienceの第6110巻、24-43頁、Springer、2010年]、BGV[Zvika Brakerski、Craig Gentry、およびVinod Vaikuntanathan、「(Levelled) fully homomorphic encryption without bootstrapping」、ITCS2012;3rd Innovations in Theoretical Computer Science、309-325頁、ACM Press、2012年]、GSW[Craig Gentry、Eds、Amit Sahai、Brent Waters、「Homomorphic encryption from learning with errors:Conceptually simpler, asymptotically faster, Attribute-based」、Advances in Cryptology-CRYPTO2013、パートI、Lecture Notes in Computer Scienceの第8042巻、75-92頁、Springer、2013年]およびその変形である。第1のGentryの方式でのブートストラッピングの実行は実際には実行可能ではなかったが(計算を完了するには1回の寿命では不十分であった)、引き続いて提案された構築は、あまり実用的ではないが(各ブートストラッピングは数分続く)、この演算を実行可能にした。2015年にDucasとMicciancioによって、GSW型の方式で実行される、より高速なブートストラッピングが提案された[Leo DucasとDaniele Micciancio、「FHEW:Bootstrapping homomorphic encryption in less than a second」、Advances in Cryptology-EUROCRYPT2015、パートI、Lecture Notes in Computer Scienceの第9056巻、617-640頁、Springer、2015年]:ブートストラッピング演算は0.5秒強で実行される。2016年、Chillotti、Gama、Georgiava、およびIzabacheneは、TFHEと呼ばれるFHE方式の新しい変形を提案した[IIaria Chillotti、Nicolas Gama、Mariya Georgieva、およびMalika Izabachene、「Faster fully homomorphic encryption:Bootstrapping in less than 0.1 seconds」、Advances in Cryptology-ASIACRYPT2016、パートI、Lecture Notes in Computer Scienceの第10031巻、3-33頁、Springer、2016年]。彼らのブートストラッピング技術は、その後の研究の基礎となっている。Bourseらの研究に言及することができる[Florian Bourse、Micheles Minelli、Matthias MiniholdおよびPascal Paillier、「Fast homomorphic evaluation of deep discretised neural networks」、Advances in Cryptology-CRYPTO2018、パートIII、Lecture Notes in Computer Scienceの第10993巻、483-512頁、Springer、2018年]、Carpovら[Sergiu Carpov、Malika IzabacheneおよびVictor Mollimard、「New techniques for multi-value input homomorphic evaluation and applications」、Topics in Cryptology-CT-RSA2019、Lecture Notes in Computer Scienceの第11405巻、106-126頁、Springer、2019年]、Bouraら[Christina Boura、Nicolas Gama、Mariya Georgieva、およびDimitar Jetchev、「Simulating homomorphic evaluation of deep learning predictions」、Cyber Security Cryptography and Machine Learing(CSCML2019)、Lecture Notes in Computer Scienceの第11527巻、212-230頁、Springer、2019年]およびChillottiら[Ilaria Chillotti、Nicolas Gama、Mariya GeorgievaおよびMalika Izabachene、「TFHE:Fast fully homomorphic encryption over the torus」、Journal of Cryptology、31(1)、34-91頁、2020年]。TFHEの性能は注目に値する。彼らは、この分野の研究の進歩と準同型暗号をより実用化することに貢献してきた。提案された新しい技術により、ブートストラッピングを数ミリ秒で計算できるようになった。
Craig Gentry、「Fully homomorphic encryption using ideal lattices」、41st Annual ACM Symposium on Theory of Computing、169-178頁、ACM Press、2009年
Marten van Dijk、Craig Gentry、Shai Halevi、およびVinod Vaikuntanathan、「Fully homomorphic encryption over the integers」、Advances in Cryptology-EUROCRYPT2010、Lecture Notes in Computer Scienceの第6110巻、24-43頁、Springer、2010年
Zvika Brakerski、Craig Gentry、およびVinod Vaikuntanathan、「(Levelled) fully homomorphic encryption without bootstrapping」、ITCS2012;3rd Innovations in Theoretical Computer Science、309-325頁、ACM Press、2012年
Craig Gentry、Eds、Amit Sahai、およびBrent Waters、「Homomorphic encryption from learning with errors:Conceptually simpler, asymptotically faster, Attribute-based」、Advances in Cryptology-CRYPTO2013、パートI、Lecture Notes in Computer Scienceの第8042巻、75-92頁、Springer、2013年
Leo DucasとDaniele Micciancio、「FHEW:Bootstrapping homomorphic encryption in less than a second」、Advances in Cryptology-EUROCRYPT2015、パートI、Lecture Notes in Computer Scienceの第9056巻、617-640頁、Springer、2015年
IIaria Chillotti、Nicolas Gama、Mariya Georgieva、およびMalika Izabachene、「Faster fully homomorphic encryption:Bootstrapping in less than 0.1 seconds」、Advances in Cryptology-ASIACRYPT2016、パートI、Lecture Notes in Computer Scienceの第10031巻、3-33頁、Springer、2016年
Florian Bourse、Micheles Minelli、Matthias MiniholdおよびPascal Paillier、「Fast homomorphic evaluation of deep discretised neural networks」、Advances in Cryptology-CRYPTO2018、パートIII、Lecture Notes in Computer Scienceの第10993巻、483-512頁、Springer、2018年
Sergiu Carpov、Malika Izabachene、およびVictor Mollimard、「New techniques for multi-value input homomorphic evaluation and applications」、Topics in Cryptology-CT-RSA2019、Lecture Notes in Computer Scienceの第11405巻、106-126頁、Springer、2019年
Christina Boura、Nicolas Gama、Mariya Georgieva、およびDimitar Jetchev、「Simulating homomorphic evaluation of deep learning predictions」、Cyber Security Cryptography and Machine Learing(CSCML2019)、Lecture Notes in Computer Scienceの第11527巻、212-230頁、Springer、2019年
Ilaria Chillotti、Nicolas Gama、Mariya Georgieva、およびMalika Izabachene、「TFHE:Fast fully homomorphic encryption over the torus」、Journal of Cryptology、31(1)、34-91頁、2020年
Arey N. Kolmogorov、「On the representation of continuous functions of dynamic variables by superposition of continuous functions of one variable and addition」、Dokl. Akad. Nauk SSSR、114、953-956頁、1957年
David A. Sprecher、「On the structure of continuous functions of several variables」、Transactions of the American Mathematical Society、115、340-355頁、1965年
Pierre-Emmanuel Leni、Yohan Fougerolle、およびFrederic Truchetet、「Komogorov superposition theory and its application to the decomposition of multivariate functions」、MajecSTIC’08、2008年10月29-31日、Marseille、France、2008年
B. F. LoganとL. A. Shepp、「Optimal reconstruction of a function from its projections」、Duke Mathematical Journal、42(4)、645-659頁、1975年
Allan Pinkus、「Approximating by ridge functions」、A. Le Mehaute、C. Rabut、およびL. L. Schumaker(Eds.)、Surface Fitting and Multiresolution Methods、279-292頁、Vanderbilt University Press、1997年
Jerome H. FriedmanおよびWerner Stuetzle、「Projection pursuit regression」、Journal of the American Statistical Association、76(376)、817-823頁、1981年
D. S. BroomheadとDavid Lowe、「Multivariable functional interpolation and adaptive networks」、Complex Systems、2、321-355頁、1988年
Oded Regev、「On lattices, learning with errors, random linear codes, and cryptography」、37th Annual ACM Symposium on Theory of Computing、84-93頁、ACM Press、2005年
Damien Stehle、Ron Steinfeld、Keisuke Tanaka、およびKeita Xagawa「Efficient public key encryption based on ideal lattices」、Advances in Cryptology-ASIACRYPT2009、Lecture Notes in Computer Scienceの第5912巻、617-635頁、Springer、2009年
Vadim Lyubashevsky、Chris Peikert、およびOded Regev、「On ideal lattices and learning with errors over rings」、Advances in Cryptology-EUROCRYPT2010、Lecture Notes in Computer Scienceの第6110巻、1-23頁、Springer、2010年
Ron Rothblum、「Homomorphic encryption: From private-key to public-key」、Theory of Cryptography (TCC2011)、Lecture Notes in Computer Scienceの第6597巻、219-234頁、Springer、2011年
David A. Sprecher、「A numerical implementation of Kolmogorov’s superpositions」、Neural Networks、9(5)、765-772頁、1996年
David A. Sprecher、「A numerical implementation of Kolmogorov’s superpositions II」、Neural Networks、10(3)、447-457頁、1997年
Juergen BraunおよびMichael Griebel、「On a constructive proof of Kolmogorov’s superposition theorem」、Constructive Approximation、30(3)、653-675頁、2007年
達成した進歩にもかかわらず、暗号文の集合(平文x1,…,xpに対応)を、平文の所与の関数f(x1,…,xp)に対応する暗号文に公に変換することが可能な、知られている計算手順は、いくつかの例に限定されているか、非実用的なままである。実際、現在の主な一般的な手段は、AND、NOT、OR、またはXOR型の論理ゲートで構成されるブール回路の形式でこの関数を表し、次に、関数fの入力(平文)を表すビットの暗号文を入力として、この回路を準同型に評価することにある。ブール回路の複雑さの尺度は、計算結果を取得するために計算する必要がある連続するANDゲートの最大数として定義される、その乗算の深さである。この計算中にノイズを制御し続けるためには、その進行中に規則的にブートストラッピング演算を行う必要がある。上に示したように、最新の技術を使用しても、これらのブートストラッピング演算には複雑な計算が含まれ、乗算の深さが大きいため、計算全体がさらに遅くなる。このアプローチは、バイナリ入力上で演算し、単純なブール回路を有する関数に対してのみ実行可能である。
一般に、評価される関数は、入力として1つ以上の実変数x1,…,xpを取る。実変数の集合で評価されるいくつかの関数f1,…,fqさえあり得る。したがって、暗号文の集合(平文x1,…,xpに対応)を、平文の複数の実数値関数f1,…,fqに対応する暗号文の集合に公に変換する前述の演算を迅速に、過度に大規模な計算手段を動員することなく実行できる方法を見つけることには、大きな技術的および経済的関心がある。実際、2009年にGentryによってなされた理論上の進歩は、この技術的問題に対する効果的な解決策がないため、現在まで実際の具体化は知られていない。本発明が応答を提供するのは、この問題に対するものである。
本願は、暗号文の集合(平文x1,…,xpに対応)を、平文の複数の関数f1,…,fqに対応する暗号文の集合に効果的で公に変換するように特別にプログラムされた少なくとも1つの情報処理システムによってデジタル形式で実行されることを意図した方法のセットについて説明する。この新しい方法は、多変数関数f1,…,fqを、多変数関数の総和と合成を組み合わせた形式に変換する。好ましくは、関数f1,…,fqの変換から得られる中間値が評価で再利用される。最後に、単変数関数のそれぞれは、ブール回路の形式での通常の表現によるではなく、表の形式で表現されることが好ましい。
注目すべきことに、実数で定義され実数値を有する任意の多変数関数がサポートされている。エントリは、基礎となる暗号化アルゴリズムのメッセージのネイティブ空間との互換性を確保するために、事前のエンコードを受ける。復号は、解読後に、考慮されている関数の像に出力で適用することもできる。
本発明が実装する技術は、独立してまたは組み合わせて考慮され、複雑さと必要な計算時間を大幅に削減しながら、暗号化されたデータに適用される複数の関数f1,…,fqの結果の評価を実行できるようになるので、本発明の技術的効果は、重要である。以下に説明するように、この軽量化は、特に事実(i)評価される多変数関数は、いくつかの変数の関数に直接作用するのではなく、単変数関数に変換されること(ii)これらの関数は、個別の評価を実行するのではなく、中間計算の結果を共有するように分解できること、および(iii)結果の単変数関数は、ブール回路ではなく表で表されること、から生じる。
関数fがいくつかの変数x1,…,xpを有するとき、本発明による方法は、関数fを単変数関数の総和と合成の組み合わせとして変換することである。これらの2つの演算、単変数関数の総和と合成、により、アフィン変換または線形結合を表現できることに留意されたい。ニューラルネットワークとの類推により、「単変数関数のネットワーク」という表現は、多変数から単変数への変換が完了したときの表現を指すために使用され、単変数関数の総和と合成を組み合わせ、このネットワークは、複数の暗号化された値で準同型的に評価される。前記変換は、正確または近似であり得る;それにもかかわらず、正確な変換はエラーのない近似変換であることに留意されたい。実際には、こうして得られたネットワークは、同じ機能を実装するブール回路と比較して深さが浅いという特徴を有する。次に、関数fのこの新しい表現を使用して、暗号化された入力E(encode(x1)),…,E(encode(xp))で関数fを評価し、ここで、Eは暗号化アルゴリズムおよびencodeはエンコーディング関数を指し、これにより、型E(encode(zk))の入力から開始して、いくつかの単変数関数gjの型E(encode(gj(zk)))の計算を終了でき、ここで、zkは中間結果である。これらの計算は、暗号化アルゴリズムの準同型の特性を利用する。
単変数関数の同じネットワークを数回再利用するとき、すべての計算段階をやり直す必要がないのは興味深いことである。したがって、本発明によれば、第1のステップは、単変数関数の前記ネットワークを事前計算することにある;その後、後続のステップで暗号化されたデータに対して準同型評価される。
任意の連続多変数関数を単変数関数の総和と合成として書くことができるという事実は、1957年にKolmogorovによって実証された[Arey N. Kolmogorov、「On the representation of continuous functions of dynamic variables by superposition of continuous functions of one variable and addition」、Dokl. Akad. Nauk SSSR、114、953-956頁、1957年]。
この結果は長い間理論的なものに留まっていたが、アルゴリズムバージョンが、特にSprecherによって発見され、Sprecherは、単変数関数を構築するための方法を明示的に記述するアルゴリズムを提案した[David A. Sprecher、「On the structure of continuous functions of several variables」、Transactions of the American Mathematical Society、115、340-355頁、1965年]。その詳細な説明は、例えば以下の記事で見つけることができる[Pierre-Emmanuel Leni、Yohan Fougerolle、およびFrederic Truchetet、「Komogorov superposition theory and its application to the decomposition of multivariate functions」、MajecSTIC’08、2008年10月29-31日、Marseille、France、2008年]。さらに、分解される関数の連続性の仮定は、後者の近似を考慮することによって緩和できることに留意されたい。
別の可能なアプローチは、英語の用語によると、リッジ関数と呼ばれる特定の多変数関数の総和によって多変数関数を近似することにある[B. F. LoganとL. A. Shepp、「Optimal reconstruction of a function from its projections」、Duke Mathematical Journal、42(4)、645-659頁、1975年]。実数値の変数ベクトルx=(x1,…,xp)のリッジ関数は、この変数ベクトルの実数パラメータベクトルa=(a1,…,ap)とのスカラー積に適用される関数である、つまり、型ga(x)=g(a・x)の関数であり、gは単変数である。前述のように、スカラー積または同等の線形結合は、単変数関数の総和と合成の組み合わせの特定のケースであり;リッジ関数の総和の形式での多変数関数の分解は、本発明による多変数から単変数への変換の実施形態を形成する。任意の多変数関数は、リッジ関数の数を増やすことができれば、リッジ関数の総和によって必要なだけ高い精度で近似できることが知られている[Allan Pinkus、「Approximating by ridge functions」、A. Le Mehaute、C. Rabut、およびL. L. Schumaker(Eds.)、Surface Fitting and Multiresolution Methods、279-292頁、Vanderbilt University Press、1997年]。これらの数学的結果は、射影追跡という名前で知られる統計的最適化方法を生み出した[Jerome H. FriedmanおよびWerner Stuetzle、「Projection pursuit regression」、Journal of the American Statistical Association、76(376)、817-823頁、1981年]。
リッジ関数の代わりにga(x)=g(||x-a||)型のいわゆるラジアル関数を使用することも可能であり[D. S. BroomheadとDavid Lowe、「Multivariable functional interpolation and adaptive networks」、Complex Systems、2、321-355頁、1988年]、基本関数の他のファミリを同様の近似品質(収束率)で使用できる。
場合によっては、コルモゴロフの定理またはそのアルゴリズムバージョンの1つ(Sprecherのものなど)を経ずに、またはリッジ関数、ラジアル関数、もしくはそれらの変形を経ずに、正式な分解が可能である。例えば、関数g(z1,z2)=max(z1,z2)(特に、ニューラルネットワークで使用されるいわゆる「最大プーリング」レイヤーとして機能する)は、したがって、次のように分解できる:max(z1,z2)=z2+(z1-z2)+、ここで、
は単変数関数
に対応する。
関数f,…,fqのデータが与えられた場合、これらのそれぞれが単変数関数のネットワークで表され、ついで暗号化されたデータで準同型に評価されることを意図しているとき、この評価は、これらの単変数関数の1つ以上のすべてまたは一部が再利用される場合に最適化された方法で行われ得る。したがって、前記ネットワークの単変数関数の集合で観察される冗長性のそれぞれについて、暗号化された値に対する単変数関数の準同型評価の手順のいくつかは、一度だけ行われる必要がある。この関数準同型評価は通常、オンザフライでなされ、処理速度に大きな負担がかかることを知っているため、中間値を共有すると、大幅な性能利得が生じる。
次の3種類の最適化が考えられる:
同じ関数、同じ引数
単変数関数の数が等しい場合、この最適化は、同じ引数に適用される同じ単変数関数を最大回数繰り返す単変数関数のネットワークを優先することにある。実際、単変数関数とそれが評価される入力が同じ場合はいつでも、この入力に対するこの単変数関数の準同型評価を再計算する必要はない。
単変数関数の数が等しい場合、この最適化は、同じ引数に適用される同じ単変数関数を最大回数繰り返す単変数関数のネットワークを優先することにある。実際、単変数関数とそれが評価される入力が同じ場合はいつでも、この入力に対するこの単変数関数の準同型評価を再計算する必要はない。
異なる関数、同じ引数
この最適化は、同じ入力に対する2つ以上の単変数関数の準同型評価が基本的に単一の準同型評価を犠牲にして行うことができるとき、計算の大部分を共有できる実施形態を適用する。前述のCT-RSA 2019の記事では、多出力バージョンという名前で同様の状況が検討されている。そのような実施形態の例は、セクション「発明を実施するための形態」に示されている。多変数の場合、この状況は、例えば、分解の係数(aik)が固定されているときに、いくつかの多変数関数のリッジ関数またはラジアル関数の総和の形式での分解に現れる。
この最適化は、同じ入力に対する2つ以上の単変数関数の準同型評価が基本的に単一の準同型評価を犠牲にして行うことができるとき、計算の大部分を共有できる実施形態を適用する。前述のCT-RSA 2019の記事では、多出力バージョンという名前で同様の状況が検討されている。そのような実施形態の例は、セクション「発明を実施するための形態」に示されている。多変数の場合、この状況は、例えば、分解の係数(aik)が固定されているときに、いくつかの多変数関数のリッジ関数またはラジアル関数の総和の形式での分解に現れる。
同じ関数、非ゼロの加算定数だけ異なる引数
計算を高速化できるもう1つの状況は、差が知られている引数に対して同じ単変数関数が評価されるときである。これは、例えば、コルモゴロフ型の分解、特にSprecherの近似アルゴリズムバージョンが使用される場合に発生する。この状況では、分解にはいわゆる「内部」単変数関数が含まれ;特に、「発明を実施するための形態」セクションの内部関数Ψへの適用を参照。後者の場合の追加コストは最小限である。
計算を高速化できるもう1つの状況は、差が知られている引数に対して同じ単変数関数が評価されるときである。これは、例えば、コルモゴロフ型の分解、特にSprecherの近似アルゴリズムバージョンが使用される場合に発生する。この状況では、分解にはいわゆる「内部」単変数関数が含まれ;特に、「発明を実施するための形態」セクションの内部関数Ψへの適用を参照。後者の場合の追加コストは最小限である。
これらの最適化は、いくつかの関数f1,…,fqを評価する必要があるときに適用されるが、それらは、評価される関数が1つの場合(q=1)にも適用される。すべての場合において、削減した数の単変数関数を作成するだけでなく、その評価のコストを削減するため、同じ引数に対して異なる関数を優先するか、加算定数だけ異なる引数に対して同じ関数を優先することは興味深いことである。この性質は、単変数関数のネットワークが暗号化された入力で準同型に評価されるときに単変数関数のネットワークに固有のものである。
本発明による評価の対象となる関数が多変数であり、上記の第1のステップを経て形成されているか、または本来の単変数関数を処理することを意図しているかにかかわらず、本発明は、これらの単変数関数の準同型評価を実行することを提供し、有利な変形では、この目的のために表形式の表現を使用する。
単変数関数の準同型評価、またはより一般的には単変数関数の組み合わせの準同型評価は、準同型暗号化方式に基づいている。
2005年にRegevによって導入された[Oded Regev、「On lattices, learning with errors, random linear codes, and cryptography」、37th Annual ACM Symposium on Theory of Computing、84-93頁、ACM Press、2005年]、LWE(Learning With Errorsの略)問題は、多数の代数構造での準同型暗号化方式の構築を可能にする。通常、暗号化方式には、暗号化アルゴリズムEと解読アルゴリズムDが含まれており、c=E(μ)が平文μの暗号化である場合、D(c)は平文μを返す。LWE問題とその変形から派生した暗号化アルゴリズムには、暗号文にノイズを導入するという特殊性がある。これは、暗号化アルゴリズムが定義され、暗号文の解読が最初の平文になる平文の空間を示すために、平文のネイティブ空間と呼ばれ、ノイズを考慮したものである。平文のネイティブ空間としてMを有する暗号化アルゴリズムEの場合、エンコーディング関数encodeは、任意の集合の要素を集合Mまたはその部分集合に持ち込む関数であることを思い出されたい;好ましくは、この関数は単射である。
Chillottiら(ASIACRYPT2016)の前述の記事で詳述されているように、1を法とする実数のトーラス
に適用され、このような方式は次のように定義されている。正の整数nの場合、暗号化キーは{0,1}nのベクトル(s1,…,sn)であり;平文のネイティブ空間は
である。トーラスの要素μのLWE暗号文は、
のベクトルc=(a1,…,an,b)であり、ここで、1≦j≦nに対して、ajは
のランダム要素であり、ここで、
で、eは0を中心とした
上のランダムエラー分布による低ノイズである。暗号文c=(a1,…,an,b)から始めて、キー(s1,…,sn)の知識により、
を
の要素として見つけることができる。トーラスの2つの要素を追加できるが、それらの内積は定義されていないことを思い出されたい。「・」という表記は、トーラスの整数と要素の外部積を表す。
同じ記事で、著者は
に基づく方式についても説明しており、ここで、
と
はそれぞれ多項式環
および
である。厳密に正の整数Nおよびkの場合、暗号化キーは、
で
のベクトル(s1,…,sk)であり、ここで
;平文のネイティブ空間は
である。
最後に、ASIACRYPT2016のこの同じ記事では、RLWE型の暗号文とRGSW型の暗号文(Gentry-Sahai-Watersの略で、「R」はリングを表す)の間の外部積を紹介している。RLWE型の暗号化アルゴリズムがRGSW型の暗号化アルゴリズムを生じさせることを思い出すべきである。前の段落の表記が使用される。整数l≧1に対して、Zは
の(k+1)l行とk+1列の行列を表し、各行は多項式0のRLWE型暗号化である。
示されているように、前述の方式は、いわゆる対称暗号化方式または秘密キー暗号化方式である。これは決して制限ではない、なぜなら、Rothblumが[Ron Rothblum、「Homomorphic encryption: From private-key to public-key」、Theory of Cryptography (TCC2011)、Lecture Notes in Computer Scienceの第6597巻、219-234頁、Springer、2011年]で示すように、任意の加算的準同型の秘密キー暗号化方式は、公開キー暗号化方式に変換できるからである。
上記で思い出したように、ブートストラッピングとは、暗号文に存在する可能性のあるノイズを削減することを可能にする方法を指す。Gentryは彼の前述のSTOC2009創設記事で、それにより紹介された現在「再暗号化」と一般的に呼ばれている技術によるブートストラッピングを実装している。再暗号化は、暗号化された領域で解読アルゴリズムを準同型的に評価することにある。平文領域では、解読アルゴリズムは暗号文Cと秘密キーKを入力として取り、対応する平文xを返す。暗号化された領域では、準同型暗号化アルゴリズムEとエンコーディング関数encodeを使用して、前記解読アルゴリズムの評価は、Cの暗号化の暗号文とKの暗号化の暗号文、E(encode(C))およびE(encode(K))を入力として取り、したがって、アルゴリズムEの暗号化キーの下で、同じ平文の暗号化の新しい暗号文、E(encode(x))を与える。したがって、準同型暗号化アルゴリズムEの出力として暗号文が与えられると仮定しても、再暗号化技術がこの場合に終わることを可能にするため、制限を形成しない。
LWE型の暗号化方式とそれらの変種の準同型の性質により、対応する暗号文上で演算することで平文を演算できる。評価される単変数関数fの定義の領域は、その定義の領域をカバーするいくつかの区間に離散化される。各区間は、値xiと関数f(xi)の対応する値によって表される。したがって、関数fは、(xi,f(xi))の形式の一連のペアによって集計される。これらのペアは、関数の定義の領域内のxの任意の値に対して、f(x)の暗号文、またはxの暗号文から始まる近似値を準同型に計算するために実際に使用される。
本発明では、この準同型計算の中核にあるのは、ブートストラッピングとエンコーディングを組み合わせた新しい一般的な技術である。いくつかの実施形態は、「発明を実施するための形態」セクションに記載されている。
前述のASIACRYPT2016の記事で説明されている準同型アセスメント技術、および前述の後続の研究で紹介されている技術では、任意の定義領域で任意の関数の準同型評価を行うことはできない。まず、第1に、これらは単変数型の関数に厳密に制限されている。先行技術では、多変数の場合における対応は知られていない。さらに、単変数の場合、従来技術は、入力値または評価される関数に関する条件を仮定している。これらの制限の中で、例えば、バイナリ値(ビット)に制限された入力や、評価される関数の必要なネガサイクリックな性質(例えば、トーラスの「sign」関数によって検証される)に留意されたい。これらの特定のケースで終わることを可能にする入力値または出力値の一般的な処理は、任意の実数値を有する関数について従来技術に記載されていない。
逆に、本発明の実装は、出力におけるノイズの制御を可能にしながら(ブースティング)、関数の形式や定義の領域に関係なく、実数のLWE型暗号文である入力に実数値変数をもつ関数の準同型評価を可能にする。
本発明は、少なくとも1つの特別にプログラムされた情報処理システムによって、暗号化されたデータに対して、1つ以上の実数値変数を使用した1つ以上の関数f1,…,fqの評価をデジタル的に実行することを可能にし、各関数は実変数x1,…,xpの中から複数の実変数を入力として取る。
前記関数の少なくとも1つが入力として少なくとも2つの変数を取るとき、本発明による方法は、概略的に3つのステップを含む:
1.前記多変数関数のそれぞれを、単変数実数値関数の総和と合成で構成される単変数関数のネットワークに変換することである、いわゆる事前計算ステップ、
2.前記事前計算された単変数関数ネットワークにおいて、異なる型の冗長性を識別し、それらのすべてまたは一部を選択することである、いわゆる事前選択ステップ、
3.事前選択ステップで選択された冗長性が最適化された方法で評価される、単変数関数の事前計算されたネットワークのそれぞれの、いわゆる準同型評価のステップ。
1.前記多変数関数のそれぞれを、単変数実数値関数の総和と合成で構成される単変数関数のネットワークに変換することである、いわゆる事前計算ステップ、
2.前記事前計算された単変数関数ネットワークにおいて、異なる型の冗長性を識別し、それらのすべてまたは一部を選択することである、いわゆる事前選択ステップ、
3.事前選択ステップで選択された冗長性が最適化された方法で評価される、単変数関数の事前計算されたネットワークのそれぞれの、いわゆる準同型評価のステップ。
第2のステップ(事前選択)に関しては、冗長性のすべてまたは一部の選択は、計算時間の観点での利益であろうと、また中間計算値を記憶するためのメモリリソースなどの可用性の理由であろうと、主に準同型評価のデジタル処理を最適化するという目的によってのみ導かれるわけではない。
「図1」は、第1の2つのステップを、この目的のためにプログラムされたコンピュータシステムによって本発明に従って実装されるように模式的に複製したものである。
したがって、本発明の実施形態の1つにおいて、1つ以上の多変数実数値関数f1,…,fqの評価であって、各関数は、変数x1,…,xpの中から複数の実数値変数を入力として取り、前記関数のうちの少なくとも1つは、少なくとも2つの変数を入力として取り、入力xi、E(encode(xi))のそれぞれの暗号化の暗号文を入力として取り、1≦i≦pであり、それらのそれぞれの入力に適用されたf1,…,fqの暗号化の複数の暗号文を返し、Eは準同型暗号化アルゴリズムであり、encodeは、Eの平文のネイティブ空間の要素を実数xiのそれぞれに関連付けるエンコーディング関数である、1つ以上の多変数実数値関数f1,…,fqの評価は:
1.前記多変数関数のそれぞれを、単変数実数値関数の総和と合成で構成される単変数関数のネットワークに変換することである事前計算ステップ、
2.事前計算された単変数関数の前記ネットワークにおいて、3つの型
a.同じ引数に適用される同じ単変数関数、
b.同じ引数に適用される異なる単変数関数、
c.非ゼロの加算定数だけ異なる引数に適用される同じ単変数関数、
のうちの1つの冗長性を識別し、その全部または一部を選択することである事前選択ステップ、
3.事前選択ステップで選択された冗長性が最適化された方法で評価される、単変数関数の事前計算されたネットワークのそれぞれの準同型評価のステップ
という特徴があり得る。
1.前記多変数関数のそれぞれを、単変数実数値関数の総和と合成で構成される単変数関数のネットワークに変換することである事前計算ステップ、
2.事前計算された単変数関数の前記ネットワークにおいて、3つの型
a.同じ引数に適用される同じ単変数関数、
b.同じ引数に適用される異なる単変数関数、
c.非ゼロの加算定数だけ異なる引数に適用される同じ単変数関数、
のうちの1つの冗長性を識別し、その全部または一部を選択することである事前選択ステップ、
3.事前選択ステップで選択された冗長性が最適化された方法で評価される、単変数関数の事前計算されたネットワークのそれぞれの準同型評価のステップ
という特徴があり得る。
事前計算ステップに関しては、コルモゴロフの重ね合わせ定理の明示的なバージョンにより、次元pの恒等超立方体Ip=[0,1]pに定義された、任意の連続関数
は、単変数連続関数の総和と合成として書くことができることを確認できる:
と
ここで、変数の所与の数pで、λiとaは定数であり、Ψは連続関数である。言い換えると
例として、「図2」はp=2のケースを示している。
関数Ψとξはいわゆる「内部」関数であり、所与のアリティのfとは独立である。関数Ψは、Ipの実数ベクトル(x1,…,xp)の任意の成分xiに[0,1]の値を関連付ける。関数ξにより、各ベクトル(x1,…,xp)∈Ipに、区間[0,1]の数値
を関連付けることができ、次に、関数gkへの引数として機能し、総和によって関数fを再構築する。コルモゴロフの定理におけるfの領域を超立方体Ipに制限することは、科学文献では通常、説明を簡単にするために行われていることに留意されたい。しかし、この定理は次元pを有する任意の平行六面体に相等性によって自然に拡張されることは明らかである。
Sprecherは、それぞれ[David A. Sprecher、「A numerical implementation of Kolmogorov’s superpositions」、Neural Networks、9(5)、765-772頁、1996年]および[David A. Sprecher、「A numerical implementation of Kolmogorov’s superpositions II」、Neural Networks、10(3)、447-457頁、1997年]で内部関数と外部関数を決定するためのアルゴリズムを提案した。
ξを構築するためにSprecherによって最初に定義された関数Ψの代わりに(一部の入力値では不連続である)、[Jurgen BraunおよびMichael Griebel、「On a constructive proof of Kolmogorov’s superposition theorem」、Constructive Approximation、30(3)、653-675頁、2007年]で定義されている関数Ψを使用することができる。
内部関数Ψとξが固定されると、外部関数gk(関数fに依存)を決定することが残っている。この目的のために、Sprecherは、総和が外部関数gkに向かって収束するr関数
の構築-各k、0≦k≦2pに対して-を提案する。r番目のステップの終わりに、fの近似の結果は次の形式:
で与えられ、ここで、KはK≧2pとなるようなパラメータである。したがって、このアルゴリズムは、コルモゴロフ分解定理の結果に対する近似結果を提供する。実際、rを非常に大きくし、
と仮定すると、関数fの次の近似表現が得られる:
、またはまだ
。
したがって、本発明の実施形態の1つにおいて、事前計算段階は、f1,…,fqの中からの少なくとも1つの関数fjについて、事前計算ステップの変換は、
で、t≦pおよびj1,…,jt∈{1,…,p}である形態で近似変換であり、ここで、Ψは実数で定義され実数値を有する単変数関数であり、
は実定数であり、ここで、gkは、実数で定義され実数値を有する単変数関数であり、前記関数gkは、所与のパラメータKに対してfjに応じて決定されることに特徴がある。
多変数関数f(x1,…,xp)を分解するための別の技術は、変換
に従って、いわゆるリッジ関数の総和で近似することにあり、ここで、係数ai,kは実数であり、gkは実数で定義された実数値を有する単変数関数であり、前記関数gkおよび前記係数ai,kは、所与のパラメータKに対して、fjに応じて決定される。
それで、分解は、一般的なケースでは近似であり、最良の近似、または十分な品質の近似を識別することを目的としている。この近似は、射影追跡として統計的最適化に特化した文献に現れる。前述のように、注目すべき結果は、任意の関数fをこの方法で任意の高精度で近似できることである。しかし、実際には、fは正確な分解を許すことが一般的であり、つまり、その入力のすべてまたは一部についてリッジ関数の総和の形式で解析的に表現される。
関数fjが、t≦pで{x1,…,xp}のt個の変数の部分集合を入力として取るとき、これらの変数がj1,…,jt∈{1,…,p}で
と示されている場合、前のリッジ分解が
と書かれ、
およびak=(a1,k,…,at,k)を用いており、関数gkおよび係数ai,kは所与のパラメータKに対するfjに応じて決定される。
したがって、本発明の実施形態の1つでは、事前計算段階を、f1,…,fqの中からの少なくとも1つの関数fjについて、事前計算ステップの変換は
の形式で近似変換であり、t≦pおよびj1,…,jt∈{1,…,p}であり、ここで、係数ai,kは実数であり、ここで、gkは実数で定義された単変数関数であり、実数値を有し、前記関数gkおよび前記係数ai,kは、所与のパラメータKに対して、fjに応じて決定されることで特徴付けることができる。
同じ統計最適化ツールを使用した同様の分解技術は、リッジ関数ではなく、
に従うラジアル関数を使用して適用され、x=(x1,…,xp),ak=(a1,k,…,ap,k)を用いており、ここで、ベクトルakは係数ai,kとして実数を有し、ここで、gkは実数で定義された単変数関数であり、実数値を有し、前記関数gkおよび前記係数ai,kは、所与のパラメータKおよび所与のノルム||・||に対して、fに応じて決定される。通常、ユークリッドノルムが使用される。
関数fjが入力として、t≦pで{x1,…,xp}のt個の変数の部分集合を取るとき、j1,…,jt∈{1,…,p}を用いてこれらの変数を
と表す場合、前の分解が、
と書かれ、
およびak=(a1,k,…,at,k)を用いており、関数gkおよび係数ai,kは所与のパラメータKに対するfjに応じて決定される。
したがって、本発明の実施形態の1つでは、事前計算段階を、f1、…、fqの中から少なくとも1つの関数fjについて、事前計算ステップの変換は、
の形式の近似変換であり、
、ak=(a1,k,…,at,k),t≦pおよびj1,…,jt∈{1,…,p}であり、ここで、ベクトルakは係数ai,kとして実数を有し、ここで、gkは、実数で定義された単変数関数であり、実数値を有し、前記関数gkおよび前記係数ai,kは、所与のパラメータKおよび所与のノルム||・||に対して、fjに応じて決定されることで特徴付けることができる。
前述のPinkusの記事で示されているように、関数の分解の別の重要なクラスは、係数ai,kが固定されているとき、関数gkは変数である。このクラスは、リッジ関数の形式とラジアル関数の形式の両方の分解に適用される。この問題を解決する方法として:フォンノイマンアルゴリズム、巡回座標アルゴリズム、シュヴァルツ領域分解法、ディリベルトストラウスアルゴリズムの名で、およびトモグラフィーに専門の文献に見られる変形など、いくつかの方法が知られており;これと同じPinkusの記事とその中の参考文献を参照。
したがって、本発明の特定の実施形態の1つでは、この事前計算段階は、係数ai,kが固定されていることをさらに特徴とする。
場合によっては、事前計算ステップの変換は、多変数関数の等価形式表現によって正確に行われ得る。
g多変数関数を考える。この関数gがz1とz2の最大値、g(z1,z2)=max(z1,z2)を計算する場合、形式的等価max(z1,z2)=z2+(z1-z2)+を使用でき、ここで
は単変数関数
に対応する。この形式的等価を使用すると、関数max(z1,z2)の他の形式的等価を簡単に取得できる。例として、(z1-z2)+を
と同等の方法で表現できるため、形式的等価max(z1,z2)=(z1+z2+|z1-z2|)/2が得られ、ここで
は単変数関数「絶対値」であり、ここで
は単変数関数「2による除算」である。
一般に、3つ以上の変数z1,…,zmの場合、1≦i≦m-1を満たす任意のiに対して、max(z1,…,zi,zi+1,…,zm)=max(max(z1,…,zi),max(zi+1,…,zm))とすると、max(z1,…,zm)は、したがって総和と関数|・|(絶対値)または(・)+の組み合わせとして繰り返し取得される。
したがって、本発明の実施形態の1つでは、事前計算段階を、この事前計算ステップの変換では、形式的等価max(z1,z2)=z2+(z1-z2)+を使用し、関数
を、単変数関数の総和と合成の組み合わせとして表現することで特徴付けることができる。
本発明の特定の実施形態では、この事前計算段階は、多変数関数が3つ以上の変数を含むとき、前記関数について、2つの変数に対する形式的等価の反復から形式的等価が得られることをさらに特徴とする。
同様に、「最小」関数g(z1,z2)=min(z1,z2)の場合、形式的等価min(z1,z2)=z2+(z1-z2)-を使用でき、ここで
またはmin(z1,z2)=(z1+z2-|z1-z2|)/2であり、これは
であるためであり、反復することにより、通常、min(z1,…,zi,zi+1,…,zm)=min(min(z1,…,zi),min(zi+1,…,zm))を観察することによってm-変数関数min(z1,…,zm)を総和と単変数関数の組み合わせとして形式的に分解できる。
したがって、本発明の実施形態の1つでは、事前計算段階は、この事前計算ステップの変換では、形式的等価min(z1,z2)=z2+(z1-z2)-を使用し、関数
を、単変数関数の総和と合成の組み合わせとして表現することで特徴付けられ得る。
本発明の特定の実施形態では、この事前計算段階は、前記関数について、後者が3つ以上の変数を含むとき、2つの変数に対する形式的等価の反復から形式的等価が得られることをさらに特徴とする。
単変数関数の総和と合成の組み合わせに簡単に形式的に分解できるもう1つの非常に便利な多変数関数は、乗算である。第1の実施形態は、g(z1,z2)=z1×z2に対して、形式的等価z1×z2=(z1+z2)2/4-(z1-z2)2/4を使用することであり、単変数関数
を含む。もちろん、形式的等価を使用すると、他の形式的等価が得られる。したがって、例として、z1×z2=(z1+z2)2/4-(z1-z2)2/4を使用して、z1×z2=(z1+z2)2/4-(z1-z2)2/4+(z1+z2)2/4-(z1+z2)2/4=(z1+z2)2/2-(z1-z2)2/4-(z1+z2)2/4=(z1+z2)2/2-z1
2/2-z2
2/2が推定される;すなわち、形式的等価z1×z2=(z1+z2)2/2-z1
2/2-z2
2/2であり、単変数関数
を含む。
したがって、本発明の実施形態の1つでは、事前計算段階は、この事前計算ステップの変換が形式的等価z1×z2=(z1+z2)2/4-(z1-z2)2/4を使用して、関数
を単変数関数の総和と合成の組み合わせとして表現することで特徴付けられ得る。
これらの実施形態は、1≦i≦m-1でz1×…×zi×zi+1×…×zm=(z1×…×zi)×(zi+1×…×zm)を観察することによってm≧3に対して、m-変数関数に一般化される。
本発明の特定の実施形態では、この事前計算段階は、前記関数について、後者が3つ以上の変数を含むとき、2つの変数に対する形式的等価の反復から形式的等価が得られることをさらに特徴とする。
第2の実施形態は、単変数関数
および
を含むg(z1,z2)=|z1×z2|=|z1|×|z2|を|z1×z2|=exp(ln|z1|+ln|z2|)として分解することであり;または、任意の基数Bに対して、
などであり、なぜなら
であるからであり、ここで、e=exp(1)であり、単変数関数
および
を含む。ここでもやはり、これらの実施形態は、1≦i≦m-1でz1×…×zi×zi+1×…×zm|=|z1×…×zi|×|zi+1×…×zm|を観察している間に、m≧3に対して、m-変数関数に一般化される。
したがって、本発明の実施形態の1つでは、事前計算段階は、この事前計算ステップの変換が、形式的等価|z1×z2|=exp(ln|z1|+ln|z2|)を使用し、単変数関数の総和と合成の組み合わせとして関数
を表すことで特徴付けられ得る。
本発明の特定の実施形態では、この事前計算段階は、前記関数について、後者が3つ以上の変数を含むとき、2つの変数に対する形式的等価の反復から形式的等価が得られることをさらに特徴とする。
前述のように、入力として与えられた多変数関数は、多変数関数のネットワークに変換される。そのようなネットワークは、変換が正確な場合でも、必ずしも一意であるとは限らない。
例として、上記のように、多変数関数max(x1,x2)、つまり、max(x1,x2)=x2+(x1-x2)+およびmax(x1,x2)=(x1+x2+|x1-x2|)/2の少なくとも2つの分解を見てきた。具体的には、これらの変換のそれぞれは、次のように詳細に進行し得る。
1.max(x1,x2)=x2+(x1-x2)+
z1=x1-x2と仮定し、g1(z)=z+を定義する。
max(x1,x2)=x2+g1(z1)と書く。
z1=x1-x2と仮定し、g1(z)=z+を定義する。
max(x1,x2)=x2+g1(z1)と書く。
2.max(x1,x2)=(x1+x2+|x1-x2|)/2
z1=x1-x2およびz2=x1+x2と仮定する。
g1(z)=|z|およびg2(z)=z/2を定義する。
z3=z2+g1(z1)でmax(x1,x2)=g2(z3)と書く。
z1=x1-x2およびz2=x1+x2と仮定する。
g1(z)=|z|およびg2(z)=z/2を定義する。
z3=z2+g1(z1)でmax(x1,x2)=g2(z3)と書く。
一般に、単変数関数のネットワークでは2種類の演算が観察される:単変数関数の総和と評価である。ネットワークの評価が暗号化された値に対して準同型で行われる場合、最もコストのかかる演算は単変数関数の評価であり、これは通常、ブートストラッピングステップが生じるためである。したがって、これらの単変数関数の評価演算を最小化する単変数関数のネットワークを作成することは興味深いことである。
したがって、前の例では、「最大」関数の第1の変換[max(x1,x2)=x2+(x1-x2)+]は、1つの単変数関数の評価、つまり関数g1(z)=z+の評価のみが必要なため、より有利なようであることがわかる。実際には、第2の変換の第2の単変数関数は実際に評価される必要がないため、違いは目立たず;必要なのは2max(x1,x2)=x1+x2+|x1-x2|を返すこと、または、この因子を出力の復号関数に統合することである。一般に、定数による乗算である単変数関数は、(i)開始関数の倍数を計算することによって、または(ii)これらの関数が別の単変数関数の入力にある場合、合成によって定数を「吸収」することによって、無視することができる。例えば、多変数関数sin(max(x1,x2))は次のように書ける。
1.sin(max(x1,x2))=sin(x2+(x1-x2)+)
z1=x1-x2と仮定し、g1(z)=z+を定義する。
g2(z)=sin(z)を定義する。
z1=x1-x2と仮定し、g1(z)=z+を定義する。
g2(z)=sin(z)を定義する。
2.z2=x2+g1(z1)でsin(max(x1,x2))=g2(z2)を書く。
sin(max(x1,x2))=sin((x1+x2+|x1-x2|)/2)
z1=x1-x2およびz2=x1+x2と仮定する。
g1(z)=|z|およびg2(z)=sin(z/2)を定義する。
sin(max(x1,x2))=sin((x1+x2+|x1-x2|)/2)
z1=x1-x2およびz2=x1+x2と仮定する。
g1(z)=|z|およびg2(z)=sin(z/2)を定義する。
型g(z)=z+a(定数aの加算)または型g(z)=az(定数aによる乗算)の単変数関数とは別に、他の状況では単変数関数の評価が高速になり得る。
3種類の最適化が考慮される:
1)同じ関数、同じ引数:
gk=gk’および
(型1)。この最適化は明らかである。これは、以前の計算の結果を再利用することにある。したがって、
が既に評価され、
であるようなk’<kがある場合、
の値を再計算してはならない。
gk=gk’および
2)異なる関数、同じ引数:
gk≠gk’ および
(型2)。場合によっては、同じ引数に対する2つ以上の単変数関数の準同型評価のコストが、これらの関数を個別に考慮したコストの総和よりも小さくなり得る。通常、単一のブートストラッピングステップが必要である。この場合、型
の単変数関数を同数含む単変数関数の2つのネットワーク間で、多重度の許容範囲内で、最大の引数を共有するネットワークを優先することが有利である。
gk≠gk’ および
例は、この状況を非常によく示している。多変数関数f(x1,x2)=max(x1,x2)+|x1×x2|の準同型評価を考える。ネットワークの2つの可能な実施形態は、
a.max(x1,x2)+|x1×x2|=x2+(x1-x2)++exp(ln|x1|+ln|x2|)
z1=x1-x2と仮定し、g1(z)=z+を定義する
g2(z)=ln|z|およびg3(z)=exp(z)を定義する
z2=g2(x1)+g2(x2)を用いて、max(x1,x2)+|x1×x2|=x2+g1(z1)+g3(z2)を書く
b.max(x1,x2)+|x1×x2|=x2+(x1-x2)++|(x1+x2)2/4-(x1-x2)2/4|
z1=x1-x2と仮定し、g1(z)=z+を定義する
z2=x1+x2と仮定し、g2(z)=z2/4およびg3(z)=|z|を定義する
z3=g2(z2)-g2(z1)を用いて、max(x1,x2)+|x1×x2|=x2+g1(z1)+g3(z3)を書く。
a.max(x1,x2)+|x1×x2|=x2+(x1-x2)++exp(ln|x1|+ln|x2|)
z1=x1-x2と仮定し、g1(z)=z+を定義する
g2(z)=ln|z|およびg3(z)=exp(z)を定義する
z2=g2(x1)+g2(x2)を用いて、max(x1,x2)+|x1×x2|=x2+g1(z1)+g3(z2)を書く
b.max(x1,x2)+|x1×x2|=x2+(x1-x2)++|(x1+x2)2/4-(x1-x2)2/4|
z1=x1-x2と仮定し、g1(z)=z+を定義する
z2=x1+x2と仮定し、g2(z)=z2/4およびg3(z)=|z|を定義する
z3=g2(z2)-g2(z1)を用いて、max(x1,x2)+|x1×x2|=x2+g1(z1)+g3(z3)を書く。
上記の2つの実施形態は、4つの単変数関数評価を含む。しかし、第2の実施形態には同じ引数に2つの単変数関数が含まれており、つまりg1(z1)とg2(z1)が優先される。
同じ引数に対する単変数関数の共有は、同等の形式表現によって行われる変換に限定されない。これはデジタル変換にも当てはまる。
の平行六面体で定義された関数は、単変数関数のネットワークに変換できることを思い出されたい。特に、p個の変数x1,…,xpを有する関数fの場合、Sprecherのアルゴリズムにより、次の形式を有する関数fの近似を取得できる:
を用いて、
。
この構築では、いわゆる「内部」関数Ψおよびξは、定義の所与の領域について、fに依存しない。したがって、同じ領域で定義されたいくつかの多変数関数f1,…,fqが準同型評価された場合、関数Ψおよびξの準同型評価は、それらが同じ入力に適用されるときに再計算する必要はない。この状況は、例えば、分解の係数(aik)が固定されているときに、リッジ関数またはラジアル関数を使用したいくつかの多変数関数の分解にも現れる。
3)同じ関数、加算定数によって異なる引数:
知られている定数ak≠0に対して、gk=gk’および
(型3)。計算の高速化を可能にする別の状況は、同じ単変数関数が加算定数だけ異なる引数に適用されるときである。
知られている定数ak≠0に対して、gk=gk’および
例えば、依然として、Sprecherの構築では、上記のfの準同型評価には、定数値だけ加算的に異なる変数、つまり1≦i≦pでkaが知られている場合のxi+kaに関する同じ単変数関数Ψのいくつかの準同型評価が含まれる。この場合、1≦k≦Kに対するΨ(xi+ka)の暗号化の値は、Ψ(xi)の暗号化から効率的に取得でき、一実施形態を以下に詳述する。
正式には、それらのそれぞれの引数、
を有するすべての単変数関数で、事前計算ステップでのf1,…,fqの変換の結果、要素
が3つの条件のいずれかを満たすことを「冗長性」と呼ぶ。インデックスk’<kに対して、
1.gk=gk’および
2.gk≠gk’および
3.知られている定数ak≠0に対して、gk=gk’および
。
1.gk=gk’および
「図3」に示すように、定義Dの領域で任意の精度を有し、像Iで実数値を有する任意の実数値変数の単変数関数fの場合、
、本発明による方法は、EおよびE’で示される2つの準同型暗号化アルゴリズムを使用する。その平文のネイティブ空間は、それぞれMとM’で示される。方法は、関数fが評価される入力のいわゆる実際の精度を定量化する整数N≧1によってパラメータ化される。実際、関数fの定義Dの領域の入力は任意の精度を有することができるが、これらは最大でN個の選択された値によって内部的に表される。これは、関数fが最大N個の可能な値で表されるという直接的な結果をもたらす。この方法は、エンコーディング関数encodeおよびencode’によってもパラメータ化され、encodeは、入力としてDの要素を取り、それにMの要素を関連付け、encode’は、入力としてIの要素を取り、それにM’の要素を関連付ける。この方法は、いわゆる離散化関数discretiseによってパラメータ化され、この関数は、入力としてMの要素を取り、それに整数を関連付ける。エンコーディングencodeと離散化discretise関数は、エンコーディングencodeとそれに続く離散化discretise
、またはS={0,…N-1}の中から取得した最大N個のインデックスの集合による領域Dの像のようになる。最後に、方法は、平文のネイティブ空間の暗号化アルゴリズムEHを有する準同型暗号化方法により、パラメータ化され、MHは少なくともNのカーディナリティ、ならびに、整数を入力として取り、MHの要素を返すエンコーディング関数encodeHを有する。この場合、方法は以下のステップを含む:
・ 前記関数fの離散化と、この離散化された関数fに対応する表Tの構築が実行される事前計算ステップ。
詳細な方法では、関数の定義の領域DはN個の部分区間R0、…、RN-1に分解され、その和集合はDに等しくなる。各インデックスi∈{0,…,N-1}に対して、代表的なx(i)∈Riが選択され、y(i)=f(x(i))が計算される。N個の成分T[0],…,T[N-1]で構成される表Tが返される。0≦i≦N-1の場合、T[i]=y(i)となる。
・ 表のいわゆる準同型評価のステップで、実数値x∈Dの場合、xの暗号化の暗号文、E(encode(x))が与えられ、関数encodeはxをMの要素としてエンコードし、暗号文E(encode(x))は、x∈Riに対して、集合{0,…,N-1}内の
を用いたインデックスiを期待値として有する整数
の暗号文
に変換される。暗号文
から、および表Tから開始して、暗号文
は、要素
に対して得られ、期待値として
を有し、
であり、
である。暗号文
は、f(x)の近似値を暗号化した暗号文として返される。
・ 前記関数fの離散化と、この離散化された関数fに対応する表Tの構築が実行される事前計算ステップ。
詳細な方法では、関数の定義の領域DはN個の部分区間R0、…、RN-1に分解され、その和集合はDに等しくなる。各インデックスi∈{0,…,N-1}に対して、代表的なx(i)∈Riが選択され、y(i)=f(x(i))が計算される。N個の成分T[0],…,T[N-1]で構成される表Tが返される。0≦i≦N-1の場合、T[i]=y(i)となる。
・ 表のいわゆる準同型評価のステップで、実数値x∈Dの場合、xの暗号化の暗号文、E(encode(x))が与えられ、関数encodeはxをMの要素としてエンコードし、暗号文E(encode(x))は、x∈Riに対して、集合{0,…,N-1}内の
したがって、その実施形態の1つにおいて、本発明は、特別にプログラムされた情報処理システムによってデジタル的に行われる、定義Dの領域で任意の精度を有し、像Iで実数値を有する実数値変数xの単変数関数fの近似準同型評価をカバーし、入力としてxの暗号化の暗号文、E(encode(x))を取り、f(x)の近似値の暗号化暗号文、E’(encode’(y))を返し、y≒f(x)であり、EとE’は準同型暗号化アルゴリズムで、その平文のそれぞれのネイティブ空間はMとM’であり、その評価は:
・ 評価される関数fの入力における変数の表現の実際の精度を定量化する整数N≧1、
・ 領域Dの要素を入力として取り、それにMの要素を関連付けるエンコーディング関数encode、
・ 像Iの要素を入力として取り、それにM’の要素を関連付けるエンコーディング関数encode’、
・ Mの要素を入力として取り、それに整数で表されるインデックスを関連付ける離散化関数discretise、
・ 暗号化アルゴリズムEHを有し、その平文のネイティブ空間MHは少なくともNのカーディナリティを有する準同型暗号化方式、
・ 整数を入力として取り、MHの要素を返すエンコーディング関数encodeH
によってパラメータ化され、その結果、領域Dの像は、エンコーディングencodeとそれに続く離散化discretise、
、により、S={0,…,N-1}から選択された最大N個のインデックスの集合である。
・ 評価される関数fの入力における変数の表現の実際の精度を定量化する整数N≧1、
・ 領域Dの要素を入力として取り、それにMの要素を関連付けるエンコーディング関数encode、
・ 像Iの要素を入力として取り、それにM’の要素を関連付けるエンコーディング関数encode’、
・ Mの要素を入力として取り、それに整数で表されるインデックスを関連付ける離散化関数discretise、
・ 暗号化アルゴリズムEHを有し、その平文のネイティブ空間MHは少なくともNのカーディナリティを有する準同型暗号化方式、
・ 整数を入力として取り、MHの要素を返すエンコーディング関数encodeH
によってパラメータ化され、その結果、領域Dの像は、エンコーディングencodeとそれに続く離散化discretise、
これらのパラメータを使用して、単変数関数fの前記近似準同型評価には、特別にプログラムされた情報処理コンピュータシステムによる次の2つの連続するステップの実装が必要である:
1.前記単変数関数fに対応する表を事前計算するステップであって、
a.領域DをN個の選択された部分区間R0,…,RN-1に分解することであって、その和集合はDである、こと、
b.S={0,…,N-1}内の各インデックスiに対して、部分区間Riの代表的なx(i)を決定し、値y(i)=f(x(i))を計算すること、
c.0≦i≦N-1に対してT[i]=y(i))であり、N個の成分T[0],…,T[N-1]で構成される表Tを返すこと
であるステップ。
a.領域DをN個の選択された部分区間R0,…,RN-1に分解することであって、その和集合はDである、こと、
b.S={0,…,N-1}内の各インデックスiに対して、部分区間Riの代表的なx(i)を決定し、値y(i)=f(x(i))を計算すること、
c.0≦i≦N-1に対してT[i]=y(i))であり、N個の成分T[0],…,T[N-1]で構成される表Tを返すこと
であるステップ。
2.表の準同型評価のステップであって、
a.x∈Riに対して、集合S={0,…,N-1}内のインデックス
を期待値として有する整数
について、暗号文E(encode(x))を暗号文
に変換すること、
b.期待値として
を有する要素
に対して、暗号文
を取得し、暗号文
から、および表Tから開始すること、
c.
を返すこと
であるステップ。
a.x∈Riに対して、集合S={0,…,N-1}内のインデックス
b.期待値として
c.
であるステップ。
評価される関数fの定義Dの領域が実数区間[xmin,xmax)のとき、DをカバーするN個の部分区間Ri(0≦i≦N-1に対して)を以下の半開区間として選択でき、
Dを規則的に分割する。区間Riの代表的なx:=x(i)にはいくつかの選択肢が可能である。例えば、各区間の中点を考慮することができ、これは
で与えられる(0≦i≦N-1である)。もう1つの選択肢は、f(x(i))が区間Riにわたるf(x)の平均値に近づくように、そうでなければ、各0≦i≦N-1の区間Riにわたるxの所与の事前分布によって重み付けされた平均、または中央値に近づくように、Riの値をx(i)に対して選択することである。
したがって、本発明の実施形態の1つでは、単変数関数fの近似準同型評価は
・ 評価される関数fの定義の領域は、実数区間D=[xmin,xmax)で与えられる
・ 領域DをカバーするN個の区間Ri(0≦i≦N-1に対して)は、半開部分区間
であり、規則的な方法でDを分割する
という点で特徴付けられる。
・ 評価される関数fの定義の領域は、実数区間D=[xmin,xmax)で与えられる
・ 領域DをカバーするN個の区間Ri(0≦i≦N-1に対して)は、半開部分区間
という点で特徴付けられる。
エンコーディング関数encodeHのアルゴリズムEHの選択は、E(encode(x))を
に変換する際に支配的な役割を果たす。x∈Dに対して、S={0,…,N-1}で
を得ることを思い出されたい。重要なケースは、Sの要素が、必ずしも部分群ではなく、加法群の部分集合の要素と見なされる場合である。この加法群は、整数M≧Nに対して
(Mを法とする加算で提供される整数{0,…,M-1}の集合)で示される。
群
を表す方法はいくつかある。したがって、前述のEUROCRYPT2015の記事のDucasとMiccipanioは、
の要素を変数Xの指数として表し;
の要素iには要素Xiが関連付けられ、任意の0<j<Mに対して、XM=X0=1およびXj≠1である。Xは単位のM乗の原始根と言われている。この表現により、加算表記から乗算表記への切り替えが可能になる;すべての要素
に対して、要素i+j(mod M)が次の要素に関連付けられる。
Xi+j=Xi・Xj(mod(XM-1))。
Xi+j=Xi・Xj(mod(XM-1))。
モジュロ乗算演算(XM-1)は、加法群
と単位のM乗根の集合{1,X,…,XM-1}との間に群同型を誘導する。Mが偶数のとき、関係XM=1はXM/2=-1を意味する。それで、
に対してXi+j=Xi・Xj(mod(XM/2+1))を得、単位のM乗根の集合は{±1,±X,…,±X(M/2)-1}である。
したがって、本発明の実施形態の1つにおいて、単変数関数fの近似準同型評価は、群
が、Xで表される単位の原始M乗根の累乗として乗算的に表されることをさらに特徴とし、その結果、
の要素iに要素Xiが関連付けられるようにし、単位のM乗根のすべて{1,X,…,XM-1}で、(XM-1)を法とする乗算について
と同型群を形成する。
準同型暗号化アルゴリズムEがトーラス
に適用されるLWE型の暗号化アルゴリズムで与えられる場合、
を得、
の値を有するエンコーディング関数encodeに対してx∈Dを用いてμ=encode(x)と表す場合、E(encode(x))=(a1,…,an,b)を得、
(1≦j≦nに対して)および
で、eは
上の小さなランダムノイズである。
したがって、本発明の実施形態の1つにおいて、単変数関数fの近似準同型評価は、準同型暗号化アルゴリズムEは、トーラス
に適用されるLWE型の暗号化アルゴリズムで与えられ、平文のネイティブ空間として
を有することをさらに特徴とする。
次に、離散化関数discretiseは、トーラスの要素tに、Mを法とする積M×tの整数丸めを関連付ける関数として、整数M≧Nに対してパラメータ化され、ここで、M×tは
で計算され;数学的な形
,
で書かれる。
この離散化関数は、トーラスのベクトルに自然に拡張される。
のベクトルc=(a1,…,an,b)に適用すると、
で与えられる
のベクトル
が得られ、
(1≦j≦nに対して)および
である。より詳細な方法で、
と
を定義すると、
を得、符号付き整数Δは丸めエラーを捕捉し、「ドリフト」と呼ばれる。ドリフトの期待値はゼロである。さらに、|e|<1/(2M)の場合、
である。
したがって、本発明の実施形態の1つでは、単変数関数fの近似準同型評価は、
・ エンコーディング関数encodeはトーラスの部分区間
に含まれる像を有し、
・ 離散化関数discretiseは、トーラスの要素tをMを法とする積M×tの整数丸めに適用し、ここで、M×tは
で計算され;数学的な形式では、
,
である
ことでさらに特徴付けられる。
・ エンコーディング関数encodeはトーラスの部分区間
・ 離散化関数discretiseは、トーラスの要素tをMを法とする積M×tの整数丸めに適用し、ここで、M×tは
ことでさらに特徴付けられる。
評価される関数fの定義の領域が実数区間D=[xmin,xmax)であり、平文Mのネイティブ空間がトーラス
であるとき、エンコーディング関数encodeの可能な選択肢は
であることに留意されたい。それで、x∈Dに対して
を得;
であることに留意されたい。
したがって、本発明の実施形態の1つにおいて、単変数関数fの近似準同型評価は、関数fの定義の領域が実数区間D=[xmin,xmax)であるとき、エンコーディング関数encodeは
であることをさらに特徴とする。
構築
は、E(encode(x))から
への変換の第1の実施形態を生じさせる。集合Sの要素が
の整数として直接見られると仮定する。エンコーディング関数encodeHとして、恒等関数、
を考える。前の表記法を用いて、
と、
を用いて、トーラス上のそのLWE暗号文c=(a1,…,an,b)を表すと、
は
として定義され、1≦j≦nに対して、
および
を用いている。
に留意されたい。この場合、EHは環
上のLWE型の暗号化アルゴリズムであることが観察され;暗号キーは(s1,…,sn)∈{0,1}nである。
したがって、本発明の実施形態の1つにおいて、単変数関数fの近似準同型評価は、準同型暗号化アルゴリズムEHはLWE型の暗号化アルゴリズムであり、エンコーディング関数encodeHは恒等関数であることをさらに特徴としている。
E(encode(x))から
への変換の第2の実施形態は、単位のM乗根を考慮することによって得られ;これにより、乗算的に作業できる。より具体的には、Mを偶数とし、
の任意の多項式p:=p(X)を固定とする。エンコーディング関数encodeHは関数
,
であり、暗号化アルゴリズムEHは、
のRLWE型の暗号化アルゴリズムである。encodeHとEHのこの選択の変換には、再暗号化技術が使用される。1≦j≦nに対して、キー
の下で
をsjのRGSW型暗号文とする。
・ 変換公開キーbk[1],…,bk[n]を取得する
・ 1≦j≦nに対して
・
・ 1からnまでのjに対して、
・ 結果
この場合、EHは
を法とするRLWE型の暗号化アルゴリズムであることが観察され;暗号化キーは
である。実際、Cjに
のRGSW型の暗号化をキー(s’1,…,s’k)(1≦j≦nに対して)の下に設定すると、数学的な形式
で、
を得る。
したがって、本発明の実施形態の1つにおいて、偶数の整数Mによってパラメータ化された単変数関数fの近似準同型評価は、準同型暗号化アルゴリズムEHが、RLWE型の暗号化アルゴリズムであり、
の任意の多項式pに対して、エンコーディング関数encodeHは、関数
,
であることをさらに特徴とする。
1.第1のケースは、エンコーディング関数encodeHが
であり、アルゴリズムEHが
上のLWE型の暗号化アルゴリズムであると仮定する。この第1のケースでは、
を得る。第1のサブステップは:
・
で与えられる多項式
を形成し、0≦j≦N-1に対してT’[j]=encode’(T[j])である
・ 変換公開キーbk[1],…,bk[n]を取得する
・ 初期化する
・ 1からnの範囲のjに対して、
を評価する。(
で)
・ d’=c”nと仮定する
・
を返す
ことにある。
・
・ 変換公開キーbk[1],…,bk[n]を取得する
・ 初期化する
・ d’=c”nと仮定する
・
ことにある。
2.第2のケースは、任意の多項式
に対して、エンコーディング関数
,
およびアルゴリズムEHは
のRLWE型のエンコードアルゴリズムであることを仮定する。この第2のケースでは、任意の多項式
に対して
を得る。第1のサブステップは:
・
を用いるP・p≒qが、0≦j≦N-1に対してT’[j]=encode’(T[j])である
・
で与えられるように多項式
を選択する
・
を評価する
・ P(X)・p(X)≒q(X)で
を返す
ことにある。
・
・
・
・ P(X)・p(X)≒q(X)で
ことにある。
特に、整数L>1に対して、
の場合、選択
(ここで、Lによる乗算は
で計算される)は、P(X)・p(X)≒T’[0]+T’[1]X+…+T’[N-1]XN-1を意味することに留意されたい。実際、この多項式pの選択では、
を得ることが観察されるが、0≦r≦N-1に対して、
および
であることに留意されたい。P・p≒q;等値はゼロに等しい期待値を有する所与のドリフト内で検証されることに留意されたい。
両方の場合において、表Tの準同型評価のこの第1のサブステップの返しとして、期待される多項式
のRLWE型暗号文d’は、キー
の下で取得され、このキーは、秘密キー(s1,…,sn)∈{0,1}nのビットsjを暗号化するRGSW型の暗号文bk[j](1≦j≦n)を作成するために使用されるキーである。q(X)の形式により、多項式
の定数項は
である。暗号文d’の成分を
で示す。
表Tの準同型評価の第2のサブステップ(両方のケースに共通)は、前記RLWE暗号文から
のLWE型の暗号文を抽出する:
・ 1≦j≦kごとに、多項式
を
を用いて
と書く(0≦l≦N-1に対して)
・ 多項式
を
を用いて
と書く(0≦l≦N-1に対して)
・ トーラス上の要素ベクトル
を定義する、ここで
である
・ トーラス上の要素ベクトル
を返し、ここで、b”=(b’)0は多項式b’の定数項である。
・ 1≦j≦kごとに、多項式
・ 多項式
・ トーラス上の要素ベクトル
・ トーラス上の要素ベクトル
各1≦j≦kに対して、多項式
を
で
と書く場合(0≦l≦N-1に対して)、返されたベクトル(a”1,…,a”kN,b”)は、キー((s’1)0,(s’1)1,…,(s’1)N-1,…,(s’k)0,(s’k)1,…,(s’k)N-1)∈{0,1}kNの下の
のトーラス上のLWE型の暗号文であることがわかる。これにより、暗号化アルゴリズムE’が定義され;したがって、
を得る。この場合、平文の対応するネイティブ空間は
である。したがって、
および
なので、実際にはf(x)の近似値を有する暗号のLWE型暗号文が得られる。
したがって、本発明の実施形態の1つでは、2Nに等しい偶数の整数Mによってパラメータ化された単変数関数fの近似準同型評価は、トーラス上のLWE型暗号文
が、
において
を用いる多項式
を近似するRLWE暗号文から抽出されることをさらに特徴とし、ここでT’[j]=encode’(T[j])、0≦j≦N-1である。
評価される関数fの像Iが実数区間[ymin,ymax)であり、LWE型暗号化の平文M’のネイティブ空間がトーラス
である場合、エンコーディング関数encode’の可能な選択肢は
である。この場合、対応する復号関数は
で与えられる。
したがって、本発明の実施形態の1つでは、単変数関数fの近似準同型評価は、関数fの像が実数区間I=[ymin,ymax)であるとき、
・ 準同型暗号化アルゴリズムE’は、トーラス
に適用されるLWE型の暗号化アルゴリズムによって与えられ、平文のネイティブ空間として
を有し、
・ エンコーディング関数encode’は
,
であることで、さらに特徴付けられる。
・ 準同型暗号化アルゴリズムE’は、トーラス
・ エンコーディング関数encode’は
暗号文を追加する際には、エンコーディングを考慮する必要がある。準同型エンコーディングアルゴリズムEのエンコーディング関数をencodeと記すと、μ1=encode(x1)およびμ2=encode(x2)を用いてE(μ1+μ2)=E(μ1)+E(μ2)を得る。エンコーディング関数が準同型であれば、実際にはE(encode(x1+x2))=E(encode(x1))+E(encode(x2))を得る。それ以外の場合、エンコーディング関数が加算に準拠していない場合、補正εをエンコーディング:ε=encode(x1+x2)-encode(x1)-encode(x2)に適用する必要があり、その結果、E(encode(x1+x2))=E(encode(x1))+E(encode(x2))+E(ε)となる。特に、エンコーディングが
で定義されている場合、補正は
となり、xmin=0の場合はゼロになる。LWE型の暗号化方式の場合、(0,…,0,ε)の形式のアップレットはεの有効な暗号文であることを思い出されたい。
もちろん、以前の考慮事項は像にも有効である。エンコーディング関数encode’を有する準同型暗号化アルゴリズムE’の場合、補正ε’=encode’(f(x1)+f(x2))-encode’(f(x1))-encode’(f(x2))に対してE’(encode’(f(x1)+f(x2)))=E’(encode’(f(x1)))+E’(encode’(f(x2)))+E’(ε’)を得る。特に、エンコーディングencode’が加算に準拠する場合、補正ε’はゼロである。補正ε’は、エンコーディング
について、
になる。
もう1つの重要な特定のケースは、所与の定数Aに対して入力x1およびx2=x1+Aで同じ単変数関数fを準同型に評価する必要があるときである。適用の典型的な例は、前述のSprecherの適用における内部関数Ψである。エンコーディング関数encodeを有する準同型暗号化アルゴリズムEの場合、E(encode(x1))という事実を考えると、E(encode(x2))=E(encode(x1+A))を推定し、次に、前述のようにE’(encode’(f(x1)))およびE’(encode’(f(x2)))を取得することができる。しかし、すべてのステップを繰り返す必要がある。Eがトーラス上のLWE型のアルゴリズムであり、M=2Nである特定のケースでは、入力E(encode(x1))で、表Tの準同型評価の第1のサブステップの返しとして、期待される多項式
のRLWE型暗号文d’を取得することを見てきた、ここで、多項式qは関数fを集計し、ここで、x1が部分区間
に属している場合、
の期待値はi1=discretise(encode(x1))である。例えば、離散化関数
(M=2N)の場合、
を取得する。したがって、
である。この場合、期待される多項式
のRLWE型暗号文は、
のようにより高速に取得できる。したがって、E’(encode’(f(x2))~)の値は、表Tの準同型評価の第2のサブステップによって推定される。
本発明はまた、上記の代替方法のいずれか1つによる準同型暗号評価方法を実装するように特別にプログラムされた情報処理システムをカバーする。
また、上記の代替方法のいずれか1つを実装し、この目的のためにプログラムされた情報処理システムによってロードおよび実装されるように特別に設計されたコンピュータプログラム製品もカバーする。
本発明の適用例
上記の発明は、いくつかのデータの機密性を保持するために非常に有利に使用することができ、データは、例えば、個人、健康、機密情報データ、またはより一般的には、その所有者が秘密を保ちたいが、第三者がデジタル処理を行えることを彼は望んでいるすべてのデータであるがこれに限定されない。1つ以上の第三者サービスプロバイダへの処理の非ローカル化は、いくつかの理由から興味深いものであり;非ローカル化することによりコストのかかる、または利用できないリソースを必要とする演算を行うことができ、また、非公開演算を行うこともできる。次に、前記デジタル処理演算を実行する責任を負う第三者は、実際には、処理の実際の内容とそれによって実装されるデジタル関数を伝えたくない場合がある。
上記の発明は、いくつかのデータの機密性を保持するために非常に有利に使用することができ、データは、例えば、個人、健康、機密情報データ、またはより一般的には、その所有者が秘密を保ちたいが、第三者がデジタル処理を行えることを彼は望んでいるすべてのデータであるがこれに限定されない。1つ以上の第三者サービスプロバイダへの処理の非ローカル化は、いくつかの理由から興味深いものであり;非ローカル化することによりコストのかかる、または利用できないリソースを必要とする演算を行うことができ、また、非公開演算を行うこともできる。次に、前記デジタル処理演算を実行する責任を負う第三者は、実際には、処理の実際の内容とそれによって実装されるデジタル関数を伝えたくない場合がある。
そのような使用において、本発明は、特にクラウドコンピューティングサービスなどのリモートデジタルサービスの実装をカバーし、クラウドコンピューティングサービスにおいて暗号化されたデータに対するデジタル処理の適用を担当する第三者のサービスプロバイダが、それの側で、上記の第1の事前計算ステップを実行し、これは、暗号化されたデータを処理するために使用される関数f1,…,fqの中の各多変数関数fjに対して、単変数関数のネットワークを事前計算することにある。得られたすべての単変数関数(k≧1の所与の
について、
)の中で、第三者は、第2のステップで単変数関数gkとそれぞれの引数
を事前選択し、3つの基準(i)gk=gk’および
、(ii)gk≠gk’および
、または(iii)知られている定数ak≠0に対して、gk=gk’および
の1つを満たすk’<kがあるようにし;これらの単変数関数は、必要に応じて最適化された方法で評価される。
次に、秘密データ(x1,…,xp)の所有者は、準同型暗号化アルゴリズムEにより暗号化を実行し、第三者に型データE(μ1),…,E(μp)を送信し、ここでμiは、エンコーディング関数によってエンコードされたxiの値である。通常、アルゴリズムEの選択は、サービスの第三者プロバイダによって課される。あるいは、データの所有者は、必ずしも準同型でなくても、彼の選択した暗号化アルゴリズムを使用でき、この場合、再暗号化の前のステップが第三者(または別のサービスプロバイダ)によって行われ、暗号化されたデータが所望の形式で取得される。
したがって、本発明の実施形態の1つにおいて、前述の準同型評価暗号方法は、入力暗号化データが、前記準同型暗号化アルゴリズムEの暗号化の暗号文の形式で設定される、前の再暗号化ステップから導出されることを特徴とする。
第三者が暗号化された型データE(μi)を取得すると、単変数関数のネットワークの準同型評価のステップで、これらの暗号文に基づいて、単変数関数のネットワークのそれぞれを一連の連続するステップで準同型評価し、暗号化アルゴリズムE’の下でそれらの入力(1≦j≦qに対して)に適用されるfjの暗号化の暗号文を取得する。
考慮された異なる関数fjについて、それらの入力値に対する暗号化の暗号化された結果を取得すると、関係する第三者は、これらすべての結果を機密データの所有者に送り返す。
機密データの所有者は、次に、それが保持する対応する解読キーに基づいて、復号後に、準同型暗号化された入力データ(x1,…,xp)から始まる1つ以上の関数(f1,…,fq)の結果の値を取得でき、第三者は前記データに対して1つ以上の関数の実装であるデジタル処理を実行しておらず、データの明確な内容を知ることができたわけではなく、逆に、データの所有者は実装された関数の詳細を知る必要があったわけでもない。
データの所有者とデジタル処理サービスプロバイダとして機能する第三者との間のこのようなタスクの共有は、リモートで、特にクラウドコンピューティング型のサービス全体で、データおよび関連する処理のセキュリティに影響を与えずに有利に実行できる。さらに、デジタル処理の様々なステップは、様々なサービスプロバイダの責任であり得る。
したがって、本発明の実施形態の1つにおいて、クラウドコンピューティング型のリモートサービスは、前述の準同型評価暗号方法のうちの1つ以上を実装し、ここでタスクは、データの所有者と、デジタル処理サービスプロバイダとして機能する第三者との間で共有される。
本発明の特定の実施形態では、秘密を保持したいデータx1,…,xpの所有者と、前記データのデジタル処理の適用を担当する1つ以上の第三者が関与するこのリモートサービスは、
1.関係する第三者は、本発明に従って、単変数関数のネットワークを事前計算する第1のステップおよび第2の事前選択ステップを実行する
2.データの所有者は、準同型暗号化アルゴリズムEによってx1,…,xpの暗号化を実行し、第三者に型データE(μ1),…,E(μp)を送信し、ここで、μiはエンコーディング関数によるエンコードされたxiの値である
3.関係する第三者が暗号化された型データE(μi)を取得すると、関係する第三者は、これらの暗号文に基づいて一連の連続するステップで準同型的に単変数関数の前記ネットワークのそれぞれを評価し、暗号化アルゴリズムE’の下でそれらの入力(1≦j≦qの場合)に適用されるfjの暗号化の暗号文を取得する
4.考慮された異なる関数fjについて、それらの入力値に対する暗号化の暗号化された結果を取得すると、関係する第三者はこれらすべての結果をデータの所有者に送り返す
5.データの所有者は、それが保持する対応する解読キーに基づいて、復号後に、1つ以上の関数(f1,…,fq)の結果の値を取得する
ことをさらに特徴とする。
1.関係する第三者は、本発明に従って、単変数関数のネットワークを事前計算する第1のステップおよび第2の事前選択ステップを実行する
2.データの所有者は、準同型暗号化アルゴリズムEによってx1,…,xpの暗号化を実行し、第三者に型データE(μ1),…,E(μp)を送信し、ここで、μiはエンコーディング関数によるエンコードされたxiの値である
3.関係する第三者が暗号化された型データE(μi)を取得すると、関係する第三者は、これらの暗号文に基づいて一連の連続するステップで準同型的に単変数関数の前記ネットワークのそれぞれを評価し、暗号化アルゴリズムE’の下でそれらの入力(1≦j≦qの場合)に適用されるfjの暗号化の暗号文を取得する
4.考慮された異なる関数fjについて、それらの入力値に対する暗号化の暗号化された結果を取得すると、関係する第三者はこれらすべての結果をデータの所有者に送り返す
5.データの所有者は、それが保持する対応する解読キーに基づいて、復号後に、1つ以上の関数(f1,…,fq)の結果の値を取得する
ことをさらに特徴とする。
この実施形態の変形は、上記の第2のステップ(2.)において:
・ データの所有者は、Eとは異なる暗号化アルゴリズムによってx1,…,xpの暗号化を実行し、このように暗号化された前記データを送信する
・ 前記受信した暗号化データに対して、関係する第三者が再暗号化を行い、前記準同型暗号化アルゴリズムEの下で暗号文E(μ1),…,E(μp)を取得し、ここで、μiは、エンコーディング関数によりエンコードされたxiの値である
ことを特徴とする。
・ データの所有者は、Eとは異なる暗号化アルゴリズムによってx1,…,xpの暗号化を実行し、このように暗号化された前記データを送信する
・ 前記受信した暗号化データに対して、関係する第三者が再暗号化を行い、前記準同型暗号化アルゴリズムEの下で暗号文E(μ1),…,E(μp)を取得し、ここで、μiは、エンコーディング関数によりエンコードされたxiの値である
ことを特徴とする。
とりわけ、本発明によるリモートデジタルサービスの異なる用途について言及することができる。例えば、前述のMajecSTIC’08の記事で言及されているように、グレーレベル画像に適用されるコルモゴロフ型の分解-これは、2変数関数f(x,y)=I(x,y)と見なすことができ、ここでI(x,y)は、座標(x,y)のピクセルのグレー強度を与える-により、元の画像の近似画像を再構成できることが既に知られている。したがって、バウンディングボックスを定義する座標(x1,y1)および(x2,y2)の知識により、単純な方法でトリミング動作を行うことができる。2変数関数f1(x,y)=R(x,y)、f2(x,y)=G(x,y)、およびf3(x,y)=B(x,y)は、赤、緑、青のレベルをそれぞれ与えることを考慮しながら、カラー画像にも同様の処理が適用される。この処理型は暗号化されていないデータで知られているが、今や本発明では準同型暗号化を使用して実行することができる。したがって、本発明によれば、ユーザが、あるスポーツ活動中に規則的な区間(例えば10秒ごと)で記録された彼のGPS座標と、移動の最遠の座標(バウンディングボックスを定義する)を暗号化された方法で送信する場合、地図製作プランの画像を所有するサービスプロバイダは、トリミングにより、活動に関連するプランの部分の暗号文を取得できる;さらに、受信したGPS座標の暗号化された画像に基づいて準同型に計算されたローカル速度を示すために、例えばカラーコードを使用して、まだ暗号化されている領域内で移動を表すことができる。好都合なことに、(第三者の)サービスプロバイダは、活動の正確な場所(それがサービス提供者のプランどおりである場合を除く)またはユーザのパフォーマンスについて何も知らない。さらに、第三者は地図の全体を開示しない。
本発明はまた、人工知能処理が、特に入力データに対する機械学習型の処理を行うことができるようにするために有利に使用することができ、入力データは暗号化されたままであり、入力データに対して特にニューラルネットワークを実装するサービスプロバイダが、前記暗号化されたデータから導出された値に1つ以上のアクティベーション関数を適用する。ニューラルネットワークの実装に関連する本発明のこの使用の例として、関数g(z1,z2)=max(z1,z2)の分解を参照でき、これは、特にニューラルネットワークで使用される前述の「最大プーリング」として機能し、z2+(z1-z2)+になり、ここで
は単変数関数
に対応する。非常に人気のあるアクティベーション関数
および
,
も参照できる。
したがって、本発明の実施形態の1つでは、前述の暗号準同型評価方法の1つ以上を実装するリモートサービスは、ニューラルネットワークを実装するデジタル処理を意図する。
特徴としての発明の開示
本発明は、1つ以上のデジタル情報処理システムのデータ計算および処理能力の実装を通じて、暗号化されたデータに関する1つ以上の関数の評価を可能にする。場合によっては、この関数またはこれらの関数が単変数または多変数であり得る。したがって、その異なる変形において、本発明による方法は、両方の型の関数の評価を進めることを可能にする。
本発明は、1つ以上のデジタル情報処理システムのデータ計算および処理能力の実装を通じて、暗号化されたデータに関する1つ以上の関数の評価を可能にする。場合によっては、この関数またはこれらの関数が単変数または多変数であり得る。したがって、その異なる変形において、本発明による方法は、両方の型の関数の評価を進めることを可能にする。
評価される関数が単変数型の場合、本発明は、その実装の1つにおいて、2つの準同型暗号化アルゴリズムの入力と出力のそれぞれでの実装と、請求項1に請求されるように、その後に得られた表の準同型評価のステップが続く、考慮された各関数の表を事前計算するステップとを提供する。
評価される関数が多変数型の場合、本発明はさらに、次の2つの予備ステップを実行することを提供する:第1の事前計算ステップ、それに続く第2の事前選択ステップ、その後、単変数関数準同型評価のための任意の知られている方法に従って、これら2つの予備ステップの実行の完了時に得られた単変数関数ネットワークに、前記単変数関数ネットワークの準同型評価の第3のステップを適用する。これが請求項12の目的である。
Claims (16)
- 定義Dの領域で任意の精度を有し、像Iで実数値を有する実数値変数xの単変数関数fの近似準同型評価を行うように特別にプログラムされた少なくとも1つの情報処理システムによってデジタル形式で実行される暗号方法であって、入力としてxのエンコーディングの暗号文、E(encode(x))を取り、f(x)の近似値のエンコーディングの暗号文、y≒f(x)であるE’(encode’(y))を返し、EとE’は準同型暗号化アルゴリズムであり、その平文のそれぞれのネイティブ空間はMとM’であり、
- 評価される関数fの入力における変数の表現の実際の精度を定量化する整数N≧1、
- 領域Dの要素を入力として取り、それにMの要素を関連付けるエンコーディング関数encode、
- 像Iの要素を入力として取り、それにM’の要素を関連付けるエンコーディング関数encode’、
- Mの要素を入力として取り、それに整数で表されるインデックスを関連付ける離散化関数discretise、
- その平文のネイティブ空間MHが少なくともNのカーディナリティを有する、暗号化アルゴリズムEHを有する準同型暗号化方式、
- 整数を入力として取り、MHの要素を返すエンコーディング関数encodeH
によりパラメータ化され、
その結果、エンコーディングencodeとそれに続く離散化discretiseによる領域Dの像、
- a.前記単変数関数fに対応する表を事前計算するステップであって、
○領域Dを、その和集合がDを構成するN個の選択された部分区間R0,…,RN-1に分解すること、
○S={0,…,N-1}内の各インデックスiに対して、部分区間Riの代表的なx(i)を決定し、値y(i)=f(x(i))を計算すること、
○0≦i≦N-1に対して、T[i]=y(i)であるN個の成分T[0],…,T[N-1]で構成される表Tを返すことである、ステップ、
- b.表の準同型評価のステップであって、
○x∈Riの場合、集合S={0,…,N-1}内のインデックス
○暗号文
○
を特徴とする、暗号方法。 - 準同型暗号化アルゴリズムEHがLWE型暗号化アルゴリズムであり、エンコーディング関数encodeHが恒等関数であることを特徴とする、請求項5に記載の暗号方法。
- 前記近似準同型評価を受ける少なくとも1つの単変数関数は、以下の先行ステップ、
- a.前記多変数関数のそれぞれを、単変数実数値関数の合成と総和からなる単変数関数のネットワークに変換することである事前計算ステップ、
- b.事前計算された単変数関数の前記ネットワークにおいて、3つの型:
- 同じ引数に適用される同じ単変数関数、
- 同じ引数に適用される異なる単変数関数、
- 非ゼロの加算定数だけ異なる引数に適用され、その全部または一部を選択する同じ単変数関数
のうちの1つの冗長性を識別することである事前選択ステップ、
- c.事前計算された単変数関数のネットワークのそれぞれの準同型評価のステップであって、これらの単変数関数の1つ以上のすべてまたは一部が再利用される場合、事前選択ステップで選択された冗長性が共有された方法で評価される、準同型評価のステップ
を実装することにより、少なくとも1つの多変数関数の先行処理から導出されることを特徴とする、請求項1から11のいずれか一項に記載の暗号方法。 - 入力暗号化データが、前記準同型暗号化アルゴリズムEの暗号化の暗号文の形式で設定されるように、前の再暗号化ステップから導出されることを特徴とする、請求項1から11のいずれか一項に記載の暗号方法。
- 請求項1から請求項13のいずれか一項または複数項に記載の準同型評価暗号方法を実装するようにプログラムされていることを特徴とする、情報処理システム。
- 請求項14に記載の情報処理システムにロードされて実装されることを意図した、コンピュータプログラム。
- タスクが、データ所有者と、デジタル処理サービスプロバイダとして機能する1つ以上の第三者との間で共有される、請求項1から15のいずれか一項または複数項に記載の暗号方法を実装した、クラウドコンピューティング型リモートサービス。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2004772 | 2020-05-14 | ||
FR2004772A FR3110311B1 (fr) | 2020-05-14 | 2020-05-14 | cryptographiques d’évaluation de fonctions à valeurs réelles sur des données chiffrées |
PCT/FR2021/000050 WO2021229157A1 (fr) | 2020-05-14 | 2021-05-14 | Procédé, systèmes et services cryptographiques d'évaluation de fonctions univariées ou multivariées à valeurs réelles sur des données chiffrées |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023525159A true JP2023525159A (ja) | 2023-06-14 |
JPWO2021229157A5 JPWO2021229157A5 (ja) | 2024-03-25 |
Family
ID=74347116
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022569135A Pending JP2023525159A (ja) | 2020-05-14 | 2021-05-14 | 暗号化されたデータに対する単変数または多変数の実数値関数を評価するための暗号方法、システム、およびサービス |
JP2022569449A Pending JP2023526313A (ja) | 2020-05-14 | 2021-05-14 | 暗号化されたデータの実数値関数を評価するための暗号方法、システム、およびサービス |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022569449A Pending JP2023526313A (ja) | 2020-05-14 | 2021-05-14 | 暗号化されたデータの実数値関数を評価するための暗号方法、システム、およびサービス |
Country Status (9)
Country | Link |
---|---|
US (2) | US20230291540A1 (ja) |
EP (2) | EP4150853A1 (ja) |
JP (2) | JP2023525159A (ja) |
KR (2) | KR20230011985A (ja) |
CN (2) | CN116134782A (ja) |
CA (1) | CA3183278A1 (ja) |
FR (1) | FR3110311B1 (ja) |
IL (2) | IL298173A (ja) |
WO (2) | WO2021229156A1 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8630422B2 (en) | 2009-11-10 | 2014-01-14 | International Business Machines Corporation | Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus |
US11087223B2 (en) * | 2018-07-11 | 2021-08-10 | International Business Machines Corporation | Learning and inferring insights from encrypted data |
-
2020
- 2020-05-14 FR FR2004772A patent/FR3110311B1/fr active Active
-
2021
- 2021-05-14 US US17/924,577 patent/US20230291540A1/en active Pending
- 2021-05-14 WO PCT/FR2021/000049 patent/WO2021229156A1/fr unknown
- 2021-05-14 CN CN202180060773.7A patent/CN116134782A/zh active Pending
- 2021-05-14 KR KR1020227043466A patent/KR20230011985A/ko active Search and Examination
- 2021-05-14 KR KR1020227043467A patent/KR20230011986A/ko active Search and Examination
- 2021-05-14 US US17/924,326 patent/US20230188318A1/en active Pending
- 2021-05-14 CA CA3183278A patent/CA3183278A1/en active Pending
- 2021-05-14 IL IL298173A patent/IL298173A/en unknown
- 2021-05-14 IL IL298162A patent/IL298162A/en unknown
- 2021-05-14 EP EP21755798.2A patent/EP4150853A1/fr active Pending
- 2021-05-14 JP JP2022569135A patent/JP2023525159A/ja active Pending
- 2021-05-14 CN CN202180060685.7A patent/CN116250208A/zh active Pending
- 2021-05-14 JP JP2022569449A patent/JP2023526313A/ja active Pending
- 2021-05-14 WO PCT/FR2021/000050 patent/WO2021229157A1/fr unknown
- 2021-05-14 EP EP21734178.3A patent/EP4150852A1/fr active Pending
Also Published As
Publication number | Publication date |
---|---|
IL298162A (en) | 2023-01-01 |
JP2023526313A (ja) | 2023-06-21 |
EP4150852A1 (fr) | 2023-03-22 |
KR20230011986A (ko) | 2023-01-25 |
WO2021229156A1 (fr) | 2021-11-18 |
FR3110311A1 (fr) | 2021-11-19 |
CN116250208A (zh) | 2023-06-09 |
WO2021229157A1 (fr) | 2021-11-18 |
IL298173A (en) | 2023-01-01 |
WO2021229157A8 (fr) | 2022-12-01 |
CA3183278A1 (en) | 2021-11-18 |
EP4150853A1 (fr) | 2023-03-22 |
US20230291540A1 (en) | 2023-09-14 |
KR20230011985A (ko) | 2023-01-25 |
US20230188318A1 (en) | 2023-06-15 |
CN116134782A (zh) | 2023-05-16 |
FR3110311B1 (fr) | 2022-07-01 |
WO2021229157A4 (fr) | 2022-01-20 |
WO2021229156A8 (fr) | 2022-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11847564B2 (en) | Privacy-preserving machine learning | |
Dulek et al. | Quantum homomorphic encryption for polynomial-sized circuits | |
US10033708B2 (en) | Secure computation using a server module | |
Cheon et al. | Ensemble method for privacy-preserving logistic regression based on homomorphic encryption | |
Benzekki et al. | A secure cloud computing architecture using homomorphic encryption | |
Togan et al. | Comparison-based computations over fully homomorphic encrypted data | |
CN112543091B (zh) | 密文长度固定的多密钥全同态加密方法 | |
Tueno et al. | Secure Computation of the-Ranked Element in a Star Network | |
Lee et al. | On the security of multikey homomorphic encryption | |
Dao et al. | Multi-party homomorphic secret sharing and sublinear MPC from sparse LPN | |
Han et al. | Efficient privacy preserving logistic regression inference and training | |
Biswas et al. | Dynamic multi-key FHE in symmetric key setting from LWE without using common reference matrix | |
JP2023525159A (ja) | 暗号化されたデータに対する単変数または多変数の実数値関数を評価するための暗号方法、システム、およびサービス | |
Koshiba et al. | New assumptions on isogenous pairing groups with applications to attribute-based encryption | |
Kumar et al. | Some efficient solutions to yao's millionaire problem | |
Tueno et al. | Secure computation of the kth-ranked element in a star network | |
Sharma et al. | Making data in cloud secure and usable: fully homomorphic encryption with symmetric keys | |
Liu | MPC-enabled privacy-preserving machine learning | |
Doroz | New Approaches for Efficient Fully Homomorphic Encryption | |
Cho et al. | $\mathsf {FRAST} $: TFHE-friendly Cipher Based on Random S-boxes | |
Chen et al. | SECO: Secure Inference With Model Splitting Across Multi-Server Hierarchy | |
Garg et al. | Scalable Mixed-Mode MPC | |
Sahu | Towards practical homomorphic encryption and efficient implementation | |
Holz | A Systematic Comparison of HE-based Private Function Evaluation Protocols | |
プラディープ,クマー,ミシラ | Faster Secure Matrix Computation over Homomorphic Encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A525 Effective date: 20230110 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240312 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240312 |