JP6034927B1 - 秘密計算システム、秘密計算装置、およびプログラム - Google Patents
秘密計算システム、秘密計算装置、およびプログラム Download PDFInfo
- Publication number
- JP6034927B1 JP6034927B1 JP2015147774A JP2015147774A JP6034927B1 JP 6034927 B1 JP6034927 B1 JP 6034927B1 JP 2015147774 A JP2015147774 A JP 2015147774A JP 2015147774 A JP2015147774 A JP 2015147774A JP 6034927 B1 JP6034927 B1 JP 6034927B1
- Authority
- JP
- Japan
- Prior art keywords
- secret
- query
- sharing value
- secret sharing
- value
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- 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
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
【課題】秘密計算装置に秘密計算の対象となる対象データの秘密分散値が格納され、秘密計算装置がこれらの対象データの秘密分散値を用い、入力されたクエリまたはクエリの秘密分散値に応じた秘密計算を行う場合に、改ざんによる不正を防止する。【解決手段】秘密計算装置には、秘密計算の対象となる対象データの秘密分散値が格納され、秘密計算を要求するクエリまたはクエリの秘密分散値が入力される。秘密計算装置は、対象データの秘密分散値の整合性検証およびクエリまたはクエリの秘密分散値の整合性検証を行い、整合性検証に合格した対象データの秘密分散値を用い、整合性検証に合格したクエリまたはクエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得、演算結果の秘密分散値を出力する。【選択図】図4
Description
本発明は、暗号技術を応用した情報セキュリティ技術に関し、特に、秘密計算技術に関する。
秘密分散値の改ざんを検知する技術として、検証可能秘密分散法(VSS: Verifiable secret sharing)がある(例えば、非特許文献1)。
岡本龍明,山本博資,「現代暗号−シリーズ/情報科学の数学」,産業図書株式会社,1998年6月30日,第2刷,pp.217−219.
しかし、秘密計算装置に秘密計算の対象となる対象データの秘密分散値が格納され、秘密計算装置がこれらの対象データの秘密分散値を用い、入力されたクエリまたはクエリの秘密分散値に応じた秘密計算を行う場合に、改ざんによる不正を防止する方法は知られていない。
本発明の課題は、秘密計算装置に秘密計算の対象となる対象データの秘密分散値が格納され、秘密計算装置がこれらの対象データの秘密分散値を用い、入力されたクエリまたはクエリの秘密分散値に応じた秘密計算を行う場合に、改ざんによる不正を防止することである。
秘密計算装置には、秘密計算の対象となる対象データの秘密分散値が格納され、秘密計算を要求するクエリまたはクエリの秘密分散値が入力される。秘密計算装置は、対象データの秘密分散値の整合性検証およびクエリまたはクエリの秘密分散値の整合性検証を行い、整合性検証に合格した対象データの秘密分散値を用い、整合性検証に合格したクエリまたはクエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得、演算結果の秘密分散値を出力する。
これにより、秘密計算装置に秘密計算の対象となる対象データの秘密分散値が格納され、秘密計算装置がこれらの対象データの秘密分散値を用い、入力されたクエリまたはクエリの秘密分散値に応じた秘密計算を行う場合に、改ざんによる不正を防止できる。
以下、本発明の実施形態を説明する。
[概要]
まず、実施形態の概要を説明する。
実施形態の秘密計算システムは、秘密計算の対象となる対象データの秘密分散値を出力する登録装置、複数個の秘密計算装置、およびクエリまたはクエリの秘密分散値を用いて秘密計算を要求する分析装置を有する。秘密計算装置のそれぞれには、登録装置から送られた対象データの秘密分散値が格納され、さらに分析装置から送られたクエリまたはクエリの秘密分散値が入力される。秘密計算装置は、対象データの秘密分散値の整合性検証およびクエリまたはクエリの秘密分散値の整合性検証を行い、整合性検証に合格した対象データの秘密分散値を用い、整合性検証に合格したクエリまたはクエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得、演算結果の秘密分散値を出力する。これにより、登録装置、登録装置から秘密計算装置までの間、または秘密計算装置で対象データの秘密分散値が改ざんされたり、分析装置、または分析装置から秘密計算装置までの間でクエリまたはクエリの秘密分散値が改ざんされたりしても、その改ざんによって秘密計算装置から不正な結果が出力されることを防止できる。
[概要]
まず、実施形態の概要を説明する。
実施形態の秘密計算システムは、秘密計算の対象となる対象データの秘密分散値を出力する登録装置、複数個の秘密計算装置、およびクエリまたはクエリの秘密分散値を用いて秘密計算を要求する分析装置を有する。秘密計算装置のそれぞれには、登録装置から送られた対象データの秘密分散値が格納され、さらに分析装置から送られたクエリまたはクエリの秘密分散値が入力される。秘密計算装置は、対象データの秘密分散値の整合性検証およびクエリまたはクエリの秘密分散値の整合性検証を行い、整合性検証に合格した対象データの秘密分散値を用い、整合性検証に合格したクエリまたはクエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得、演算結果の秘密分散値を出力する。これにより、登録装置、登録装置から秘密計算装置までの間、または秘密計算装置で対象データの秘密分散値が改ざんされたり、分析装置、または分析装置から秘密計算装置までの間でクエリまたはクエリの秘密分散値が改ざんされたりしても、その改ざんによって秘密計算装置から不正な結果が出力されることを防止できる。
何れかの整合性検証が不合格であった場合、すべての対象データの秘密分散値の秘密計算装置への格納、および/または、すべてのクエリまたはクエリの秘密分散値の秘密計算装置への入力をやり直してもよい。あるいは、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の両方の整合性検証が合格であった一部の秘密計算装置のみが演算結果の秘密分散値を出力してもよい。後者の場合、複数個の秘密計算装置のうち整合性検証に合格した対象データの秘密分散値を格納するものを要素とする「第1集合」と、複数個の秘密計算装置のうち整合性検証に合格したクエリまたはクエリの秘密分散値が入力されたものを要素とする「第2集合」と、の「共通部分」に属する秘密計算装置が演算結果の秘密分散値を出力する。「第1集合」および「第2集合」の少なくとも一方は、複数個の秘密計算装置を要素とする「全体集合」の真部分集合であってもよい。これにより、整合性検証が不合格であった場合の処理量を削減できる。
「第1集合」および「第2集合」の少なくとも一方が「全体集合」の真部分集合である場合、「共通部分」も「全体集合」の真部分集合である。秘密計算の内容によっては「全体集合」の真部分集合の秘密計算装置のみで秘密計算を実行できる場合(ケース1)もあれば、「全体集合」の秘密計算装置が協力しなければ秘密計算を実行できない場合(ケース2)もある。「ケース1」の場合には「共通部分」のみで秘密計算を行うことができるが、「ケース2」の場合には「共通部分」のみで秘密計算を行うことができず、整合性検証が不合格であった秘密計算装置と協力して秘密計算を行ったのでは、不正な結果が得られる可能性がある。そのため、「共通部分」に属する秘密計算装置が、「共通部分」の「補集合」(「全体集合」から「共通部分」を取り除いた集合)に属する秘密計算装置の対象データの秘密分散値およびクエリまたはクエリの秘密分散値の少なくとも一方を復元してもよい。秘密計算の内容に応じ、対象データの秘密分散値およびクエリまたはクエリの秘密分散値が復元されてもよいし、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の何れかのみが復元されてもよい。これにより、「ケース2」の場合であっても「共通部分」のみで秘密計算を行うことができる。
「共通部分」の要素数が演算結果を復元するために必要な秘密分散値の個数以上である場合に、「共通部分」に属する秘密計算装置が演算結果の秘密分散値を出力してもよい。これにより、演算結果を復元するために必要な個数の「演算結果の秘密分散値」が得られないにもかかわらず、演算結果の秘密分散値の計算および通信が行われることと防止できる。「共通部分」に属する秘密計算装置が「共通部分」の要素数が演算結果を復元するために必要な秘密分散値の個数未満である場合には、対象データの秘密分散値の格納、および/または、クエリまたはクエリの秘密分散値の入力をやり直すか、エラー終了してもよい。
複数の秘密計算装置で行った整合性検証が不合格であった場合、それらの何れかの秘密計算装置の「データ」(対象データの秘密分散値、または、クエリもしくはクエリの秘密分散値)に改ざんがあったことは分かるが、どの「データ」が改ざんされたかは分からない。そのため、「全体集合」の「第1部分集合」での対象データの秘密分散値の整合性検証が不合格であった場合、「第1部分集合」の真部分集合を新たな「第1部分集合」として対象データの秘密分散値の整合性検証を行う再帰処理を行ってもよい。例えば、「第1部分集合」を複数の真部分集合に分割し、各真部分集合をそれぞれ新たな「第1部分集合」としてもよいし、「第1部分集合」の何れかの真部分集合のみを新たな「第1部分集合」としてもよい。同様に、「全体集合」の「第2部分集合」でのクエリまたはクエリの秘密分散値の整合性検証が不合格であった場合、「第2部分集合」の真部分集合を新たな「第2部分集合」としてクエリまたはクエリの秘密分散値の整合性検証を行う再帰処理を行ってもよい。例えば、「第2部分集合」を複数の真部分集合に分割し、各真部分集合をそれぞれ新たな「第2部分集合」としてもよいし、「第2部分集合」の何れかの真部分集合のみを新たな「第2部分集合」としてもよい。これにより、上述の「第1集合」および/または「第2集合」を効率的に特定できる。
「全体集合」の「第3部分集合」での対象データの秘密分散値の整合性検証が不合格であった場合、「第3部分集合」の真部分集合と「第3部分集合」の補集合(「全体集合」から「第3部分集合」を取り除いた集合)の部分集合との和集合を新たな「第3部分集合」として対象データの秘密分散値の整合性検証を行う再帰処理を行ってもよい。同様に、「全体集合」の「第4部分集合」でのクエリまたはクエリの秘密分散値の整合性検証が不合格であった場合、「第4部分集合」の真部分集合と「第4部分集合」の補集合(「全体集合」から「第4部分集合」を取り除いた集合)の部分集合との和集合を新たな「第4部分集合」としてクエリまたはクエリの秘密分散値の整合性検証を行う再帰処理を行ってもよい。これによっても、上述の「第1集合」および/または「第2集合」を効率的に特定できる。特に、「第3部分集合」で整合性検証が不合格であるが、新たな「第3部分集合」で整合性検証が合格であった場合、更新前の「第3部分集合」には含まれるが新たな「第3部分集合」には含まれない秘密計算装置の「データ」に改ざんがあることが分かる。そのため、この秘密計算装置を除いた集合で新たに整合性検証を行い、それが合格であれば、その集合を「第1集合」および/または「第2集合」としてもよい。これにより、「第1集合」および/または「第2集合」の要素数を増加させ、「共通部分」に属する秘密計算装置の数を増加させることができる。
秘密計算装置が、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の整合性検証をまとめて行ってもよい。例えば、対象データの秘密分散値およびクエリまたはクエリの秘密分散値を含む情報を対象として整合性検証が行われてもよい。これにより、整合性検証の処理を効率化できる。この場合、対象データの秘密分散値およびクエリまたはクエリの秘密分散値を含む情報を撹乱させた情報の整合性検証を行ってもよい。これにより、整合性検証の過程で、対象データおよびクエリの少なくとも一方が漏洩することを防止できる。
整合性検証方式に限定はない。例えば、非特許文献1に開示された方式が用いられてもよいし、その他の方式が用いられてもよい。例えば、秘密計算装置が「全体集合」の部分集合(全体集合またはその真部分集合)で得られた複数個の任意値の合成値sを得、合成値sの関数値を係数とし、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の少なくとも一方を含む値の線形結合値[c]iを得、線形結合値[c]iに応じた秘密分散値[d]iを他の秘密計算装置に配送して整合性検証を行ってもよい。これにより、複数のデータの整合性検証をまとめて実行できるため、処理を効率化できる。この際、秘密計算装置が乱数秘密分散値[R]iを得、乱数秘密分散値[R]iで線形結合値[c]iを撹乱させた秘密分散値[d]iを得てもよい。これにより、整合性検証の過程で、対象データおよびクエリの少なくとも一方が漏洩することを防止できる。
以降、図面を参照しつつ、各実施形態を説明する。
[第1実施形態]
第1実施形態を説明する。
[第1実施形態]
第1実施形態を説明する。
<構成>
図1に例示するように、本形態の秘密計算システム1は、登録装置11、N個の秘密計算装置12−1,…,12−(N−1)、および分析装置13を有する。ただし、Nは2以上の整数であり、例えば3以上の整数である。登録装置11と秘密計算装置12−1,…,12−(N−1)とは、インターネット等の安全ではないネットワークを通じて通信可能に構成されている。同様に、秘密計算装置12−1,…,12−(N−1)と分析装置13とは、安全ではないネットワークを通じて通信可能に構成されている。なお、説明の便宜上、登録装置11および分析装置13がそれぞれ1個存在する例を示すが、これらの少なくとも一方が複数個存在していてもよい。
図1に例示するように、本形態の秘密計算システム1は、登録装置11、N個の秘密計算装置12−1,…,12−(N−1)、および分析装置13を有する。ただし、Nは2以上の整数であり、例えば3以上の整数である。登録装置11と秘密計算装置12−1,…,12−(N−1)とは、インターネット等の安全ではないネットワークを通じて通信可能に構成されている。同様に、秘密計算装置12−1,…,12−(N−1)と分析装置13とは、安全ではないネットワークを通じて通信可能に構成されている。なお、説明の便宜上、登録装置11および分析装置13がそれぞれ1個存在する例を示すが、これらの少なくとも一方が複数個存在していてもよい。
図2Aに例示するように、本形態の秘密計算装置12−n(ただし、n=0,…,(N−1))は、例えば、制御部120−n、入力部121−n、記憶部122−n、整合性検証部123−n、秘密計算部124−n、および出力部125−nを有する。図2Bに例示するように、整合性検証部123−nは、例えば、任意値設定部1231−n、合成部1232−n、線形結合部1233−n、および検証部1236−nを有する。整合性検証部123−nは、さらに撹乱値設定部1234−nおよび撹乱部1235−nを有していてもよい。秘密計算装置12−nは、制御部120−nの制御のもとで各処理を実行する。秘密計算装置12−nの各部で得られたデータは、図示していない一時メモリに格納され、必要に応じて読み出されて各処理に利用される。図3に例示するように、分析装置13は、制御部130、分析依頼部131、出力部132、入力部133、記憶部134、および改ざん検知復元部135を有する。各装置は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)およびRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
<処理>
本形態の処理は「登録処理」「保管処理」「分析処理」からなる。以下、図4を用いて本形態の処理を説明する。
本形態の処理は「登録処理」「保管処理」「分析処理」からなる。以下、図4を用いて本形態の処理を説明する。
「登録処理」
登録処理では、登録装置11が、秘密計算の対象となる対象データb0,…,bM−1のそれぞれを秘密分散し、N個ずつの秘密分散値[b0]0,…,[b0]N−1,…,[bM−1]0,…,[bM−1]N−1を生成する。ただし、Mは1以上の整数であり、対象データbm(ただし、m=0,…,M−1)のN個の秘密分散値を[bm]0,…,[bm]N−1と表記する。本形態の秘密分散は(K,N)しきい値秘密分散方式に則って行われる。(K,N)しきい値秘密分散方式では、K個以上の秘密分散値を集めれば元データ(平文)を完全に復元できるが、K−1以下の秘密分散値からは元データの情報が全く得られない。(K,N)しきい値秘密分散方式の具体例は、Shamirの秘密分散方式(例えば、参考文献1「A. Shamir, "How to Share a Secret", Communications of the ACM, November 1979, Volume 22, Number 11, pp.612-613.」等参照)、またはその変形方式である。対象データの秘密分散値[b0]n,…,[bM−1]n(ただし、n=0,…,N−1)は、それぞれ秘密計算装置12−nに送られる。対象データの秘密分散値[b0]n,…,[bM−1]nは、秘密計算装置12−n(図2A)の入力部121−nに入力され、記憶部122−nに格納される(ステップS11)。
登録処理では、登録装置11が、秘密計算の対象となる対象データb0,…,bM−1のそれぞれを秘密分散し、N個ずつの秘密分散値[b0]0,…,[b0]N−1,…,[bM−1]0,…,[bM−1]N−1を生成する。ただし、Mは1以上の整数であり、対象データbm(ただし、m=0,…,M−1)のN個の秘密分散値を[bm]0,…,[bm]N−1と表記する。本形態の秘密分散は(K,N)しきい値秘密分散方式に則って行われる。(K,N)しきい値秘密分散方式では、K個以上の秘密分散値を集めれば元データ(平文)を完全に復元できるが、K−1以下の秘密分散値からは元データの情報が全く得られない。(K,N)しきい値秘密分散方式の具体例は、Shamirの秘密分散方式(例えば、参考文献1「A. Shamir, "How to Share a Secret", Communications of the ACM, November 1979, Volume 22, Number 11, pp.612-613.」等参照)、またはその変形方式である。対象データの秘密分散値[b0]n,…,[bM−1]n(ただし、n=0,…,N−1)は、それぞれ秘密計算装置12−nに送られる。対象データの秘密分散値[b0]n,…,[bM−1]nは、秘密計算装置12−n(図2A)の入力部121−nに入力され、記憶部122−nに格納される(ステップS11)。
対象データの秘密分散値[b0]n,…,[bM−1]nが記憶部122−nに格納されると、N個の秘密計算装置12−n(ただし、n=0,…,N−1)の整合性検証部123−nが互いに通信し、対象データの秘密分散値[b0]n,…,[bM−1]nの整合性検証を行う。整合性検証は非特許文献1その他の公知方式によって行われてもよいし、後述する方式によって行われてもよい。これにより、登録装置11、または登録装置11から秘密計算装置12−nまでの間で行われた対象データの秘密分散値[b0]n,…,[bM−1]nの改ざんが検知される。この整合性検証が合格であった場合、[b0]n,…,[bM−1]nが記憶部122−nに保持される。一方、この整合性検証が不合格であった場合、[b0]n,…,[bM−1]nが記憶部122−nから削除され、処理をステップS11に戻すか、エラー終了させる(ステップS12)。
「保管処理」
保管処理では、各秘密計算装置12−nが対象データの秘密分散値[b0]n,…,[bM−1]nを記憶部122−nに保持する。この間、定期的または所定の契機で、N個の秘密計算装置12−n(ただし、n=0,…,N−1)の整合性検証部123−nが互いに通信し、対象データの秘密分散値[b0]n,…,[bM−1]nの整合性検証を行ってもよい。これにより、秘密計算装置12−nで行われた対象データの秘密分散値[b0]n,…,[bM−1]nの改ざんが検知される。この整合性検証が合格であった場合、[b0]n,…,[bM−1]nが記憶部122−nに保持される。一方、この整合性検証が不合格であった場合、[b0]n,…,[bM−1]nが記憶部122−nから削除され、処理をステップS11に戻すか、エラー終了させる(ステップS13)。
保管処理では、各秘密計算装置12−nが対象データの秘密分散値[b0]n,…,[bM−1]nを記憶部122−nに保持する。この間、定期的または所定の契機で、N個の秘密計算装置12−n(ただし、n=0,…,N−1)の整合性検証部123−nが互いに通信し、対象データの秘密分散値[b0]n,…,[bM−1]nの整合性検証を行ってもよい。これにより、秘密計算装置12−nで行われた対象データの秘密分散値[b0]n,…,[bM−1]nの改ざんが検知される。この整合性検証が合格であった場合、[b0]n,…,[bM−1]nが記憶部122−nに保持される。一方、この整合性検証が不合格であった場合、[b0]n,…,[bM−1]nが記憶部122−nから削除され、処理をステップS11に戻すか、エラー終了させる(ステップS13)。
「分析処理」
分析処理では、まず分析装置13の分析依頼部131が、秘密計算を要求するクエリまたはクエリの秘密分散値を生成して出力する。クエリは秘密計算を要求する演算内容を表してもよいし、演算対象のデータを表してもよい。本形態では、分析依頼部131が出力するクエリまたはクエリの秘密分散値を[q0]n,…,[qJ−1]n(ただし、n=0,…,N−1)と表現する。ただし、Jは1以上の整数である。[qj]n(ただし、j=0,…,J−1)がクエリそのもの(元データ)である場合、[qj]0=…=[qj]N−1である。[qj]n(ただし、j=0,…,J−1)がクエリの秘密分散値である場合、[qj]0,…,[qj]N−1は、クエリqjのN個の秘密分散値である。出力部132は、クエリまたはクエリの秘密分散値[q0]n,…,[qJ−1]n(ただし、n=0,…,N−1)を出力し、これらはそれぞれ秘密計算装置12−nに送られる。[q0]n,…,[qJ−1]nは、秘密計算装置12−n(図2A)の入力部121−nに入力され、記憶部122−nに格納される(ステップS14)。
分析処理では、まず分析装置13の分析依頼部131が、秘密計算を要求するクエリまたはクエリの秘密分散値を生成して出力する。クエリは秘密計算を要求する演算内容を表してもよいし、演算対象のデータを表してもよい。本形態では、分析依頼部131が出力するクエリまたはクエリの秘密分散値を[q0]n,…,[qJ−1]n(ただし、n=0,…,N−1)と表現する。ただし、Jは1以上の整数である。[qj]n(ただし、j=0,…,J−1)がクエリそのもの(元データ)である場合、[qj]0=…=[qj]N−1である。[qj]n(ただし、j=0,…,J−1)がクエリの秘密分散値である場合、[qj]0,…,[qj]N−1は、クエリqjのN個の秘密分散値である。出力部132は、クエリまたはクエリの秘密分散値[q0]n,…,[qJ−1]n(ただし、n=0,…,N−1)を出力し、これらはそれぞれ秘密計算装置12−nに送られる。[q0]n,…,[qJ−1]nは、秘密計算装置12−n(図2A)の入力部121−nに入力され、記憶部122−nに格納される(ステップS14)。
クエリまたはクエリの秘密分散値[q0]n,…,[qJ−1]nが記憶部122−nに格納されると、N個の秘密計算装置12−n(ただし、n=0,…,N−1)の整合性検証部123−nが互いに通信し、クエリまたはクエリの秘密分散値[q0]n,…,[qJ−1]nの整合性検証を行う。ここで、[qj]nがクエリそのものであったとしても、[qj]nを秘密分散値とみなして整合性検証を行うことができる。これにより、分析装置13、または分析装置13から秘密計算装置12−nまでの間で行われた[q0]n,…,[qJ−1]nの改ざんが検知される。この整合性検証が合格である場合、[q0]n,…,[qJ−1]nが記憶部122−nに保持される。一方、この整合性検証が不合格である場合、[q0]n,…,[qJ−1]nが記憶部122−nから削除され、処理をステップS14に戻すか、エラー終了させる(ステップS15)。
[q0]n,…,[qJ−1]nの整合性検証が合格の場合、秘密計算装置12−nの秘密計算部124−nは、記憶部122−nから、整合性検証に合格した[b0]n,…,[bM−1]nおよび[q0]n,…,[qJ−1]nを読み込む。秘密計算部124−nは、整合性検証に合格した[b0]n,…,[bM−1]nを用い、整合性検証に合格した[q0]n,…,[qJ−1]nに応じた秘密計算を行って演算結果の秘密分散値[r0]n,…,[rW−1]nを得る。ただし、Wは1以上の整数である。本形態では、改ざん検知付秘密計算(例えば、参考文献2「五十嵐大, 千田浩司, 濱田浩気, 菊池亮, “非常に高効率なn≧2k-1 malicious モデル上秘密分散ベースマルチパーティ計算の構成法”, In SCIS2013, 2013.」等参照)によって秘密計算を行って演算結果の秘密分散値[r0]n,…,[rW−1]nを得る。この計算過程でのK−1個以下の秘密計算装置12−nによる改ざんは、ここで検知できる。改ざんが検知された場合、この秘密計算を再び実行させるか、処理をエラー終了させる。改ざんが検知されなかった場合、演算結果の秘密分散値[r0]n,…,[rW−1]nが出力部125−nに送られる(ステップS16)。出力部125−n(ただし、n=0,…,N−1)は、演算結果の秘密分散値[r0]n,…,[rW−1]nを出力し、これらは分析装置13に送られる(ステップS17)。
演算結果の秘密分散値[r0]n,…,[rW−1]nは、分析装置13(図3)の入力部133に入力され、記憶部134に格納される。演算結果の秘密分散値[r0]n,…,[rW−1]n(ただし、n=0,…,N−1)は改ざん検知復元部135に送られる。改ざん検知復元部135はこれらの改ざん検知復元を行い(例えば、参考文献2参照)、演算結果r0,…,rW−1を復元して出力する。秘密計算装置12−nまたは秘密計算装置12−nから分析装置13までの間での改ざんはここで検知される。改ざんが検知された場合、このステップS16以降の処理を再び実行させるか、処理をエラー終了させる。改ざんが検知されなかった場合、演算結果r0,…,rW−1が出力される(ステップS18)。
<整合性検証の具体例>
図5を用いて整合性検証の具体例を示す。以下では、I個の秘密計算装置12−0〜12−(I−1)が協力し、[a0]i,…,[aY−1]i(ただし、i=0,…,I−1)の整合性検証を行う場合に一般化して説明する。ただし、Yは1以上の整数であり、IはKよりも大きく、N以下の整数であり(N≧I>K。例えば、N≧I≧2)、{0,…,I−1}⊆{0,…,N−1}を満たす。[a0]i,…,[aY−1]iの例は、対象データの秘密分散値[b0]i,…,[bM−1]i、クエリまたはクエリの秘密分散値[q0]i,…,[qJ−1]iである。
図5を用いて整合性検証の具体例を示す。以下では、I個の秘密計算装置12−0〜12−(I−1)が協力し、[a0]i,…,[aY−1]i(ただし、i=0,…,I−1)の整合性検証を行う場合に一般化して説明する。ただし、Yは1以上の整数であり、IはKよりも大きく、N以下の整数であり(N≧I>K。例えば、N≧I≧2)、{0,…,I−1}⊆{0,…,N−1}を満たす。[a0]i,…,[aY−1]iの例は、対象データの秘密分散値[b0]i,…,[bM−1]i、クエリまたはクエリの秘密分散値[q0]i,…,[qJ−1]iである。
まず、秘密計算装置12−i(図2B)の整合性検証部123−iの任意値設定部1231−iが、任意値siを選択する。任意値siの例は、擬似乱数、乱数、または定数である。任意値siは記憶部122−iに格納されるとともに、出力部125−iに送られる(ステップS1201)。任意値siは出力部125−iから出力され、他の秘密計算装置12−i’(ただし、i’∈{0,…,I−1}かつi’≠i)に配送される(ステップS1202)。他の秘密計算装置12−i’から配送された任意値si’は入力部121−iに入力され、記憶部122−iに格納される(ステップS1203)。合成部1232−iは、記憶部122−iから任意値s0,…,sI−1を読み込み、任意値s0,…,sI−1の合成値s:=g(s0,…,sI−1)を得る。ただし、「α:=β」は、αをβと定義することを意味する。g(・)は(・)の関数を表す。任意値s0,…,sI−1に対して合成値sが一義的に定まるのであれば、どのようなg(・)が用いられてもよい。例えば、s:=s0+…+sI−1などの任意値s0,…,sI−1の線形結合を合成値sとしてもよいし、s:=s0×…×sI−1などの任意値s0,…,sI−1の積を合成値sとしてもよい。合成値sは記憶部122−iに格納される(ステップS1204)。
線形結合部1233−iは、記憶部122−iから合成値sおよび[a0]i,…,[aY−1]iを読み込み、合成値sの関数値を係数zy(ただし、y=0,…,Y−1)とし、[a0]i,…,[aY−1]i(ただし、i=0,…,I−1)の線形結合値[c]i:=z0[a0]i+…+zY−1[aY−1]iを得る。係数zyは合成値sとyとによって定まる値zy:=h(s,y)であってもよいし、合成値sのみに対して定まる値zy:=h(s)であってもよい。ただし、h(・)は(・)の関数を表す。例えば、zy:=sy+1であってもよいし、zy:=s2y+1であってもよいし、zy:=sであってもよい。線形結合値[c]iは記憶部122−iに格納される(ステップS1205)。
検証部1236−iは、記憶部122−iから読み込んだ線形結合値[c]iに応じた秘密分散値[d]iを出力する。例えば、線形結合値[c]iをそのまま秘密分散値[d]iとしてもよいし、[c]iの関数値を秘密分散値[d]iとしてもよい。整合性検証部123−iが撹乱値設定部1234−iおよび撹乱部1235−iを含む場合、撹乱値設定部1234−iが乱数秘密分散値[R]iを得、撹乱部1235−iが乱数秘密分散値[R]iおよび線形結合値[c]iを入力とし、乱数秘密分散値[R]iで線形結合値[c]iを撹乱させた秘密分散値[d]iを得てもよい。例えば、撹乱値設定部1234−iが、生成した擬似乱数または乱数を乱数秘密分散値[R]iとし、秘密計算によって[d]i:=[c−R]iを得てもよい。ただし、[c−R]iは(K,N)しきい値秘密分散方式に則ったc−Rの秘密分散値である。秘密分散値[d]iは記憶部122−iに格納されるとともに、出力部125−iに送られる(ステップS1206)。
秘密分散値[d]iは出力部125−iから出力され、他の秘密計算装置12−i’(ただし、i’∈{0,…,I−1}かつi’≠i)に配送される(ステップS1207)。他の秘密計算装置12−i’から配送された秘密分散値[d]i’は入力部121−iに入力され、記憶部122−iに格納される(ステップS1208)。
検証部1236−nは、記憶部122−iからK個の秘密分散値[d]f(0),…,[d]f(K−1)を読み込み、ラグランジュ(Lagrange)補間によって他のI−K個の秘密分散値Df(K):=[d]f(K),…,Df(I−1):=[d]f(I−1)を復元し、記憶部122−iに格納する。なお、{f(0),…,f(I−1)}={0,…,I−1}を満たし、例えば、f(i)=iである(ステップS1209)。
検証部1236−nは、記憶部122−iから、ステップS1208で入力された[d]f(K),…,[d]f(N−1)と、ステップS1209で復元されたDf(K),…,Df(N−1)とを読み込み、これらを比較する。ここで、すべてのp=K,…,I−1についてDf(p)=[d]f(p)であるならば、検証部1236−nは、[a0]i,…,[aY−1]iの整合性検証が合格である旨の結果を出力する(ステップS1211)。一方、何れかのpについてDf(p)≠[d]f(p)であるならば、検証部1236−nは、[a0]i,…,[aY−1]iの整合性検証が不合格である旨の結果を出力する(ステップS1212)。
この整合性検証の具体例では、[a0]i,…,[aY−1]iの整合性検証をまとめて実行できるため効率がよい。また、乱数秘密分散値[R]iで線形結合値[c]iを撹乱させた秘密分散値[d]iを用いる場合には、ステップS1209で[a0]i,…,[aY−1]iの復元値の情報が漏洩することを防止できる。
[第2実施形態]
第2実施形態では、前述の「第1集合」と「第2集合」との「共通部分」に属する秘密計算装置が演算結果の秘密分散値を出力する。「第1集合」および「第2集合」の少なくとも一方は、複数個の秘密計算装置を要素とする「全体集合」の真部分集合であってもよい。以下では、既に説明した事項との相違点を中心に説明し、説明済みの事項についてはそれと同じ参照番号を流用して説明を簡略化する。
第2実施形態では、前述の「第1集合」と「第2集合」との「共通部分」に属する秘密計算装置が演算結果の秘密分散値を出力する。「第1集合」および「第2集合」の少なくとも一方は、複数個の秘密計算装置を要素とする「全体集合」の真部分集合であってもよい。以下では、既に説明した事項との相違点を中心に説明し、説明済みの事項についてはそれと同じ参照番号を流用して説明を簡略化する。
<構成>
図1に例示するように、本形態の秘密計算システム2は、登録装置11、N個の秘密計算装置22−1,…,22−(N−1)、および分析装置13を有する。図2Aに例示するように、本形態の秘密計算装置22−n(ただし、n=0,…,(N−1))は、例えば、制御部120−n、入力部121−n、記憶部122−n、整合性検証部223−n、秘密計算部224−n、および出力部125−nを有する。
図1に例示するように、本形態の秘密計算システム2は、登録装置11、N個の秘密計算装置22−1,…,22−(N−1)、および分析装置13を有する。図2Aに例示するように、本形態の秘密計算装置22−n(ただし、n=0,…,(N−1))は、例えば、制御部120−n、入力部121−n、記憶部122−n、整合性検証部223−n、秘密計算部224−n、および出力部125−nを有する。
<処理>
本形態の処理も「登録処理」「保管処理」「分析処理」からなる。以下、図4を用いて本形態の処理を説明する。
本形態の処理も「登録処理」「保管処理」「分析処理」からなる。以下、図4を用いて本形態の処理を説明する。
「登録処理」
まず、登録装置11と秘密計算装置22−nとが、第1実施形態で説明したステップS11の処理を実行する。次に、第1実施形態のステップS12で説明したように、N個の秘密計算装置22−n(ただし、n=0,…,N−1)の整合性検証部223−nが互いに通信し、対象データの秘密分散値[b0]n,…,[bM−1]nの整合性検証を行う。ただし、本形態では、この整合性検証が不合格であっても、記憶部122−nから[b0]n,…,[bM−1]nが削除されない。代わりに、N個の秘密計算装置22−n(ただし、n=0,…,N−1)からなる集合の真部分集合S1が選択され、真部分集合S1に属するNS1個(ただし、NS1>K)の秘密計算装置22−v(η)(ただし、η=0,…,NS1−1)の整合性検証部223−v(η)が互いに通信し、対象データの秘密分散値[b0]v(η),…,[bM−1]v(η)の整合性検証を行う。なお、{v(0),…,v(NS1−1)}={0,…,NS1−1}を満たし、例えば、v(η)=ηである。この真部分集合S1での整合性検証方法にも限定はない。例えば、非特許文献1の方法で整合性検証が行われてもよいし、I:=NS1とし、i:=v(η)とし、([a0]i,…,[aY−1]i):=([b0]v(η),…,[bM−1]v(η))とし、前述のステップS1201〜S1212の方法で整合性検証が行われてもよい。真部分集合S1に属するNS1個の秘密計算装置22−v(η)(ただし、η=0,…,NS1−1)での整合性検証が不合格である場合、別の真部分集合S1が選択され、選択された真部分集合S1での整合性検証が実行される。真部分集合S1は、予め定められた基準に従って選択される。真部分集合S1の真部分集合が新たな真部分集合S1とされてもよいし、真部分集合S1の補集合が新たな真部分集合S1とされてもよいし、真部分集合S1の真部分集合と補集合との和集合が新たな真部分集合S1とされてもよい。この具体例は後述する。N個の秘密計算装置22−n(ただし、n=0,…,N−1)からなる全体集合Uでの整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。真部分集合S1での整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。全体集合Uまたは真部分集合S1での整合性検証が合格であった場合、対象データの秘密分散値[b0]n,…,[bM−1]nが記憶部122−nに保持される。一方、真部分集合S1を所定回数更新しても整合性検証が合格にならなかった場合、所定の真部分集合S1について整合性検証を行ってすべて不合格であった場合、または合格となった真部分集合S1の要素数がK未満であった場合、[b0]n,…,[bM−1]nが記憶部122−nから削除され、処理をステップS11に戻すか、エラー終了させる(ステップS22)。
まず、登録装置11と秘密計算装置22−nとが、第1実施形態で説明したステップS11の処理を実行する。次に、第1実施形態のステップS12で説明したように、N個の秘密計算装置22−n(ただし、n=0,…,N−1)の整合性検証部223−nが互いに通信し、対象データの秘密分散値[b0]n,…,[bM−1]nの整合性検証を行う。ただし、本形態では、この整合性検証が不合格であっても、記憶部122−nから[b0]n,…,[bM−1]nが削除されない。代わりに、N個の秘密計算装置22−n(ただし、n=0,…,N−1)からなる集合の真部分集合S1が選択され、真部分集合S1に属するNS1個(ただし、NS1>K)の秘密計算装置22−v(η)(ただし、η=0,…,NS1−1)の整合性検証部223−v(η)が互いに通信し、対象データの秘密分散値[b0]v(η),…,[bM−1]v(η)の整合性検証を行う。なお、{v(0),…,v(NS1−1)}={0,…,NS1−1}を満たし、例えば、v(η)=ηである。この真部分集合S1での整合性検証方法にも限定はない。例えば、非特許文献1の方法で整合性検証が行われてもよいし、I:=NS1とし、i:=v(η)とし、([a0]i,…,[aY−1]i):=([b0]v(η),…,[bM−1]v(η))とし、前述のステップS1201〜S1212の方法で整合性検証が行われてもよい。真部分集合S1に属するNS1個の秘密計算装置22−v(η)(ただし、η=0,…,NS1−1)での整合性検証が不合格である場合、別の真部分集合S1が選択され、選択された真部分集合S1での整合性検証が実行される。真部分集合S1は、予め定められた基準に従って選択される。真部分集合S1の真部分集合が新たな真部分集合S1とされてもよいし、真部分集合S1の補集合が新たな真部分集合S1とされてもよいし、真部分集合S1の真部分集合と補集合との和集合が新たな真部分集合S1とされてもよい。この具体例は後述する。N個の秘密計算装置22−n(ただし、n=0,…,N−1)からなる全体集合Uでの整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。真部分集合S1での整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。全体集合Uまたは真部分集合S1での整合性検証が合格であった場合、対象データの秘密分散値[b0]n,…,[bM−1]nが記憶部122−nに保持される。一方、真部分集合S1を所定回数更新しても整合性検証が合格にならなかった場合、所定の真部分集合S1について整合性検証を行ってすべて不合格であった場合、または合格となった真部分集合S1の要素数がK未満であった場合、[b0]n,…,[bM−1]nが記憶部122−nから削除され、処理をステップS11に戻すか、エラー終了させる(ステップS22)。
「保管処理」
保管処理でも、定期的または所定の契機で、ステップS22と同じ整合性検証が行われてもよい。N個の秘密計算装置22−n(ただし、n=0,…,N−1)からなる全体集合Uでの整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。真部分集合S1での整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。全体集合Uまたは真部分集合S1での整合性検証が合格であった場合、対象データの秘密分散値[b0]n,…,[bM−1]nが記憶部122−nに保持される。一方、真部分集合S1を所定回数更新しても整合性検証が合格にならなかった場合、所定の真部分集合S1について整合性検証を行ってすべて不合格であった場合、または合格となった真部分集合S1の要素数がK未満であった場合、[b0]n,…,[bM−1]nが記憶部122−nから削除され、処理をステップS11に戻すか、エラー終了させる(ステップS23)。
保管処理でも、定期的または所定の契機で、ステップS22と同じ整合性検証が行われてもよい。N個の秘密計算装置22−n(ただし、n=0,…,N−1)からなる全体集合Uでの整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。真部分集合S1での整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。全体集合Uまたは真部分集合S1での整合性検証が合格であった場合、対象データの秘密分散値[b0]n,…,[bM−1]nが記憶部122−nに保持される。一方、真部分集合S1を所定回数更新しても整合性検証が合格にならなかった場合、所定の真部分集合S1について整合性検証を行ってすべて不合格であった場合、または合格となった真部分集合S1の要素数がK未満であった場合、[b0]n,…,[bM−1]nが記憶部122−nから削除され、処理をステップS11に戻すか、エラー終了させる(ステップS23)。
「分析処理」
まず、分析装置13と秘密計算装置22−nとが、第1実施形態で説明したステップS14の処理を実行する。次に、第1実施形態のステップS15で説明したように、N個の秘密計算装置22−n(ただし、n=0,…,N−1)の整合性検証部223−nが互いに通信し、クエリまたはクエリの秘密分散値を[q0]n,…,[qJ−1]nの整合性検証を行う。ただし、本形態では、この整合性検証が不合格であっても、記憶部122−nから[q0]n,…,[qJ−1]nが削除されない。代わりに、N個の秘密計算装置22−n(ただし、n=0,…,N−1)からなる集合の真部分集合S2が選択され、真部分集合S2に属するNS2個(ただし、NS2>K)の秘密計算装置22−u(ι)(ただし、ι=0,…,NS2−1)が互いに通信し、[q0]u(ι),…,[qJ−1]u(ι)の整合性検証を行う。なお、{u(0),…,u(NS2−1)}={0,…,NS2−1}を満たし、例えば、u(ι)=ιである。この真部分集合S1での整合性検証方法にも限定はない。例えば、非特許文献1の方法で整合性検証が行われてもよいし、I=NS2とし、i=u(ι)とし、([a0]i,…,[aY−1]i)=([q0]u(ι),…,[qJ−1]u(ι))とし、前述のステップS1201〜S1212の方法で整合性検証が行われてもよい。真部分集合S2に属するNS2個の秘密計算装置22−u(ι)(ただし、ι=0,…,NS2−1)での整合性検証が不合格である場合、別の真部分集合S2が選択され、選択された真部分集合S2での整合性検証が実行される。真部分集合S2は、予め定められた基準に従って選択される。真部分集合S2の真部分集合が新たな真部分集合S2とされてもよいし、真部分集合S2の補集合が新たな真部分集合S2とされてもよいし、真部分集合S2の真部分集合と補集合との和集合が新たな真部分集合S2とされてもよい。N個の秘密計算装置22−n(ただし、n=0,…,N−1)からなる全体集合Uでの整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。真部分集合S2での整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。全体集合Uまたは真部分集合S2での整合性検証が合格であった場合、クエリまたはクエリの秘密分散値を[q0]n,…,[qJ−1]nが記憶部122−nに保持される。一方、真部分集合S2を所定回数更新しても整合性検証が合格にならなかった場合、所定の真部分集合S2について整合性検証を行ってすべて不合格であった場合、または、合格となった真部分集合S2の要素数がK未満であった場合、[q0]n,…,[qJ−1]nが記憶部122−nから削除され、処理をステップS14に戻すか、エラー終了させる(ステップS25)。
まず、分析装置13と秘密計算装置22−nとが、第1実施形態で説明したステップS14の処理を実行する。次に、第1実施形態のステップS15で説明したように、N個の秘密計算装置22−n(ただし、n=0,…,N−1)の整合性検証部223−nが互いに通信し、クエリまたはクエリの秘密分散値を[q0]n,…,[qJ−1]nの整合性検証を行う。ただし、本形態では、この整合性検証が不合格であっても、記憶部122−nから[q0]n,…,[qJ−1]nが削除されない。代わりに、N個の秘密計算装置22−n(ただし、n=0,…,N−1)からなる集合の真部分集合S2が選択され、真部分集合S2に属するNS2個(ただし、NS2>K)の秘密計算装置22−u(ι)(ただし、ι=0,…,NS2−1)が互いに通信し、[q0]u(ι),…,[qJ−1]u(ι)の整合性検証を行う。なお、{u(0),…,u(NS2−1)}={0,…,NS2−1}を満たし、例えば、u(ι)=ιである。この真部分集合S1での整合性検証方法にも限定はない。例えば、非特許文献1の方法で整合性検証が行われてもよいし、I=NS2とし、i=u(ι)とし、([a0]i,…,[aY−1]i)=([q0]u(ι),…,[qJ−1]u(ι))とし、前述のステップS1201〜S1212の方法で整合性検証が行われてもよい。真部分集合S2に属するNS2個の秘密計算装置22−u(ι)(ただし、ι=0,…,NS2−1)での整合性検証が不合格である場合、別の真部分集合S2が選択され、選択された真部分集合S2での整合性検証が実行される。真部分集合S2は、予め定められた基準に従って選択される。真部分集合S2の真部分集合が新たな真部分集合S2とされてもよいし、真部分集合S2の補集合が新たな真部分集合S2とされてもよいし、真部分集合S2の真部分集合と補集合との和集合が新たな真部分集合S2とされてもよい。N個の秘密計算装置22−n(ただし、n=0,…,N−1)からなる全体集合Uでの整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。真部分集合S2での整合性検証が合格であった場合、その旨の情報が記憶部122−n(ただし、n=0,…,N−1)に格納される。全体集合Uまたは真部分集合S2での整合性検証が合格であった場合、クエリまたはクエリの秘密分散値を[q0]n,…,[qJ−1]nが記憶部122−nに保持される。一方、真部分集合S2を所定回数更新しても整合性検証が合格にならなかった場合、所定の真部分集合S2について整合性検証を行ってすべて不合格であった場合、または、合格となった真部分集合S2の要素数がK未満であった場合、[q0]n,…,[qJ−1]nが記憶部122−nから削除され、処理をステップS14に戻すか、エラー終了させる(ステップS25)。
全体集合Uまたは真部分集合S2での整合性検証が合格であった場合、N個の秘密計算装置22−0,…,22−(N−1)のうち、ステップS22,23での整合性検証に合格した対象データの秘密分散値[b0]n,…,[bM−1]nを格納する秘密計算装置を要素とする「第1集合(UまたはS1)」と、ステップS25での整合性検証に合格したクエリまたはクエリの秘密分散値[q0]n,…,[qJ−1]nが入力された秘密計算装置を要素とする「第2集合(UまたはS2)」と、の「共通部分(S12)」に属する秘密計算装置22−κ(ただし、κ∈{0,…,N−1})が秘密計算を行う。例えば、ステップS22,23,25で全体集合Uでの整合性検証が合格であった場合、U=S12となり、N個の秘密計算装置22−0,…,22−(N−1)が第1実施形態で説明したステップS16と同一の処理を行う(図7A)。例えば、ステップS22,23で真部分集合S1での整合性検証が合格であり、ステップS25で真部分集合S2での整合性検証が合格であったのであれば、真部分集合S1と真部分集合S2との「共通部分(S12)」に属する秘密計算装置22−κ(ただし、κ∈{0,…,N−1})の秘密計算部224−κが、整合性検証に合格した[b0]κ,…,[bM−1]κを用い、整合性検証に合格した[q0]κ,…,[qJ−1]κに応じた秘密計算を行って演算結果の秘密分散値[r0]κ,…,[rW−1]κを得る。本形態でも、改ざん検知付秘密計算(例えば、参考文献2)が用いられる(ステップS26)。その後、分析装置13と秘密計算装置22−nとが、第1実施形態で説明したステップS17およびS18と同じ処理を実行する。ただし、「共通部分(S12)」の要素数が演算結果を復元するために必要な秘密分散値の個数K以上である場合のみにステップS26,S17,S18の処理が実行され、そうでない場合に処理をエラー終了させてもよい。
<整合性検証対象となる真部分集合の更新例>
ステップS22,S23,S25で説明した整合性検証対象となる真部分集合の更新例を説明する。更新例1では、「全体集合(U)」の「第1部分集合(UまたはS1)」での対象データの秘密分散値[b0]v(η),…,[bM−1]v(η)の整合性検証が不合格であった場合、「第1部分集合(UまたはS1)」の真部分集合を新たな「第1部分集合(S1)」として対象データの秘密分散値[b0]v(η),…,[bM−1]v(η)の整合性検証を行う再帰処理を行う。また、「全体集合(U)」の「第2部分集合(UまたはS2)」でのクエリまたはクエリの秘密分散値[q0]u(ι),…,[qJ−1]u(ι)の整合性検証が不合格であった場合、「第2部分集合(UまたはS2)」の真部分集合を新たな「第2部分集合(S2)」としてクエリまたはクエリの秘密分散値の整合性検証を行う再帰処理を行う。更新例2では、「全体集合(U)」の「第3部分集合(UまたはS1)」での対象データの秘密分散値[b0]v(η),…,[bM−1]v(η)の整合性検証が不合格であった場合、「第3部分集合(UまたはS1)」の真部分集合と「第3部分集合(UまたはS1)」の補集合の部分集合との和集合を新たな「第3部分集合S1」として対象データの秘密分散値[b0]v(η),…,[bM−1]v(η)の整合性検証を行う再帰処理を行う。「全体集合(U)」の「第4部分集合(UまたはS2)」でのクエリまたはクエリの秘密分散値[q0]u(ι),…,[qJ−1]u(ι)の整合性検証が不合格であった場合、「第4部分集合(UまたはS2)」の真部分集合と「第4部分集合(UまたはS2)」の補集合の部分集合との和集合を新たな「第4部分集合S2」としてクエリまたはクエリの秘密分散値[q0]u(ι),…,[qJ−1]u(ι)の整合性検証を行う再帰処理を行う。以下では、S1およびS2を部分集合Sに一般化して説明する。
ステップS22,S23,S25で説明した整合性検証対象となる真部分集合の更新例を説明する。更新例1では、「全体集合(U)」の「第1部分集合(UまたはS1)」での対象データの秘密分散値[b0]v(η),…,[bM−1]v(η)の整合性検証が不合格であった場合、「第1部分集合(UまたはS1)」の真部分集合を新たな「第1部分集合(S1)」として対象データの秘密分散値[b0]v(η),…,[bM−1]v(η)の整合性検証を行う再帰処理を行う。また、「全体集合(U)」の「第2部分集合(UまたはS2)」でのクエリまたはクエリの秘密分散値[q0]u(ι),…,[qJ−1]u(ι)の整合性検証が不合格であった場合、「第2部分集合(UまたはS2)」の真部分集合を新たな「第2部分集合(S2)」としてクエリまたはクエリの秘密分散値の整合性検証を行う再帰処理を行う。更新例2では、「全体集合(U)」の「第3部分集合(UまたはS1)」での対象データの秘密分散値[b0]v(η),…,[bM−1]v(η)の整合性検証が不合格であった場合、「第3部分集合(UまたはS1)」の真部分集合と「第3部分集合(UまたはS1)」の補集合の部分集合との和集合を新たな「第3部分集合S1」として対象データの秘密分散値[b0]v(η),…,[bM−1]v(η)の整合性検証を行う再帰処理を行う。「全体集合(U)」の「第4部分集合(UまたはS2)」でのクエリまたはクエリの秘密分散値[q0]u(ι),…,[qJ−1]u(ι)の整合性検証が不合格であった場合、「第4部分集合(UまたはS2)」の真部分集合と「第4部分集合(UまたはS2)」の補集合の部分集合との和集合を新たな「第4部分集合S2」としてクエリまたはクエリの秘密分散値[q0]u(ι),…,[qJ−1]u(ι)の整合性検証を行う再帰処理を行う。以下では、S1およびS2を部分集合Sに一般化して説明する。
≪更新例1≫
図6Aに例示するように、更新例1では、まずN個の秘密計算装置22−n(ただし、n=0,…,N−1)の整合性検証部223−nが、N個の秘密計算装置22−nの全体集合Uを集合系SETの元として設定する(SET:={U})(ステップS2201)。集合系SETの元である部分集合S∈SET(初期値は全体集合U)に属するNS個(ただし、NS>K)個の秘密計算装置22−e(ν)(ただし、ν=0,…,NS−1)の整合性検証部223−e(ν)が互いに通信し、データ(対象データの秘密分散値、またはクエリもしくはクエリの秘密分散値)の整合性検証を行う。なお、{e(0),…,e(NS−1)}={0,…,NS−1}を満たし、例えば、e(ν)=νである(ステップS2202)。ここで、整合性検証に合格する部分集合Sが存在しないならば(ステップS2203)、整合性検証部223−e(ν)は整合性検証の継続条件を満たすかを判定する(ステップS2204)。継続条件の例は、「部分集合Sの更新回数が所定数以下である」「所定の部分集合の整合性検証が終了していない」などである。ここで、整合性検証の継続条件を満たさない場合、整合性検証部223−e(ν)は処理をエラー終了させる(ステップS2208)。一方、整合性検証の継続条件を満たす場合、整合性検証部223−e(ν)は、部分集合Sをその真部分集合に置換して集合系SETを更新する。例えば、図8Aの例では、SET:={SS1−1}のときに、部分集合S=SS1−1がその真部分集合SS1−2およびSS1−3に置換され、SET:={SS1−2,SS1−3}に更新される。図8Bの例では、SET:={SS1−2,SS1−3}のときに、SS1−2がその真部分集合SS1−4およびSS1−5に置換され、SS1−3がその真部分集合SS1−6およびSS1−7に置換される。集合系SETの更新後、ステップS2202に戻る(ステップS2205)。一方、ステップS2202で整合性検証に合格した部分集合Sが存在したならば(ステップS2203)、整合性検証部223−e(ν)は整合性検証に合格した部分集合Sの要素数|S|=NSがK以上かを判定する(ステップS2206)。整合性検証に合格した何れかの部分集合Sの要素数|S|がK以上であれば、整合性検証部223−e(ν)はその部分集合Sを表す情報を出力する(ステップS2207)。そうでなければ、整合性検証部223−e(ν)は処理をエラー終了させる(ステップS2208)。
図6Aに例示するように、更新例1では、まずN個の秘密計算装置22−n(ただし、n=0,…,N−1)の整合性検証部223−nが、N個の秘密計算装置22−nの全体集合Uを集合系SETの元として設定する(SET:={U})(ステップS2201)。集合系SETの元である部分集合S∈SET(初期値は全体集合U)に属するNS個(ただし、NS>K)個の秘密計算装置22−e(ν)(ただし、ν=0,…,NS−1)の整合性検証部223−e(ν)が互いに通信し、データ(対象データの秘密分散値、またはクエリもしくはクエリの秘密分散値)の整合性検証を行う。なお、{e(0),…,e(NS−1)}={0,…,NS−1}を満たし、例えば、e(ν)=νである(ステップS2202)。ここで、整合性検証に合格する部分集合Sが存在しないならば(ステップS2203)、整合性検証部223−e(ν)は整合性検証の継続条件を満たすかを判定する(ステップS2204)。継続条件の例は、「部分集合Sの更新回数が所定数以下である」「所定の部分集合の整合性検証が終了していない」などである。ここで、整合性検証の継続条件を満たさない場合、整合性検証部223−e(ν)は処理をエラー終了させる(ステップS2208)。一方、整合性検証の継続条件を満たす場合、整合性検証部223−e(ν)は、部分集合Sをその真部分集合に置換して集合系SETを更新する。例えば、図8Aの例では、SET:={SS1−1}のときに、部分集合S=SS1−1がその真部分集合SS1−2およびSS1−3に置換され、SET:={SS1−2,SS1−3}に更新される。図8Bの例では、SET:={SS1−2,SS1−3}のときに、SS1−2がその真部分集合SS1−4およびSS1−5に置換され、SS1−3がその真部分集合SS1−6およびSS1−7に置換される。集合系SETの更新後、ステップS2202に戻る(ステップS2205)。一方、ステップS2202で整合性検証に合格した部分集合Sが存在したならば(ステップS2203)、整合性検証部223−e(ν)は整合性検証に合格した部分集合Sの要素数|S|=NSがK以上かを判定する(ステップS2206)。整合性検証に合格した何れかの部分集合Sの要素数|S|がK以上であれば、整合性検証部223−e(ν)はその部分集合Sを表す情報を出力する(ステップS2207)。そうでなければ、整合性検証部223−e(ν)は処理をエラー終了させる(ステップS2208)。
≪更新例2≫
図6Bに例示するように、更新例2では、図6Aの処理のステップS2205がステップS2215に置換される。ステップS2215では、整合性検証部223−e(ν)が、部分集合SをSの真部分集合A⊂Sと、Sの補集合CSの真部分集合B⊂CSと、の和集合A+Bに置換する。例えば、和集合A+Bは部分集合Sをシフトさせた集合である。例えば、図9Aおよび図9Bの例では、SET:={SS1−2,SS1−3}のときに、SS1−2が和集合SS1−4に置換され、SS1−3が和集合SS1−5に置換される。図9Aおよび図9Bの例では、SET:={SS1−4,SS1−5,SS1−6,SS1−7}のときに、SS1−4が和集合SS1−8に置換され、SS1−5が和集合SS1−9に置換され、SS1−6が和集合SS1−10に置換され、SS1−7が和集合SS1−11に置換される。
図6Bに例示するように、更新例2では、図6Aの処理のステップS2205がステップS2215に置換される。ステップS2215では、整合性検証部223−e(ν)が、部分集合SをSの真部分集合A⊂Sと、Sの補集合CSの真部分集合B⊂CSと、の和集合A+Bに置換する。例えば、和集合A+Bは部分集合Sをシフトさせた集合である。例えば、図9Aおよび図9Bの例では、SET:={SS1−2,SS1−3}のときに、SS1−2が和集合SS1−4に置換され、SS1−3が和集合SS1−5に置換される。図9Aおよび図9Bの例では、SET:={SS1−4,SS1−5,SS1−6,SS1−7}のときに、SS1−4が和集合SS1−8に置換され、SS1−5が和集合SS1−9に置換され、SS1−6が和集合SS1−10に置換され、SS1−7が和集合SS1−11に置換される。
[第3実施形態]
第2実施形態では、「第1集合」と「第2集合」との「共通部分」に属する秘密計算装置が、「共通部分」の補集合に属する秘密計算装置の対象データの秘密分散値およびクエリまたはクエリの秘密分散値の少なくとも一方を復元し、秘密計算を行う。
第2実施形態では、「第1集合」と「第2集合」との「共通部分」に属する秘密計算装置が、「共通部分」の補集合に属する秘密計算装置の対象データの秘密分散値およびクエリまたはクエリの秘密分散値の少なくとも一方を復元し、秘密計算を行う。
<構成>
図1に例示するように、本形態の秘密計算システム3は、登録装置11、N個の秘密計算装置32−1,…,32−(N−1)、および分析装置13を有する。図2Aに例示するように、本形態の秘密計算装置32−n(ただし、n=0,…,(N−1))は、例えば、制御部120−n、入力部121−n、記憶部122−n、整合性検証部223−n、秘密計算部324−n、出力部125−n、および分散値復元部326−n、を有する。
図1に例示するように、本形態の秘密計算システム3は、登録装置11、N個の秘密計算装置32−1,…,32−(N−1)、および分析装置13を有する。図2Aに例示するように、本形態の秘密計算装置32−n(ただし、n=0,…,(N−1))は、例えば、制御部120−n、入力部121−n、記憶部122−n、整合性検証部223−n、秘密計算部324−n、出力部125−n、および分散値復元部326−n、を有する。
<処理>
本形態の処理も「登録処理」「保管処理」「分析処理」からなる。以下、図4を用いて本形態の処理を説明する。
本形態の処理も「登録処理」「保管処理」「分析処理」からなる。以下、図4を用いて本形態の処理を説明する。
「登録処理」
登録装置11と秘密計算装置32−nとが、第1実施形態で説明したステップS11の処理を実行する。次に、秘密計算装置32−nが、第2実施形態で説明したステップS22の処理を実行する。
登録装置11と秘密計算装置32−nとが、第1実施形態で説明したステップS11の処理を実行する。次に、秘密計算装置32−nが、第2実施形態で説明したステップS22の処理を実行する。
「保管処理」
秘密計算装置32−nが、第2実施形態で説明したステップS23の処理を実行する。
秘密計算装置32−nが、第2実施形態で説明したステップS23の処理を実行する。
「分析処理」
まず、分析装置13と秘密計算装置22−nとが、第1実施形態で説明したステップS14の処理を実行する。次に、秘密計算装置32−nが、第2実施形態で説明したステップS25の処理を実行する。
まず、分析装置13と秘密計算装置22−nとが、第1実施形態で説明したステップS14の処理を実行する。次に、秘密計算装置32−nが、第2実施形態で説明したステップS25の処理を実行する。
全体集合Uまたは真部分集合S2での整合性検証が合格であった場合、前述の「第1集合(UまたはS1)」と「第2集合(UまたはS2)」との「共通部分(S12)」に属する秘密計算装置32−κ(ただし、κ∈{0,…,N−1})の分散値復元部326−κが互いに通信を行い、「共通部分(S12)」の補集合に属する秘密計算装置32−θ(ただし、θ∈{0,…,N−1}かつθ≠κ)の対象データの秘密分散値[b0]θ,…,[bM−1]θおよびクエリまたはクエリの秘密分散値[q0]θ,…,[qJ−1]θを復元する。この復元は、例えばラグランジュ補間によって行われる。例えば、「共通部分(S12)」に属する信頼できる特定の秘密計算装置32−κ’の分散値復元部326−κ’に対し、「共通部分(S12)」に属するその他の秘密計算装置32−κの分散値復元部326−κが[b0]κ,…,[bM−1]κおよび[q0]κ,…,[qJ−1]κを送る。秘密計算装置32−κ’は、これらを用い、ラグランジュ補間によって、[b0]θ,…,[bM−1]θおよび[q0]θ,…,[qJ−1]θを復元し、記憶部122−κ’に格納する(ステップS35)。
「共通部分(S12)」に属する秘密計算装置32−κ(ただし、κ∈{0,…,N−1})は、整合性検証に合格した[b0]κ,…,[bM−1]κを用い、整合性検証に合格した[q0]κ,…,[qJ−1]κに応じた秘密計算を行って演算結果の秘密分散値[r0]κ,…,[rW−1]κを得る。復元された[b0]θ,…,[bM−1]θおよび[q0]θ,…,[qJ−1]θを保持する秘密計算装置32−κは、さらに、復元された[b0]θ,…,[bM−1]θを用い、復元された[q0]κ,…,[qJ−1]κに応じた秘密計算を行って演算結果の秘密分散値[r0]θ,…,[rW−1]θを得る。本形態でも、改ざん検知付秘密計算(例えば、参考文献2)が用いられる(ステップS26)。その後、分析装置13と秘密計算装置32−nとが、第1実施形態で説明したステップS17およびS18と同じ処理を実行する。ただし、[r0]θ,…,[rW−1]θは、分析装置13に送られてもよいし、送られなくてもよい。「共通部分(S12)」の要素数が演算結果を復元するために必要な秘密分散値の個数K以上である場合のみにステップS35,S36,S17,S18の処理が実行され、そうでない場合に処理をエラー終了させてもよい。
[第4実施形態]
第4実施形態では、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の整合性検証をまとめて行う。
第4実施形態では、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の整合性検証をまとめて行う。
<構成>
図1に例示するように、本形態の秘密計算システム4は、登録装置11、N個の秘密計算装置42−1,…,42−(N−1)、および分析装置13を有する。図2Aに例示するように、本形態の秘密計算装置42−n(ただし、n=0,…,(N−1))は、例えば、制御部120−n、入力部121−n、記憶部122−n、整合性検証部423−n、秘密計算部124−n、および出力部125−nを有する。
図1に例示するように、本形態の秘密計算システム4は、登録装置11、N個の秘密計算装置42−1,…,42−(N−1)、および分析装置13を有する。図2Aに例示するように、本形態の秘密計算装置42−n(ただし、n=0,…,(N−1))は、例えば、制御部120−n、入力部121−n、記憶部122−n、整合性検証部423−n、秘密計算部124−n、および出力部125−nを有する。
<処理>
本形態の処理も「登録処理」「保管処理」「分析処理」からなる。以下、図4を用いて本形態の処理を説明する。
本形態の処理も「登録処理」「保管処理」「分析処理」からなる。以下、図4を用いて本形態の処理を説明する。
「登録処理」
登録装置11と秘密計算装置42−nとが、第1実施形態で説明したステップS11およびS12の処理を実行する。ただし、本形態ではステップS12の処理が省略されてもよい。
登録装置11と秘密計算装置42−nとが、第1実施形態で説明したステップS11およびS12の処理を実行する。ただし、本形態ではステップS12の処理が省略されてもよい。
「保管処理」
秘密計算装置42−nが、第1実施形態で説明したステップS13の処理を実行する。ただし、本形態ではステップS13での整合性検証の処理が省略されてもよい。
秘密計算装置42−nが、第1実施形態で説明したステップS13の処理を実行する。ただし、本形態ではステップS13での整合性検証の処理が省略されてもよい。
「分析処理」
まず、分析装置13と秘密計算装置42−nとが、第1実施形態で説明したステップS14の処理を実行する。次に、N個の秘密計算装置42−n(ただし、n=0,…,N−1)の整合性検証部423−nが互いに通信し、対象データの秘密分散値[b0]n,…,[bM−1]nおよびクエリまたはクエリの秘密分散値を[q0]n,…,[qJ−1]nの整合性検証をまとめて行う。すなわち、整合性検証部423−nは、[b0]n,…,[bM−1]n,[q0]n,…,[qJ−1]nを対象として整合性検証をまとめて行う。例えば、整合性検証部423−nは、I:=Nとし、i:=nとし、Y:=M+Jとし、([a0]i,…,[aY−1]i):=([b0]n,…,[bM−1]n,[q0]n,…,[qJ−1]n)とし、前述のステップS1201〜S1212の方法で整合性検証を行う。この場合も、対象データの秘密分散値およびクエリまたはクエリの秘密分散値を含む情報([b0]n,…,[bM−1]n,[q0]n,…,[qJ−1]n)を撹乱させた情報の整合性検証が行われてもよい。この整合性検証が合格である場合、[b0]n,…,[bM−1]n,[q0]n,…,[qJ−1]nが記憶部122−nに保持される。一方、この整合性検証が不合格である場合、[b0]n,…,[bM−1]n,[q0]n,…,[qJ−1]nが記憶部122−nから削除され、ステップS11の処理に戻すか、処理をエラー終了させる(ステップS45)。その後、第1実施形態のステップS16〜S18の処理が実行される。
まず、分析装置13と秘密計算装置42−nとが、第1実施形態で説明したステップS14の処理を実行する。次に、N個の秘密計算装置42−n(ただし、n=0,…,N−1)の整合性検証部423−nが互いに通信し、対象データの秘密分散値[b0]n,…,[bM−1]nおよびクエリまたはクエリの秘密分散値を[q0]n,…,[qJ−1]nの整合性検証をまとめて行う。すなわち、整合性検証部423−nは、[b0]n,…,[bM−1]n,[q0]n,…,[qJ−1]nを対象として整合性検証をまとめて行う。例えば、整合性検証部423−nは、I:=Nとし、i:=nとし、Y:=M+Jとし、([a0]i,…,[aY−1]i):=([b0]n,…,[bM−1]n,[q0]n,…,[qJ−1]n)とし、前述のステップS1201〜S1212の方法で整合性検証を行う。この場合も、対象データの秘密分散値およびクエリまたはクエリの秘密分散値を含む情報([b0]n,…,[bM−1]n,[q0]n,…,[qJ−1]n)を撹乱させた情報の整合性検証が行われてもよい。この整合性検証が合格である場合、[b0]n,…,[bM−1]n,[q0]n,…,[qJ−1]nが記憶部122−nに保持される。一方、この整合性検証が不合格である場合、[b0]n,…,[bM−1]n,[q0]n,…,[qJ−1]nが記憶部122−nから削除され、ステップS11の処理に戻すか、処理をエラー終了させる(ステップS45)。その後、第1実施形態のステップS16〜S18の処理が実行される。
なお、第2実施形態または第3実施形態のステップS25の整合性検証に代え、対象データの秘密分散値およびクエリまたはクエリの秘密分散値の整合性検証がまとめて行われてもよい。すなわち、N個の秘密計算装置42−nの整合性検証部423−nでの整合性検証が不合格であった場合、N個の秘密計算装置42−n(ただし、n=0,…,N−1)からなる集合の真部分集合Sに属する秘密計算装置42−u(ι)の整合性検証部423−u(ι)が、[b0]u(ι),…,[bM−1]u(ι),[q0]u(ι),…,[qJ−1]u(ι)を対象として整合性検証を行ってもよい。
[その他の変形例等]
なお、本発明は上述の実施の形態に限定されるものではない。例えば、各装置がネットワークを通じて情報をやり取りするのではなく、少なくとも一部の組の装置が可搬型記録媒体を介して情報をやり取りしてもよい。或いは、少なくとも一部の組の装置が非可搬型の記録媒体を介して情報をやり取りしてもよい。すなわち、これらの装置の一部からなる組み合わせが、同一の装置であってもよい。また、上述した各演算は有限体上の演算であってもよいし、拡大体上の演算であってもよいし、環上の演算であってもよいし、その他の代数系上での演算であってもよい。また、改ざん検知付秘密計算に代えて、改ざん検知機能を持たない秘密計算が行われてもよい。
なお、本発明は上述の実施の形態に限定されるものではない。例えば、各装置がネットワークを通じて情報をやり取りするのではなく、少なくとも一部の組の装置が可搬型記録媒体を介して情報をやり取りしてもよい。或いは、少なくとも一部の組の装置が非可搬型の記録媒体を介して情報をやり取りしてもよい。すなわち、これらの装置の一部からなる組み合わせが、同一の装置であってもよい。また、上述した各演算は有限体上の演算であってもよいし、拡大体上の演算であってもよいし、環上の演算であってもよいし、その他の代数系上での演算であってもよい。また、改ざん検知付秘密計算に代えて、改ざん検知機能を持たない秘密計算が行われてもよい。
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
1〜4 秘密計算システム
11 登録装置
12−n〜42−n 秘密計算装置
13 分析装置
11 登録装置
12−n〜42−n 秘密計算装置
13 分析装置
Claims (10)
- 複数個の秘密計算装置を有し、
前記秘密計算装置のそれぞれは、
秘密計算の対象となる対象データの秘密分散値を格納する記憶部と、
前記秘密計算を要求するクエリまたは前記クエリの秘密分散値が入力される入力部と、
前記対象データの秘密分散値の整合性検証および前記クエリまたは前記クエリの秘密分散値の整合性検証を行う整合性検証部と、
整合性検証に合格した前記対象データの秘密分散値を用い、整合性検証に合格した前記クエリまたは前記クエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得る秘密計算部と、
前記演算結果の秘密分散値を出力する出力部と、
を有し、
前記複数個の秘密計算装置のうち整合性検証に合格した前記対象データの秘密分散値を格納するものを要素とする第1集合と、前記複数個の秘密計算装置のうち整合性検証に合格した前記クエリまたは前記クエリの秘密分散値が入力されたものを要素とする第2集合と、の共通部分に属する前記秘密計算装置の前記出力部が前記演算結果の秘密分散値を出力し、
前記第1集合および前記第2集合の少なくとも一方が、前記複数個の秘密計算装置を要素とする全体集合の真部分集合であり、
前記共通部分に属する前記秘密計算装置は、前記共通部分の補集合に属する秘密計算装置の前記対象データの秘密分散値および前記クエリまたは前記クエリの秘密分散値の少なくとも一方を復元する復元部を有する、秘密計算システム。 - 請求項1の秘密計算システムであって、
前記共通部分に属する前記秘密計算装置の前記出力部は、前記共通部分の要素数が前記演算結果を復元するために必要な秘密分散値の個数以上である場合に、前記演算結果の秘密分散値を出力する、秘密計算システム。 - 複数個の秘密計算装置を有し、
前記秘密計算装置のそれぞれは、
秘密計算の対象となる対象データの秘密分散値を格納する記憶部と、
前記秘密計算を要求するクエリまたは前記クエリの秘密分散値が入力される入力部と、
前記対象データの秘密分散値の整合性検証および前記クエリまたは前記クエリの秘密分散値の整合性検証を行う整合性検証部と、
整合性検証に合格した前記対象データの秘密分散値を用い、整合性検証に合格した前記クエリまたは前記クエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得る秘密計算部と、
前記演算結果の秘密分散値を出力する出力部と、
を有し、
前記複数個の秘密計算装置のうち整合性検証に合格した前記対象データの秘密分散値を格納するものを要素とする第1集合と、前記複数個の秘密計算装置のうち整合性検証に合格した前記クエリまたは前記クエリの秘密分散値が入力されたものを要素とする第2集合と、の共通部分に属する前記秘密計算装置の前記出力部が前記演算結果の秘密分散値を出力し、
前記第1集合および前記第2集合の少なくとも一方が、前記複数個の秘密計算装置を要素とする全体集合の真部分集合であり、
前記整合性検証部が、前記全体集合の第1部分集合での前記対象データの秘密分散値の整合性検証が不合格であった場合、前記第1部分集合の真部分集合を前記第1部分集合として前記対象データの秘密分散値の整合性検証を行う第1再帰処理を行う、および/または、前記全体集合の第2部分集合での前記クエリまたは前記クエリの秘密分散値の整合性検証が不合格であった場合、前記第2部分集合の真部分集合を前記第2部分集合として前記クエリまたは前記クエリの秘密分散値の整合性検証を行う第2再帰処理を行う、秘密計算システム。 - 複数個の秘密計算装置を有し、
前記秘密計算装置のそれぞれは、
秘密計算の対象となる対象データの秘密分散値を格納する記憶部と、
前記秘密計算を要求するクエリまたは前記クエリの秘密分散値が入力される入力部と、
前記対象データの秘密分散値の整合性検証および前記クエリまたは前記クエリの秘密分散値の整合性検証を行う整合性検証部と、
整合性検証に合格した前記対象データの秘密分散値を用い、整合性検証に合格した前記クエリまたは前記クエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得る秘密計算部と、
前記演算結果の秘密分散値を出力する出力部と、
を有し、
前記複数個の秘密計算装置のうち整合性検証に合格した前記対象データの秘密分散値を格納するものを要素とする第1集合と、前記複数個の秘密計算装置のうち整合性検証に合格した前記クエリまたは前記クエリの秘密分散値が入力されたものを要素とする第2集合と、の共通部分に属する前記秘密計算装置の前記出力部が前記演算結果の秘密分散値を出力し、
前記第1集合および前記第2集合の少なくとも一方が、前記複数個の秘密計算装置を要素とする全体集合の真部分集合であり、
前記整合性検証部が、前記全体集合の第3部分集合での前記対象データの秘密分散値の整合性検証が不合格であった場合、前記第3部分集合の真部分集合と前記第3部分集合の補集合の部分集合との和集合を前記第3部分集合として前記対象データの秘密分散値の整合性検証を行う第3再帰処理を行う、および/または、前記全体集合の第4部分集合での前記クエリまたは前記クエリの秘密分散値の整合性検証が不合格であった場合、前記第4部分集合の真部分集合と前記第4部分集合の補集合の部分集合との和集合を前記第4部分集合として前記クエリまたは前記クエリの秘密分散値の整合性検証を行う第4再帰処理を行う、秘密計算システム。 - 請求項1から4の何れかの秘密計算システムであって、
前記整合性検証部は、前記対象データの秘密分散値および前記クエリまたは前記クエリの秘密分散値の整合性検証をまとめて行う、秘密計算システム。 - 請求項5の秘密計算システムであって、
前記整合性検証部は、前記対象データの秘密分散値および前記クエリまたは前記クエリの秘密分散値を含む情報を撹乱させた情報の整合性検証を行う、秘密計算システム。 - 複数個の秘密計算装置を有し、
前記秘密計算装置のそれぞれは、
秘密計算の対象となる対象データの秘密分散値を格納する記憶部と、
前記秘密計算を要求するクエリまたは前記クエリの秘密分散値が入力される入力部と、
前記対象データの秘密分散値の整合性検証および前記クエリまたは前記クエリの秘密分散値の整合性検証を行う整合性検証部と、
整合性検証に合格した前記対象データの秘密分散値を用い、整合性検証に合格した前記クエリまたは前記クエリの秘密分散値に応じた秘密計算を行って演算結果の秘密分散値を得る秘密計算部と、
前記演算結果の秘密分散値を出力する出力部と、
を有し、
前記整合性検証部は、
前記複数個の秘密計算装置を要素とする全体集合の部分集合で得られた複数個の任意値の合成値sを得る合成部と、
前記合成値sの関数値を係数とし、前記対象データの秘密分散値および前記クエリまたは前記クエリの秘密分散値の少なくとも一方を含む値の線形結合値[c]iを得る線形結合部と、
前記線形結合値[c]iに応じた秘密分散値[d]iを他の秘密計算装置に配送して整合性検証を行う検証部と、を含む、秘密計算システム。 - 請求項7の秘密計算システムであって、
前記整合性検証部は、
乱数秘密分散値[R]iを得る撹乱値設定部と、
前記乱数秘密分散値[R]iで前記線形結合値[c]iを撹乱させた前記秘密分散値[d]iを得る撹乱部と、を含む、秘密計算システム。 - 請求項1から8の何れかの前記秘密計算システムが有する秘密計算装置。
- 請求項9の秘密計算装置としてコンピュータを機能させるためのプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015147774A JP6034927B1 (ja) | 2015-07-27 | 2015-07-27 | 秘密計算システム、秘密計算装置、およびプログラム |
CN201680042855.8A CN107851164B (zh) | 2015-07-27 | 2016-07-20 | 秘密计算系统、秘密计算装置、秘密计算方法和存储介质 |
EP16830390.7A EP3330880B1 (en) | 2015-07-27 | 2016-07-20 | Secure computation system, secure computation device, secure computation method, and program |
US15/745,595 US10867018B2 (en) | 2015-07-27 | 2016-07-20 | Secure computation system, secure computation device, secure computation method, and program |
PCT/JP2016/071221 WO2017018285A1 (ja) | 2015-07-27 | 2016-07-20 | 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015147774A JP6034927B1 (ja) | 2015-07-27 | 2015-07-27 | 秘密計算システム、秘密計算装置、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6034927B1 true JP6034927B1 (ja) | 2016-11-30 |
JP2017028617A JP2017028617A (ja) | 2017-02-02 |
Family
ID=57419916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015147774A Active JP6034927B1 (ja) | 2015-07-27 | 2015-07-27 | 秘密計算システム、秘密計算装置、およびプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US10867018B2 (ja) |
EP (1) | EP3330880B1 (ja) |
JP (1) | JP6034927B1 (ja) |
CN (1) | CN107851164B (ja) |
WO (1) | WO2017018285A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023514039A (ja) * | 2021-01-10 | 2023-04-05 | グーグル エルエルシー | プライバシーを守る機械学習ラベリング |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5957126B1 (ja) * | 2015-06-24 | 2016-07-27 | 日本電信電話株式会社 | 秘密計算装置、秘密計算方法、およびプログラム |
SG11201806784UA (en) | 2016-02-23 | 2018-09-27 | Nchain Holdings Ltd | System and method for controlling asset-related actions via a blockchain |
KR102717212B1 (ko) * | 2016-02-23 | 2024-10-14 | 엔체인 홀딩스 리미티드 | 지갑 관리 시스템과 연계된 블록 체인 기반 시스템을 위한 암호키의 안전한 다기관 손실 방지 저장 및 전송 |
AU2017223138B2 (en) | 2016-02-23 | 2022-02-10 | nChain Holdings Limited | Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to an automated payroll method and system based on smart contracts |
JP6833861B2 (ja) | 2016-02-23 | 2021-02-24 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | ブロックチェーンシステム内におけるフィードバックを統合したエージェントベースチューリング完全なトランザクション |
MX2018010048A (es) | 2016-02-23 | 2019-01-21 | Nchain Holdings Ltd | Sistema universal de tokenizacion para criptomonedas basadas en cadena de bloques. |
US11182782B2 (en) | 2016-02-23 | 2021-11-23 | nChain Holdings Limited | Tokenisation method and system for implementing exchanges on a blockchain |
WO2017145002A1 (en) | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Personal device security using elliptic curve cryptography for secret sharing |
KR20180115768A (ko) | 2016-02-23 | 2018-10-23 | 엔체인 홀딩스 리미티드 | 블록체인으로부터 데이터의 안전한 추출을 위한 암호화 방법 및 시스템 |
CN116739778A (zh) | 2016-02-23 | 2023-09-12 | 区块链控股有限公司 | 具有令牌化的基于区块链的交换 |
SG11201805472RA (en) | 2016-02-23 | 2018-07-30 | Nchain Holdings Ltd | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys |
KR20180115779A (ko) | 2016-02-23 | 2018-10-23 | 엔체인 홀딩스 리미티드 | 디지털 콘텐츠를 제어 및 배포하기 위한 블록체인 구현 방법 |
MX2018010057A (es) | 2016-02-23 | 2019-01-21 | Nchain Holdings Ltd | Metodo de registro y de manejo automatico para contratos inteligentes de cumplimiento obligado por cadenas de bloques. |
JP6869250B2 (ja) | 2016-02-23 | 2021-05-12 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | ブロックチェーンを使用してピアツーピア分散型台帳におけるエンティティを効率的な移転のための方法およびシステム |
EP3420517B1 (en) | 2016-02-23 | 2022-07-06 | nChain Holdings Limited | A method and system for the secure transfer of entities on a blockchain |
MX2018010056A (es) | 2016-02-23 | 2019-01-21 | Nchain Holdings Ltd | Un metodo y sistema para asegurar software de computadora usando un cuadro hash distribuido y una cadena de bloques. |
JP6988807B2 (ja) * | 2016-08-18 | 2022-01-05 | 日本電気株式会社 | 秘密計算システム、秘密計算方法、秘密計算装置および秘密計算プログラム |
AU2018295722B2 (en) * | 2017-07-05 | 2020-11-19 | Nippon Telegraph And Telephone Corporation | Secure computation system, secure computation apparatus, secure computation method, program, and recording medium |
WO2019124260A1 (ja) | 2017-12-18 | 2019-06-27 | 日本電信電話株式会社 | 秘密計算システム及び方法 |
US12147547B2 (en) | 2019-02-12 | 2024-11-19 | Nec Corporation | Information processing apparatus, secure computation method, and program |
US12160506B2 (en) * | 2019-11-28 | 2024-12-03 | Nec Corporation | Shuffling shares among nodes to detect incorrectness or frauds |
WO2021106133A1 (ja) * | 2019-11-28 | 2021-06-03 | 日本電気株式会社 | シャッフルシステム、シャッフル方法及びプログラム |
JP7290177B2 (ja) * | 2020-01-20 | 2023-06-13 | 日本電信電話株式会社 | 秘密計算装置、秘密計算方法、およびプログラム |
US20220271933A1 (en) * | 2021-02-19 | 2022-08-25 | Samsung Electronics Co., Ltd. | System and method for device to device secret backup and recovery |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120002811A1 (en) * | 2010-06-30 | 2012-01-05 | The University Of Bristol | Secure outsourced computation |
US20120070000A1 (en) * | 2010-09-22 | 2012-03-22 | Alcatel-Lucent Usa Inc | Securing Two-Party Computation Against Malicious Adversaries |
US20120233460A1 (en) * | 2011-03-09 | 2012-09-13 | Microsoft Corporation | Server-aided multi-party protocols |
WO2014052113A1 (en) * | 2012-09-28 | 2014-04-03 | Alcatel Lucent | Input consistency verification for two-party secure function evaluation |
JP2014137474A (ja) * | 2013-01-17 | 2014-07-28 | Nippon Telegr & Teleph Corp <Ntt> | 改ざん検知装置、改ざん検知方法、およびプログラム |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5625692A (en) * | 1995-01-23 | 1997-04-29 | International Business Machines Corporation | Method and system for a public key cryptosystem having proactive, robust, and recoverable distributed threshold secret sharing |
JP3910538B2 (ja) * | 2001-03-16 | 2007-04-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 潜在的に非同期式のネットワーク中でシークレットを検証可能に共有する方法 |
US7187772B2 (en) * | 2001-08-31 | 2007-03-06 | Hewlett-Packard Development Company, L.P. | Anonymous transactions based on distributed processing |
AU2007351552B2 (en) * | 2006-11-07 | 2010-10-14 | Security First Corporation | Systems and methods for distributing and securing data |
EP2242032B1 (en) * | 2008-01-21 | 2013-10-02 | Nippon Telegraph and Telephone Corporation | Secure computing system, secure computing method, secure computing apparatus and program therefor |
US8527758B2 (en) * | 2009-12-09 | 2013-09-03 | Ebay Inc. | Systems and methods for facilitating user identity verification over a network |
EP2562736B1 (en) * | 2010-07-23 | 2016-06-29 | Nippon Telegraph And Telephone Corporation | Secret sharing system, sharing apparatus, sharing management apparatus, aquisition apparatus, secret sharing method, program and recording medium |
CN103309902A (zh) * | 2012-03-16 | 2013-09-18 | 多玩娱乐信息技术(北京)有限公司 | 一种社交网络中用户信息存储和查找的方法和装置 |
WO2014007310A1 (ja) * | 2012-07-05 | 2014-01-09 | 日本電信電話株式会社 | 秘密分散システム、データ分散装置、分散データ変換装置、秘密分散方法、およびプログラム |
JP6008316B2 (ja) * | 2012-08-24 | 2016-10-19 | パナソニックIpマネジメント株式会社 | 秘密分散装置および秘密分散プログラム |
US9111071B2 (en) * | 2012-11-05 | 2015-08-18 | Sap Se | Expression rewriting for secure computation optimization |
JP2016502377A (ja) * | 2013-01-08 | 2016-01-21 | バーイラン ユニバーシティー | 安全計算を用いて安全性を提供する方法 |
US9286488B2 (en) * | 2013-03-13 | 2016-03-15 | Northrop Grumman Systems Corporation | System and method for secure database queries |
US9747456B2 (en) * | 2013-03-15 | 2017-08-29 | Microsoft Technology Licensing, Llc | Secure query processing over encrypted data |
US10114851B2 (en) * | 2014-01-24 | 2018-10-30 | Sachet Ashok Shukla | Systems and methods for verifiable, private, and secure omic analysis |
WO2016075512A1 (en) * | 2014-11-12 | 2016-05-19 | Cerezo Sanchez David | Secure multiparty computation on spreadsheets |
WO2016178291A1 (ja) * | 2015-05-07 | 2016-11-10 | 日本電気株式会社 | 秘密計算データ利用システムと方法と装置並びにプログラム |
-
2015
- 2015-07-27 JP JP2015147774A patent/JP6034927B1/ja active Active
-
2016
- 2016-07-20 US US15/745,595 patent/US10867018B2/en active Active
- 2016-07-20 EP EP16830390.7A patent/EP3330880B1/en active Active
- 2016-07-20 CN CN201680042855.8A patent/CN107851164B/zh active Active
- 2016-07-20 WO PCT/JP2016/071221 patent/WO2017018285A1/ja active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120002811A1 (en) * | 2010-06-30 | 2012-01-05 | The University Of Bristol | Secure outsourced computation |
US20120070000A1 (en) * | 2010-09-22 | 2012-03-22 | Alcatel-Lucent Usa Inc | Securing Two-Party Computation Against Malicious Adversaries |
US20120233460A1 (en) * | 2011-03-09 | 2012-09-13 | Microsoft Corporation | Server-aided multi-party protocols |
WO2014052113A1 (en) * | 2012-09-28 | 2014-04-03 | Alcatel Lucent | Input consistency verification for two-party secure function evaluation |
JP2014137474A (ja) * | 2013-01-17 | 2014-07-28 | Nippon Telegr & Teleph Corp <Ntt> | 改ざん検知装置、改ざん検知方法、およびプログラム |
Non-Patent Citations (4)
Title |
---|
"Kaizan Kenchi Kinotsuki no Jitsuyoteki na Himitsu Keisan System MEVAL 2 [MEVAL2: A Practically Efficient MPC System with Unanimous Abort]", 2015 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY KOEN RONBUNSHU; 20-23/01/2015, 20 January 2015 (2015-01-20), JAPAN, pages 1 - 8, XP009508709 * |
JPN6016031056; 千田浩司 他: 'クラウドビジネスを支えるセキュリティ基盤技術' NTT技術ジャーナル 第26巻 第3号, 20140301, p.67-70 * |
JPN6016031057; 志村正法 他: '秘密分散データベースの構造演算を可能にするマルチパーティプロトコルを用いた関係代数演算' 情報処理学会論文誌 第51巻 第9号, 20100915, p.1563-1578, 一般社団法人情報処理学会 * |
JPN6016031061; 桐淵直人 他: '定数ラウンド完全一致検索のための秘密計算プロトコル' 2014年暗号と情報セキュリティシンポジウム講演論文集 , 20140121, p.1-7 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023514039A (ja) * | 2021-01-10 | 2023-04-05 | グーグル エルエルシー | プライバシーを守る機械学習ラベリング |
JP7457131B2 (ja) | 2021-01-10 | 2024-03-27 | グーグル エルエルシー | プライバシーを守る機械学習ラベリング |
Also Published As
Publication number | Publication date |
---|---|
WO2017018285A1 (ja) | 2017-02-02 |
CN107851164B (zh) | 2021-06-08 |
JP2017028617A (ja) | 2017-02-02 |
EP3330880A4 (en) | 2019-02-20 |
US20180225431A1 (en) | 2018-08-09 |
CN107851164A (zh) | 2018-03-27 |
EP3330880A1 (en) | 2018-06-06 |
US10867018B2 (en) | 2020-12-15 |
EP3330880B1 (en) | 2020-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6034927B1 (ja) | 秘密計算システム、秘密計算装置、およびプログラム | |
JP7569602B2 (ja) | 分散協調を用いるスマートコントラクトの実行 | |
CN110800250B (zh) | 受控加密私钥的发布 | |
KR102537774B1 (ko) | 기밀 지식의 특화된 증명을 제공하는 시스템들 및 방법들 | |
JP7155437B2 (ja) | 暗号化されたネットワーク値の集約 | |
KR20160030874A (ko) | 행렬 인수분해에 기초한 등급 기여 사용자들에게로의 추천을 프라이버시-보호하기 위한 방법 및 시스템 | |
KR20160041028A (ko) | 프라이버시 보호 행렬 분해를 위한 방법 및 시스템 | |
CN111556120A (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
JP2023554148A (ja) | 機密データのブロック | |
KR20220140759A (ko) | 분류 정확도를 향상시키기 위한 기계 학습 모델링 데이터의 처리 | |
JP6632959B2 (ja) | 検証システム、検証方法及び検証プログラム | |
JP7201848B2 (ja) | 時間データの取得または操作を防止しながらネットワークデータのシーケンスを生成すること | |
JP2022177209A (ja) | 複数の集約サーバを使用してデータ操作を防止すること | |
Enable | Personal Data Privacy and Support Cybersecurity | |
Mishra et al. | Enabling efficient deduplication and secure decentralized public auditing for cloud storage: a redactable blockchain approach | |
Duan et al. | Practical distributed privacy-preserving data analysis at large scale | |
Hwang et al. | Data error locations reported by public auditing in cloud storage service | |
Tu et al. | Privacy‐Preserving Outsourced Auditing Scheme for Dynamic Data Storage in Cloud | |
Ma et al. | Blockchain-based privacy-preserving federated learning for mobile crowdsourcing | |
CN111143381B (zh) | 用于更新多层块链式结构中的信任点的方法及装置 | |
CN111159286B (zh) | 用于生成多层块链式结构的方法及装置 | |
Rao et al. | Dynamic outsourced proofs of retrievability enabling auditing migration for remote storage security | |
Qiu et al. | Fast, private and verifiable: server-aided approximate similarity computation over large-scale datasets | |
Abraham et al. | Proving possession and retrievability within a cloud environment: A comparative survey | |
Zhao et al. | IB-IADR: Enabling Identity-Based Integrity Auditing and Data Recovery With Fault Localization for Multi-Cloud Storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161007 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20161025 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161028 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6034927 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |