Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7525066B2 - 秘密計算装置、秘密計算システム、秘密計算方法、およびプログラム - Google Patents
[go: Go Back, main page]

JP7525066B2 - 秘密計算装置、秘密計算システム、秘密計算方法、およびプログラム - Google Patents

秘密計算装置、秘密計算システム、秘密計算方法、およびプログラム Download PDF

Info

Publication number
JP7525066B2
JP7525066B2 JP2023527205A JP2023527205A JP7525066B2 JP 7525066 B2 JP7525066 B2 JP 7525066B2 JP 2023527205 A JP2023527205 A JP 2023527205A JP 2023527205 A JP2023527205 A JP 2023527205A JP 7525066 B2 JP7525066 B2 JP 7525066B2
Authority
JP
Japan
Prior art keywords
information
secure
key information
concealment
computation
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
Application number
JP2023527205A
Other languages
English (en)
Other versions
JPWO2022259366A1 (ja
Inventor
弘貴 須藤
大 五十嵐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2022259366A1 publication Critical patent/JPWO2022259366A1/ja
Application granted granted Critical
Publication of JP7525066B2 publication Critical patent/JP7525066B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Description

本発明は、暗号技術に関し、特に秘密計算技術に関する。
集合A,Bの積集合をA∩Bと表記する。集合A,Bの秘匿化情報を入力として用い、集合A,Bを秘匿化したまま、秘密計算によって、集合A,Bの積集合演算結果の秘匿化情報を得る秘密積集合計算方法が知られている(例えば、非特許文献1等参照)。
濱田浩気, 五十嵐大, 千田浩司, "秘密計算上の関係代数演算アルゴリズムの改良(Improved Algorithms for Computing Relational Algebra Operators for Secure Function Evaluation)",通信学技報LOIS2012-82, Vol. 112, No. 446, pp. 76-82, 2013.
しかし、従来の秘密積集合計算方法は、2個の集合の秘匿化情報を入力として用いる場合に限られていた。そのため、3個以上の集合の秘匿化情報を入力として用い、当該3個以上の集合の積集合演算結果の秘匿化情報を得るためには、2個の集合の秘匿化情報を入力として用いる秘密積集合計算を繰り返す必要があった。しかしながら、この方法では、積集合演算の対象となる集合の個数が増加するに伴ってラウンド数が増加し、また、ラウンド間で一部の処理が冗長になることから、計算コストが大きくなるという課題がある。
本発明はこのような点に鑑みてなされたものであり、2個の集合の秘匿化情報だけではなく、3個以上の集合の秘匿化情報をも、直接入力として扱うことが可能であり、当該3個以上の集合の積集合演算結果の秘匿化情報を直接得ることも可能な技術を提供することを目的とする。
本発明では、以下のように、L個の集合X0={x0,0,...,x0,r(0)-1},…,XL-1={xL-1,0,...,xL-1,r(L-1)-1}を秘匿化したまま、集合X0,…,XL-1の積集合の秘匿化情報を表す秘匿化演算結果を得る。ここでLは2以上の整数であり、i=0,...,L-1であり、r(i)が1以上の整数であり、j(i)=0,...,r(i)-1であり、mが1以上の整数であり、k0,...,km-1が互いに異なるキー情報であり、p=0,...,m-1であり、[α]がαの秘匿化情報であるとする。
(A)カウント部において、秘匿化要素[x0,0],...,[x0,r(0)-1],...,[xL-1,0],...,[xL-1,r(L-1)-1]を用い、秘密計算によって、カウント結果[c0],...,[cm-1]を得る。ここで、各要素xi,j(i)はキー情報k0,...,km-1の何れかを表し、要素x0,0,...,x0,r(0)-1,…,xL-1,0,...,xL-1,r(L-1)-1のうちキー情報kpを表す要素の個数がcpである。
(B)等号判定部において、カウント結果[c0],...,[cm-1]を用い、秘密計算によって、等号判定結果[eq0],...,[eqm-1]を得る。ここで、cp=Lのときeqp=Tであり、cp=Lでないときにeqp=Fであり、TおよびFが互いに異なる。
(C)出力フラグ付与部において、互いに対応付けられた秘匿化キー情報[kp]および等号判定結果[eqp]を含む秘匿化演算結果を出力する。
これにより、2個の集合の秘匿化情報だけではなく、3個以上の集合の秘匿化情報をも直接入力として扱うことが可能であり、当該3個以上の集合の積集合演算結果の秘匿化情報を直接得ることも可能になる。
図1は実施形態の秘密計算システムの機能構成を例示したブロック図である。 図2は実施形態の秘密計算装置の機能構成を例示したブロック図である。 図3は実施形態の秘密計算方法を例示するためのフロー図である。 図4は実施形態の秘密計算装置のハードウェア構成を例示したブロック図である。
以下、図面を参照して本発明の実施形態を説明する。
[用語の定義]
まず、実施形態で用いる記号を定義する。
X={xi,0,...,xi,r(i)-1}は、xi,0,...,xi,r(i)-1を要素とする集合を表す。iは集合のインデックスであり、i=0,...,L-1である。Lは集合X0={x0,0,...,x0,r(0)-1},…,XL-1={xL-1,0,...,xL-1,r(L-1)-1}の個数を表す2以上の整数である。Lが3以上であってもよい。r(i)は集合Xの要素数を表す1以上の整数である。r(i)は1であってもよいし、2以上であってもよい。λ(i)は集合Xの要素xi,0,...,xi,r(i)-1のインデックスであり、集合Xのインデックスλ(i)に対応する要素をxi,λ(i)と表記する。ただし、λ(i)=0,...,r(i)-1である。同じ集合Xに属する要素xi,0,...,xi,r(i)-1がそれぞれ表す内容(例えば、数値、文字(アルファベットや数字など)、日時など)は互いに異なっている。すなわち、同じ集合Xに属する要素xi,0,...,xi,r(i)-1がそれぞれ表す内容に重複はない。これは通常の集合の定義と同じである。
0,...,κΘ-1)はΘ個の要素κ0,...,κΘ-1の列を表す。例えば、列(κ0,...,κΘ-1)は要素κ0,...,κΘ-1を持つベクトルであるが、列(κ0,...,κΘ-1)の実装形態に限定はない。
[α]はαの秘匿化情報を表す。すなわち、[α]はαを秘匿化して得られる情報を表す。αが複数の要素κ0,...,κP-1の列(κ0,...,κP-1)である場合、α=(κ0,...,κP-1)が持つ複数の要素κ0,...,κP-1それぞれの秘匿化情報の列[κ0],...,[κP-1]も[α]と表現する。ただし、秘匿化情報[α]は秘密計算が可能な情報である。すなわち、αを秘匿したまま、秘匿化情報[α]を用いた秘密計算によって、αに対する演算結果βの秘匿化情報[β]を得ることができる。秘密計算は秘密分散に基づくものであってもよいし(例えば、非特許文献1等参照)、準同型暗号に基づくものであってもよい。前者の場合、[α]はαを秘密分散して得られるシェア(シークレットシェアまたは秘密分散値と呼ぶ場合もある)である。後者の場合、[α]は準同型暗号方式に則ってαを暗号化して得られる暗号文である。
<秘密分散>
秘密分散とはデータを複数の値(シェア)に分けて複数パーティに分散する暗号化手法である。秘密分散の一例は(K,N)閾値秘密分散である。(K,N)閾値秘密分散とは、元データをN個のランダムなシェアに分けて複数パーティに分散する方式であり、K個以上のシェアを集めると元のデータを復元できるが、K個未満のシェアからは元データの情報を得られないという性質を持つ秘密分散法である。ただし、K,NはK≦Nを満たす正整数である。(K,N)閾値秘密分散の具体例は、Shamir秘密分散(例えば、参考文献1等参照)や複製秘密分散(例えば、参考文献2,3等参照)である。
参考文献1:Adi Shamir, "How to share a secret," Communications of the ACM, Vol. 22, No. 11, pp. 612-613, 1979.
参考文献2:Mitsuru Ito, Akira Saito, and Takao Nishizeki, "Secret sharing scheme realizing general access structure," Electronics and Communications in Japan (Part III: Fundamental Electronic Science), Vol. 72, No. 9, pp. 56-64, 1989.
参考文献3:Ronald Cramer, Ivan Damgard, and Yuval Ishai, "Share conversion, pseudorandom secret-sharing and applications to secure computation," In Theory of Cryptography Conference, pp. 342-362. Springer, 2005.
以下、秘密計算による演算を例示する(例えば、非特許文献1等参照)。
<等号判定>
秘密計算による秘匿化情報[α1],[α2]の等号判定とは、α12の秘匿化情報[α1],[α2](例えば、シェア)を入力として用い、α12のときにβ=T(真)であり、α12でないときにβ=F(偽)である真偽値β∈{T,F}の秘匿化情報[β](例えば、シェア)を出力する演算を意味する。ここで、TとFは互いに異なる値を表し(T≠F)、例えば、T=1かつF=0であってもよいし、T=0かつF=1であってもよい。この演算の実行を以下のように記述する。
[β]←EQ([α1],[α2])
<Group-by Count>
秘密計算による秘匿化情報[A]のGroup-by Countとは、集合Aの秘匿化情報[A]を入力とし、秘密計算によって、同じ内容(例えば、同じ数値、同じ文字、同じ日時など)を表す要素ごとに集合Aの要素をグループ分けし、各グループGpに属する要素が表す内容を示すキー情報kpの秘匿化情報(秘匿化キー情報)[kp]と、各グループGpに属する要素の個数cpの秘匿化情報(カウント結果)[cp]とを得る処理を意味する。ここで、p=0,...,m-1であり、mはグループG0,...,Gm-1の個数である。同じグループGpに属する要素は同じ内容を表し、互いに異なるグループGp1およびグループGp2(ただし、p1,p2∈{0,...,m-1})に属する要素は、互いに異なる内容を表す。すなわち、集合Aの要素はキー情報k0,...,km-1の何れかを表し、集合Aの要素のうちキー情報kpを表す要素の個数がcpである。この処理の実行を以下のように記述する。
([k],[c])←GroupbyCount([A]) (1)
ここで[k]は列([k0],...,[km-1])を表し、[c]は列([c0],...,[cm-1])を表す。
これを実現する実装方法が参考文献4等に開示されている。
参考文献4:菊池亮, 濱田浩気, 五十嵐大, 高橋元. “横断的動線分析を秘密計算でやってみよう(Secure cross-sector customer-flow invention),” In SCIS2020, pp. 1-8, 2020.
また、集合AのグループG0,...,Gm-1の個数mを秘匿化するため、さらにダミー情報を含む[k]および[c]と、有効な情報とダミー情報とを区別するためのフラグの列[f]とが、Group-by Countで得られてもよい(例えば、参考文献4等参照)。すなわち、秘密計算による秘匿化情報[A]のGroup-by Countは、集合Aの秘匿化情報[A]を入力とし、秘密計算によって、列([f],[k],[c])を得る処理であってもよい。ここで、列[f]は、m個の有効フラグ[f0],...,[fm-1]およびn-m個のダミーフラグ[fm],...,[fn-1]を含む列である。nはmよりも大きな整数であり、f0,...,fm-1はB1であり、fm,...,fn-1はB0であり、B1およびB0は互いに異なる。B1およびB0はどのようなものであってもよいが、例えば、B1=1かつB0=0であってもよいし、B1=0かつB0=1であってもよい。秘匿化されている限り、有効フラグ[f0],...,[fm-1]とダミーフラグ[fm],...,[fn-1]との区別がつかないことが望ましい。列[k]は、m個の秘匿化キー情報[k0],...,[km-1]およびn-m個のダミー情報[km],...,[kn-1]を含む列である。秘匿化されている限り、秘匿化キー情報[k0],...,[km-1]とダミー情報[km],...,[kn-1]との区別がつかないことが望ましい。例えば、ダミー情報[km],...,[kn-1]は、ランダムに選択された情報(例えば、乱数)であってもよいし、ランダムに選択された情報の秘匿化情報であってもよい。列[c]は、m個のカウント結果[c0],...,[cm-1]およびn-m個のダミー情報[cm],...,[cn-1]を含む列である。秘匿化されている限り、カウント結果[c0],...,[cm-1]とダミー情報[cm],...,[cn-1]との区別がつかないことが望ましい。例えば、ダミー情報[cm],...,[cn-1]は、ランダムに選択された情報(例えば、乱数)であってもよいし、ランダムに選択された情報の秘匿化情報であってもよい。また、p=0,...,m-1について、有効フラグ[fp]と秘匿化キー情報[kp]とカウント結果[cp]とが互いに対応付けられ、q=m,...,n-1について、ダミーフラグ[fq]とダミー情報[kq]とダミー情報[cq]とが互いに対応付けられている。この場合、秘密計算による秘匿化情報[A]のGroup-by Countは、以下のように記述される。
([f],[k],[c])←GroupbyCount([A]) (2)
[第1実施形態]
次に、本発明の第1実施形態を説明する。
<構成>
図1に例示するように、第1実施形態の秘密計算システム1は、ネットワークを通じて通信可能に構成されたW個の秘密計算装置11-0,…,11-(W-1)を有する。ただし、Wは1以上の整数である。例えば、秘密計算装置11-0,…,11-(W-1)が秘密分散に基づく秘密計算を行う場合にはWは2以上の整数であり、準同型暗号に基づく秘密計算を行う場合にはWは1以上の整数である。
図2に例示するように、秘密計算装置11-w(ただし、w=0,…,W-1)は、入力部111-w、結合部112-w、カウント部113-w、等号判定部114-w、出力フラグ付与部115-w、制御部118-w、および記憶部119-wを有する。秘密計算装置11-wは、制御部118-wの制御に基づいて各処理を実行し、秘密計算装置11-wへ入力されたデータ、および各処理で得られたデータは記憶部119-wに格納され、必要に応じて読み出されて他の処理に用いられる。
<処理>
秘密計算装置11-w(ただし、w=0,…,W-1)は、秘密計算により、L個の集合X0={x0,0,...,x0,r(0)-1},…,XL-1={xL-1,0,...,xL-1,r(L-1)-1}を秘匿化したまま、集合X0,…,XL-1の積集合∩0≦i≦L-1Xiの演算結果の秘匿化情報を表すデータ構造の秘匿化演算結果[Z]を得て出力する。具体例を示すと、例えば、L=3であり、r(0)=4,r(1)=2,r(2)=2であり、3個の集合X0,X1,X2の要素がアルファベットを表し、X0={a,b,e,g},X1={b,e},X2={a,e}である場合、集合X0,X1,X2の積集合∩0≦i≦2Xiは{e}となり、秘密計算装置11-wは[e]を表す秘匿化演算結果[Z]を得て出力する。図3を用い、当該秘密計算装置11-wの秘密計算処理を説明する。
秘密計算装置11-wの入力部111-wには、L個の集合X0={x0,0,...,x0,r(0)-1},…,XL-1={xL-1,0,...,xL-1,r(L-1)-1}の秘匿化情報[X0],...,[XL-1]が入力される。上記の具体例では、[X0]={[a],[b],[e],[g]},[X1]={[b],[e]},[X2]={[a],[e]}が入力される。[X0],...,[XL-1]は、W個の秘密計算装置11-0,…,11-(W-1)の何れかから送られたものであってもよいし、図示していないその他の装置から送られたものであってもよい(ステップS111-w)。
[X0],...,[XL-1]は結合部112-wに入力される。結合部112-wは、[X0],...,[XL-1]の要素を結合した秘匿化要素[x0,0],...,[x0,r(0)-1],...,[xL-1,0],...,[xL-1,r(L-1)-1]の列[U]を得て出力する。例えば、結合部112-wは、秘匿化要素[x0,0],...,[x0,r(0)-1],...,[xL-1,0],...,[xL-1,r(L-1)-1]を縦に並べた以下の列[U]を得て出力する。
Figure 0007525066000001

例えば、上記の具体例の場合、
[X0]={[a],[b],[e],[g]},[X1]={[b],[e]},[X2]={[a],[e]}
であり、結合部112-wは、以下の式(3)の列[U]を得て出力する。
Figure 0007525066000002

[X0],...,[XL-1]の個数Lは等号判定部114-wに送られ、列[U]はカウント部113-wに送られる(ステップS112-w)。
カウント部113-wには列[U]が入力される。カウント部113-wは、列[U]の秘匿化要素[x0,0],...,[x0,r(0)-1],...,[xL-1,0],...,[xL-1,r(L-1)-1]を用い、秘密計算によって、カウント結果[c0],...,[cm-1]の列[c]=([c0],...,[cm-1])を得て出力する。ただし、j(i)=0,...,r(i)-1であり、mが1以上の整数であり、k0,...,km-1が互いに異なるキー情報であり、p=0,...,m-1である。各要素xi,j(i)はキー情報k0,...,km-1の何れかを表し、要素x0,0,...,x0,r(0)-1,…,xL-1,0,...,xL-1,r(L-1)-1のうちキー情報kpを表す要素の個数がcpである。
さらにカウント部113-wが、秘匿化要素[x0,0],...,[x0,r(0)-1],...,[xL-1,0],...,[xL-1,r(L-1)-1]を用い、秘密計算によって、秘匿化キー情報[k0],...,[km-1]の列[k]=([k0],...,[km-1])を得てもよい。すなわち、カウント部113-wが、例えば、以下の式(4)の列([k],[c])を得て出力してもよい。
([k],[c])=([k0],…,[km-1],[c0],…,[cm-1]) (4)
例えば、カウント部113-wは、式(1)に示したGroup-by Countによって、以下のように列([k],[c])を得てもよい。
([k],[c])←GroupbyCount([U]) (5)
例えば、式(3)に例示した列[U]の場合、式(5)によって以下の列([k],[c])が得られる。
([k],[c])=([a],[b],[e],[g],[2],[2],[3],[1]) (6)
ここで、[k]=([a],[b],[e],[g]),[c]=([2],[2],[3],[1])である。
キー情報k0,...,km-1に対応する列[k]=([k0],...,[km-1])は出力フラグ付与部115-wに送られ、列[c]=([c0],...,[cm-1])は等号判定部114-wに送られる(ステップS113-w)。
等号判定部114-wには、[X0],...,[XL-1]の個数Lおよび列[c]=([c0],...,[cm-1])が入力される。等号判定部114-wは、個数Lおよびカウント結果[c0],...,[cm-1]を用い、秘密計算によって、等号判定結果[eq0],...,[eqm-1]を得て出力する。ただし、cp=Lのときeqp=Tであり、cp=Lでないときにeqp=Fであり、TおよびFが互いに異なる。例えば、T=1かつF=0であってもよいし、T=0かつF=1であってもよい。例えば、等号判定部114-wは、p=0,...,m-1について(すなわち、[cp]∈[c]について)、以下の計算を行う(例えば、p=0,...,m-1について並列に計算を行う)。
[eqp]←EQ([cp],L)
例えば、式(6)に例示した列[c]の場合、T=1かつF=0とすると、以下の式(7)に示す等号判定結果が得られる。
[eq0]=[0],[eq1]=[0],[eq2]=[1],[eq3]=[0],[eq4]=[0] (7)
等号判定結果[eq0],...,[eqm-1]の列[eq]は出力フラグ付与部115-wに送られる(ステップS114-w)。
出力フラグ付与部115-wには、列[k]=([k0],...,[km-1])および列[eq]=([eq0],...,[eqm-1])が入力される。出力フラグ付与部115-wは、p=0,...,m-1について、互いに対応付けられた秘匿化キー情報[kp]および等号判定結果[eqp]を含む秘匿化演算結果[Z]=([eq],[k])を出力する。例えば、出力フラグ付与部115-wは、以下の秘匿化演算結果[Z]を出力する。
Figure 0007525066000003

例えば、式(6)に例示した[k]=([a],[b],[e],[g])および式(7)に例示した[eq0]=[0],[eq1]=[0],[eq2]=[1],[eq3]=[0],[eq4]=[0]の場合、以下の秘匿化演算結果[Z]が出力される。
Figure 0007525066000004

この秘匿化演算結果[Z]では、集合X0,X1,X2の積集合∩0≦i≦2Xiである{e}に対応する[e]に[1]が対応付けられ、その他の[a][b][g]に[0]が対応付けられている。
<本実施形態の特徴>
集合X0={x0,0,...,x0,r(0)-1},…,XL-1={xL-1,0,...,xL-1,r(L-1)-1}について、同じ集合Xに属する要素xi,0,...,xi,r(i)-1がそれぞれ表す内容に重複はないことを仮定すると、カウント部113-wで得られたカウント結果[cp]に対応する要素の個数cp(キー情報kpを表す要素)が集合X0,…,XL-1の個数Lと等しいということは、集合X0,…,XL-1のそれぞれに同じキー情報kpを表す要素が1個ずつ含まれていたとに他ならない。そのため、等号判定部114-wで[eqp]=[T](例えば、[1])となるキー情報kpは、集合X0,…,XL-1の積集合∩0≦i≦L-1Xiの演算結果である集合の要素である。そのため、互いに対応付けられた秘匿化キー情報[kp]および等号判定結果[eqp]を含む秘匿化演算結果[Z]=([eq],[k])のデータ構造は、積集合∩0≦i≦L-1Xiの演算結果の秘匿化情報を表している。
本実施形態の方法は、集合X0,…,XL-1の個数Lが2であっても、3以上であってもそのまま適用でき、3個以上の集合X0,…,XL-1の秘匿化情報をも、直接入力として扱うことが可能であり、当該3個以上X0,…,XL-1の集合の積集合演算結果の秘匿化情報を直接得ることも可能である。カウント部113-wの処理は、集合X0,…,XL-1を結合したUの秘匿化情報[U]に対して実行されるものであり、Lの値にかかわらず、1度のGroup-by Count等によって直接実行できる。また、等号判定部114-wで比較されるLはビット数が少ない(log2(L))ため計算コストも小さい。[cp]とLとの等号判定にはpに関する順序依存がないため、p=0,...,m-1について並列に計算することが可能であり、高速に計算可能である。特に、本実施形態の方法は、集合X0,…,XL-1の個数が大きい場合や、実行時間の長さの影響が大きい環境、例えば遅延の大きなネットワーク環境において特に有効である。
なお、秘匿化演算結果[Z]は、Zを復元するために用いられてもよいし、後続の秘密計算の被演算子として用いられてもよい。
[第2実施形態]
次に、本発明の第2実施形態を説明する。第1実施形態のカウント部113-wで得られる列[k]=([k0],...,[km-1])はキー情報k0,...,km-1を秘匿したものであり、列[c]=([c0],...,[cm-1])は要素x0,0,...,x0,r(0)-1,…,xL-1,0,...,xL-1,r(L-1)-1のうちキー情報k0,...,km-1にそれぞれ一致する要素の個数c0,...,cm-1を秘匿したものである。そのため、キー情報k0,...,km-1自体および要素の個数c0,...,cm-1自体は秘匿されているが、[k0],...,[km-1]の個数mおよび[c0],...,[cm-1]の個数m、すなわち集合X0,…,XL-1の要素がm個のグループに区分けされることは秘匿されていない。これを秘匿するためにダミー情報が付加されてもよい。以下では、第1実施形態との相違点を中心に説明し、既に説明した事項については同じ参照番号や記号を用いて説明を簡略化する。
<構成>
図1に例示するように、第2実施形態の秘密計算システム2は、ネットワークを通じて通信可能に構成されたW個の秘密計算装置21-0,…,21-(W-1)を有する。ただし、Wは1以上の整数である。例えば、秘密計算装置21-0,…,21-(W-1)が秘密分散に基づく秘密計算を行う場合にはWは2以上の整数であり、準同型暗号に基づく秘密計算を行う場合にはWは1以上の整数である。
図2に例示するように、秘密計算装置21-w(ただし、w=0,…,W-1)は、入力部111-w、結合部112-w、カウント部213-w、等号判定部214-w、出力フラグ付与部215-w、制御部118-w、および記憶部119-wを有する。秘密計算装置21-wは、制御部118-wの制御に基づいて各処理を実行し、秘密計算装置11-wへ入力されたデータ、および各処理で得られたデータは記憶部119-wに格納され、必要に応じて読み出されて他の処理に用いられる。
<処理>
秘密計算装置21-wの入力部111-wには、L個の集合X0={x0,0,...,x0,r(0)-1},…,XL-1={xL-1,0,...,xL-1,r(L-1)-1}の秘匿化情報[X0],...,[XL-1]が入力される(ステップS111-w)。
[X0],...,[XL-1]は結合部112-wに入力される。結合部112-wは、[X0],...,[XL-1]の要素を結合した秘匿化要素[x0,0],...,[x0,r(0)-1],...,[xL-1,0],...,[xL-1,r(L-1)-1]の列[U]を得て出力する(ステップS112-w)。
カウント部213-wには列[U]が入力される。カウント部213-wは、列[U]の秘匿化要素[x0,0],...,[x0,r(0)-1],...,[xL-1,0],...,[xL-1,r(L-1)-1]を用い、秘密計算によって、列([f],[k],[c])を得て出力する。列[f]は、m個の有効フラグ[f0],...,[fm-1]およびn-m個のダミーフラグ[fm],...,[fn-1]を含む列であり、f0,...,fm-1はB1であり、fm,...,fn-1はB0であり、B1およびB0が互いに異なる。ここで、nはmよりも大きな整数である。列[k]は、m個の秘匿化キー情報[k0],...,[km-1]およびn-m個のダミー情報[km],...,[kn-1]を含む列である。ダミー情報[km],...,[kn-1]に対応するkm,...,kn-1のそれぞれは、キー情報k0,...,km-1のいずれかに一致していてもよいし、キー情報k0,...,km-1のいずれとも一致しなくてもよい。列[c]は、m個のカウント結果[c0],...,[cm-1]およびn-m個のダミー情報[cm],...,[cn-1]を含む列である。p=0,...,m-1について、有効フラグ[fp]と秘匿化キー情報[kp]とカウント結果[cp]とが互いに対応付けられている。ダミー情報[cm],...,[cn-1]に対応するcm,...,cn-1はそれぞれLと相違する。また、q=m,...,n-1について、ダミーフラグ[fq]とダミー情報[kq]とダミー情報[cq]とが互いに対応付けられている。例えば、カウント部213-wは、以下の式(9)の列([f],[k],[c])を得て出力する。
([f],[k],[c])=([B1],…,[B1],[B0],…,[B0],[k0],…,[km-1],[km],…,[kn-1],[c0],…,[cm-1],[cm],…,[cn-1])
例えば、カウント部213-wは、式(2)に示したGroup-by Countによって、以下のように列([f],[k],[c])を得てもよい。
([f],[k],[c])←GroupbyCount([U]) (9)
例えば、m=4かつn=5であり、式(3)に例示した列[U]の場合、式(9)によって以下の列([f],[k],[c])が得られる。
([f],[k],[c])=([1],[1],[1],[1],[0],[a],[b],[e],[g],[*],[2],[2],[3],[1],[*]) (10)
ここで、
[f]=([1],[1],[1],[1],[0]),
[k]=([a],[b],[e],[g],[*]),
[c]=([2],[2],[3],[1],[*])
であり、[*]はダミー情報を表す。
列[k]=([k0],...,[km-1],[km],...,[kn-1])は出力フラグ付与部215-wに送られ、列[c]=([c0],...,[cm-1],[cm],...,[cn-1])は等号判定部214-wに送られる(ステップS213-w)。
等号判定部214-wには、[X0],...,[XL-1]の個数Lおよび列[c]=([c0],...,[cm-1],[cm],...,[cn-1])が入力される。等号判定部214-wは、列([f],[k],[c])を用い、秘密計算によって、等号判定結果[eq0],...,[eqm-1]およびダミー情報[eqm],...,[eqn-1]を得、これらを含む列[eq]=([eq0],...,[eqm-1],[eqm],...,[eqn-1])を得て出力する。p=0,...,m-1についての[eq0],...,[eqm-1]は第1実施形態と同一である。q=m,...,n-1についての[eqm],...,[eqn-1]は、eqm,...,eqn-1の秘匿化情報である。ただし、cq=Lのときeqq=Tであり、cq=Lでないときにeqq=Fであり、q=m,...,n-1についてのTおよびFはp=0,...,m-1についてのものと同一であり、TおよびFが互いに異なる。前述のように、cm,...,cn-1はそれぞれLと一致しないため、eqm=...=eqn-1=Fであり、([eqm],...,[eqn-1])=([F],...,[F])である。
例えば、等号判定部214-wは、u=0,...,n-1について(すなわち、[cu]∈[c]について)、以下の計算を行う(例えば、u=0,...,n-1について並列に計算を行う)。
[equ]←EQ([cu],L)
例えば、式(10)に例示した列[c]の場合、T=1かつF=0とすると、以下の式(11)に示す等号判定結果が得られる。
[eq0]=[0],[eq1]=[0],[eq2]=[1],[eq3]=[0],[eq4]=[0],[eq5]=[0] (11)
等号判定結果[eq0],...,[eqn-1]の列[eq]は出力フラグ付与部215-wに送られる(ステップS214-w)。
出力フラグ付与部215-wには、列[k]=([k0],...,[kn-1])および列[eq]=([eq0],...,[eqn-1])が入力される。出力フラグ付与部215-wは、p=0,...,m-1について互いに対応付けられた秘匿化キー情報[kp]および等号判定結果[eqp]、および、q=m,...,n-1について互いに対応付けられたダミー情報[kq]およびダミー情報[eqq]を含む秘匿化演算結果[Z]=([eq],[k])を出力する。例えば、出力フラグ付与部215-wは、以下の秘匿化演算結果[Z]を出力する。
Figure 0007525066000005

例えば、式(10)に例示した[k]=([a],[b],[e],[g],[*])および式(11)に例示した[eq0]=[0],[eq1]=[0],[eq2]=[1],[eq3]=[0],[eq4]=[0],[eq5]=[0]の場合、以下の秘匿化演算結果[Z]が出力される。
Figure 0007525066000006

この秘匿化演算結果[Z]では、集合X0,X1,X2の積集合∩0≦i≦2Xiである{e}に対応する[e]に[1]が対応付けられ、その他の[a][b][g][*]に[0]が対応付けられている。
<本実施形態の特徴>
集合X0={x0,0,...,x0,r(0)-1},…,XL-1={xL-1,0,...,xL-1,r(L-1)-1}について、同じ集合Xに属する要素xi,0,...,xi,r(i)-1がそれぞれ表す内容に重複はないことを過程すると、カウント部213-wで得られたカウント結果[cp](ただし、p=0,...,m-1)に対応する要素の個数cp(キー情報kpを表す要素)が集合X0,…,XL-1の個数Lと等しいということは、集合X0,…,XL-1のそれぞれに同じキー情報kpを表す要素が1個ずつ含まれていたとに他ならない。また、ダミー情報[cm],...,[cn-1]に対応するcm,...,cn-1はそれぞれLと相違する。そのため、等号判定部214-wで[equ]=[T](ただし、u=0,...,n-1)となるキー情報kuは、集合X0,…,XL-1の積集合∩0≦i≦L-1Xiの演算結果である集合の要素である。また、ダミー情報[km],...,[kn-1]に対応するkm,...,kn-1のそれぞれは、集合X0,…,XL-1の実際のキー情報k0,...,km-1のいずれとも一致しない。そのため、互いに対応付けられた秘匿化キー情報[ku]および等号判定結果[equ]を含む秘匿化演算結果[Z]=([eq],[k])のデータ構造は、積集合∩0≦i≦L-1Xiの演算結果の秘匿化情報を表している。
本実施形態の方法は、集合X0,…,XL-1の個数Lが2であっても、3以上であってもそのまま適用でき、3個以上の集合X0,…,XL-1の秘匿化情報をも、直接入力として扱うことが可能であり、当該3個以上X0,…,XL-1の集合の積集合演算結果の秘匿化情報を直接得ることも可能である。カウント部213-wの処理は、集合X0,…,XL-1を結合したUの秘匿化情報[U]に対して実行されるものであり、Lの値にかかわらず、1度のGroup-by Count等によって直接実行できる。また、等号判定部214-wで比較されるLはビット数が少ない(log2(L))ため計算コストも小さい。[cu]とLとの等号判定にはuに関する順序依存がないため、u=0,...,n-1について並列に計算することが可能であり、高速に計算可能である。本実施形態の方法も、集合X0,…,XL-1の個数が大きい場合や、実行時間の長さの影響が大きい環境、例えば遅延の大きなネットワーク環境において特に有効である。さらに、本実施形態で得られる列([f],[k],[c])、列[eq]、秘匿化演算結果[Z]は、いずれもダミー情報を含み、集合X0,…,XL-1の要素がm個のグループに区分けされることも秘匿されている。よって、本実施形態の方法はより安全性が高い。
なお、秘匿化演算結果[Z]は、Zを復元するために用いられてもよいし、後続の秘密計算の被演算子として用いられてもよい。例えば、参考文献5等に開示された方法によって秘匿化演算結果[Z]からダミー情報に対応する無効な要素(行)を削除し、得られた結果を他のデータベース演算に利用してもよい。
参考文献5:須藤弘貴, 五十嵐大,“行数のみ開示する秘密計算データベース管理システムの実装と評価,” In SCIS2021, pp. 1-6, 2021.
[ハードウェア構成]
各実施形態における秘密計算装置11-w,21-w,は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。すなわち、各実施形態における秘密計算装置11-w,21-wは、例えば、それぞれが有する各部を実装するように構成された処理回路(processing circuitry)を有する。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
図4は、各実施形態における秘密計算装置11-w,21-wのハードウェア構成を例示したブロック図である。図4に例示するように、この例の秘密計算装置11-w,21-wは、CPU(Central Processing Unit)10a、入力部10b、出力部10c、RAM(Random Access Memory)10d、ROM(Read Only Memory)10e、補助記憶装置10f及びバス10gを有している。この例のCPU10aは、制御部10aa、演算部10ab及びレジスタ10acを有し、レジスタ10acに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、入力部10bは、データが入力される入力端子、キーボード、マウス、タッチパネル等である。また、出力部10cは、データが出力される出力端子、ディスプレイ、所定のプログラムを読み込んだCPU10aによって制御されるLANカード等である。また、RAM10dは、SRAM (Static Random Access Memory)、DRAM (Dynamic Random Access Memory)等であり、所定のプログラムが格納されるプログラム領域10da及び各種データが格納されるデータ領域10dbを有している。また、補助記憶装置10fは、例えば、ハードディスク、MO(Magneto-Optical disc)、半導体メモリ等であり、所定のプログラムが格納されるプログラム領域10fa及び各種データが格納されるデータ領域10fbを有している。また、バス10gは、CPU10a、入力部10b、出力部10c、RAM10d、ROM10e及び補助記憶装置10fを、情報のやり取りが可能なように接続する。CPU10aは、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置10fのプログラム領域10faに格納されているプログラムをRAM10dのプログラム領域10daに書き込む。同様にCPU10aは、補助記憶装置10fのデータ領域10fbに格納されている各種データを、RAM10dのデータ領域10dbに書き込む。そして、このプログラムやデータが書き込まれたRAM10d上のアドレスがCPU10aのレジスタ10acに格納される。CPU10aの制御部10aaは、レジスタ10acに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM10d上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部10abに順次実行させ、その演算結果をレジスタ10acに格納していく。このような構成により、秘密計算装置11-w,21-wの機能構成が実現される。
上述のプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。上述のように、このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
各実施形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
なお、本発明は上述の実施形態に限定されるものではない。例えば、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
本発明は、秘密計算によって、2個以上の集合に対する積和演算を行う用途に適用することができる。例えば、秘密計算によってRDBMS(Relational DataBase Management System)で積和演算を行う用途に本発明を利用することができる。
1 秘密計算システム
11-w,21-w 秘密計算装置
113-w,カウント部213-w
114-w,214-w 等号判定部
115-w,215-w 出力フラグ付与部

Claims (7)

  1. L個の集合X0={x0,0,...,x0,r(0)-1},…,XL-1={xL-1,0,...,xL-1,r(L-1)-1}を秘匿化したまま、前記集合X0,…,XL-1の積集合の秘匿化情報を表す秘匿化演算結果を得る秘密計算装置であって、
    Lが2以上の整数であり、i=0,...,L-1であり、r(i)が1以上の整数であり、j(i)=0,...,r(i)-1であり、mが1以上の整数であり、k0,...,km-1が互いに異なるキー情報であり、p=0,...,m-1であり、[α]がαの秘匿化情報であり、
    (A)各要素xi,j(i)は前記キー情報k0,...,km-1の何れかを表し、要素x0,0,...,x0,r(0)-1,…,xL-1,0,...,xL-1,r(L-1)-1のうちキー情報kpを表す要素の個数がcpであり、
    秘匿化要素[x0,0],...,[x0,r(0)-1],...,[xL-1,0],...,[xL-1,r(L-1)-1]を用い、秘密計算によって、カウント結果[c0],...,[cm-1]を得るカウント部と、
    (B)cp=Lのときeqp=Tであり、cp=Lでないときにeqp=Fであり、TおよびFが互いに異なり、
    前記カウント結果[c0],...,[cm-1]を用い、秘密計算によって、等号判定結果[eq0],...,[eqm-1]を得る等号判定部と、
    (C)互いに対応付けられた秘匿化キー情報[kp]および等号判定結果[eqp]を含む前記秘匿化演算結果を出力する出力フラグ付与部と、
    を有する秘密計算装置。
  2. 請求項1の秘密計算装置であって、
    前記カウント部は、
    前記秘匿化要素[x0,0],...,[x0,r(0)-1],...,[xL-1,0],...,[xL-1,r(L-1)-1]を用い、秘密計算によって、さらに秘匿化キー情報[k0],...,[km-1]を得る、秘密計算装置。
  3. 請求項2の秘密計算装置であって、
    nがmよりも大きな整数であり、
    (A)前記カウント部は、列([f],[k],[c])を得、
    列[f]は、m個の有効フラグ[f0],...,[fm-1]およびn-m個のダミーフラグ[fm],...,[fn-1]を含む列であり、f0,...,fm-1はB1であり、fm,...,fn-1はB0であり、B1およびB0が互いに異なり、
    列[k]は、m個の秘匿化キー情報[k0],...,[km-1]およびn-m個のダミー情報[km],...,[kn-1]を含む列であり、
    列[c]は、m個の前記カウント結果[c0],...,[cm-1]およびn-m個のダミー情報[cm],...,[cn-1]を含む列であり、
    p=0,...,m-1について、有効フラグ[fp]と秘匿化キー情報[kp]とカウント結果[cp]とが互いに対応付けられ、
    q=m,...,n-1について、ダミーフラグ[fq]とダミー情報[kq]とダミー情報[cq]とが互いに対応付けられ、
    (B)前記等号判定部は、前記列([f],[k],[c])を用い、秘密計算によって、前記等号判定結果[eq0],...,[eqm-1]およびダミー情報[eqm],...,[eqn-1]を得、
    (C)前記出力フラグ付与部は、p=0,...,m-1について互いに対応付けられた前記秘匿化キー情報[kp]および前記等号判定結果[eqp]、および、q=m,...,n-1について互いに対応付けられたダミー情報[kq]およびダミー情報[eqq]を含む、前記秘匿化演算結果を出力する、秘密計算装置。
  4. 請求項1から3の何れかの秘密計算装置であって、
    Lが3以上の整数である、秘密計算装置。
  5. 請求項1から4の何れかの秘密計算装置を有する秘密計算システム。
  6. L個の集合X0={x0,0,...,x0,r(0)-1},…,XL-1={xL-1,0,...,xL-1,r(L-1)-1}を秘匿化したまま、前記集合X0,…,XL-1の積集合の秘匿化情報を表す秘匿化演算結果を得る秘密計算装置の秘密計算方法であって、
    Lが2以上の整数であり、i=0,...,L-1であり、r(i)が1以上の整数であり、j(i)=0,...,r(i)-1であり、mが1以上の整数であり、k0,...,km-1が互いに異なるキー情報であり、p=0,...,m-1であり、[α]がαの秘匿化情報であり、
    (A)各要素xi,j(i)は前記キー情報k0,...,km-1の何れかを表し、要素x0,0,...,x0,r(0)-1,…,xL-1,0,...,xL-1,r(L-1)-1のうちキー情報kpを表す要素の個数がcpであり、
    カウント部において、秘匿化要素[x0,0],...,[x0,r(0)-1],...,[xL-1,0],...,[xL-1,r(L-1)-1]を用い、秘密計算によって、カウント結果[c0],...,[cm-1]を得るカウントステップと、
    (B)cp=Lのときeqp=Tであり、cp=Lでないときにeqp=Fであり、TおよびFが互いに異なり、
    等号判定部において、前記カウント結果[c0],...,[cm-1]を用い、秘密計算によって、等号判定結果[eq0],...,[eqm-1]を得る等号判定ステップと、
    (C)出力フラグ付与部において、互いに対応付けられた秘匿化キー情報[kp]および等号判定結果[eqp]を含む前記秘匿化演算結果を出力する出力フラグ付与ステップと、
    を有する秘密計算方法。
  7. 請求項1から4の何れかの秘密計算装置としてコンピュータを機能させるためのプログラム。
JP2023527205A 2021-06-08 2021-06-08 秘密計算装置、秘密計算システム、秘密計算方法、およびプログラム Active JP7525066B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/021741 WO2022259366A1 (ja) 2021-06-08 2021-06-08 秘密計算装置、秘密計算システム、秘密計算方法、およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2022259366A1 JPWO2022259366A1 (ja) 2022-12-15
JP7525066B2 true JP7525066B2 (ja) 2024-07-30

Family

ID=84425875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023527205A Active JP7525066B2 (ja) 2021-06-08 2021-06-08 秘密計算装置、秘密計算システム、秘密計算方法、およびプログラム

Country Status (5)

Country Link
US (1) US12475237B2 (ja)
EP (1) EP4354415B1 (ja)
JP (1) JP7525066B2 (ja)
CN (1) CN117461068A (ja)
WO (1) WO2022259366A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010166228A (ja) 2009-01-14 2010-07-29 Nec Corp 分散型秘匿化データ統合装置、分散型秘匿化データ統合方法および分散型秘匿化データ統合用プログラム
JP2014164145A (ja) 2013-02-26 2014-09-08 Nippon Telegr & Teleph Corp <Ntt> 秘密集合演算装置及び方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060010430A1 (en) * 2001-05-04 2006-01-12 Thales Device and process for the signature, the marking and the authentication of computer programs
CN101719910B (zh) * 2009-11-16 2015-02-11 北京数字太和科技有限责任公司 一种实现内容保护的终端设备及其传输方法
JP5486520B2 (ja) * 2011-01-21 2014-05-07 日本電信電話株式会社 セキュア集合関数システム、秘密集合関数装置、セキュア集合関数処理方法、セキュア集合関数プログラム
JP5875717B1 (ja) * 2015-01-14 2016-03-02 日本電信電話株式会社 乱数生成装置、乱数生成方法、およびプログラム
WO2016120975A1 (ja) 2015-01-26 2016-08-04 株式会社日立製作所 データ集計分析システム及びその方法
JP6585846B2 (ja) * 2016-07-06 2019-10-02 日本電信電話株式会社 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
JP6612468B2 (ja) * 2017-03-03 2019-11-27 グーグル エルエルシー 特定の識別情報を開示することなく識別子の間のリンクを確立するためのシステムおよび方法
CN111277570A (zh) * 2020-01-10 2020-06-12 中电长城网际系统应用有限公司 数据的安全监测方法和装置、电子设备、可读介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010166228A (ja) 2009-01-14 2010-07-29 Nec Corp 分散型秘匿化データ統合装置、分散型秘匿化データ統合方法および分散型秘匿化データ統合用プログラム
JP2014164145A (ja) 2013-02-26 2014-09-08 Nippon Telegr & Teleph Corp <Ntt> 秘密集合演算装置及び方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BLANTON, Marina et al.,Private and Oblivious Set and Multiset Operations,Cryptology ePrint Archive: Report 2011/464,2014年04月,pp. 1-38,[online], [retrieved on 2021-08-03], Retrieved from <https://eprint.iacr.org/2011/464>

Also Published As

Publication number Publication date
JPWO2022259366A1 (ja) 2022-12-15
US12475237B2 (en) 2025-11-18
EP4354415A4 (en) 2025-04-02
US20240273219A1 (en) 2024-08-15
WO2022259366A1 (ja) 2022-12-15
CN117461068A (zh) 2024-01-26
EP4354415A1 (en) 2024-04-17
EP4354415B1 (en) 2026-02-11

Similar Documents

Publication Publication Date Title
JP6989006B2 (ja) 秘密集約関数計算システム、秘密計算装置、秘密集約関数計算方法、およびプログラム
CN101938355A (zh) 用于执行有效率的抗侧信道攻击的简化的方法和设备
Mandal et al. Data oblivious genome variants search on Intel SGX
JPWO2020071187A1 (ja) 秘密シグモイド関数計算システム、秘密ロジスティック回帰計算システム、秘密シグモイド関数計算装置、秘密ロジスティック回帰計算装置、秘密シグモイド関数計算方法、秘密ロジスティック回帰計算方法、プログラム
JP7226562B2 (ja) 秘密ソフトマックス関数計算システム、秘密ソフトマックス関数計算装置、秘密ソフトマックス関数計算方法、秘密ニューラルネットワーク計算システム、秘密ニューラルネットワーク学習システム、プログラム
JP7060115B2 (ja) 秘密配列アクセス装置、秘密配列アクセス方法、およびプログラム
JPWO2019208486A1 (ja) 秘密集約中央値システム、秘密計算装置、秘密集約中央値方法、およびプログラム
JP7647888B2 (ja) 秘密等結合装置、秘密等結合方法、およびプログラム
JP7533784B2 (ja) 秘密計算装置、秘密計算システム、秘密計算方法、およびプログラム
JP7525066B2 (ja) 秘密計算装置、秘密計算システム、秘密計算方法、およびプログラム
JP7173328B2 (ja) 秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム
JP7747192B2 (ja) 秘密属性選択システム、秘密属性選択装置、秘密属性選択方法、プログラム
Chen et al. Improving file locality in multi-keyword top-k search based on clustering
JP7552734B2 (ja) 秘密関係代数演算システム、秘密計算装置、秘密関係代数演算方法、およびプログラム
JP7643595B2 (ja) 秘密クラスタ計算システム、秘密クラスタ計算装置、秘密クラスタ計算方法、プログラム
JP7643594B2 (ja) 秘密乱数計算システム、秘密乱数計算装置、秘密乱数計算方法、秘密クラスタ計算システム、秘密クラスタ計算装置、秘密クラスタ計算方法、プログラム
JP7747215B2 (ja) クライアント装置、秘密テーブル管理システム、レコード登録要求生成方法、レコード登録方法、処理要求実行方法、プログラム
WO2024224490A1 (ja) 秘密計算装置、秘密計算方法、およびプログラム
JP7754322B2 (ja) 秘密交差結合システム、秘密交差結合装置、秘密交差結合方法、プログラム
WO2024241395A1 (ja) 秘密集約値計算システム、装置、方法及びプログラム
WO2024241459A1 (ja) 秘密計算装置、秘匿順位更新方法、及びプログラム
WO2023233569A1 (ja) 秘密検索システム、秘密検索装置、秘密検索方法、プログラム
WO2023281693A1 (ja) 秘密計算システム、装置、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231101

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: 20240618

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240701

R150 Certificate of patent or registration of utility model

Ref document number: 7525066

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350