JPWO2019111319A1 - 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム - Google Patents

秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム Download PDF

Info

Publication number
JPWO2019111319A1
JPWO2019111319A1 JP2019557897A JP2019557897A JPWO2019111319A1 JP WO2019111319 A1 JPWO2019111319 A1 JP WO2019111319A1 JP 2019557897 A JP2019557897 A JP 2019557897A JP 2019557897 A JP2019557897 A JP 2019557897A JP WO2019111319 A1 JPWO2019111319 A1 JP WO2019111319A1
Authority
JP
Japan
Prior art keywords
share
secret
server device
bit
random number
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.)
Granted
Application number
JP2019557897A
Other languages
English (en)
Other versions
JP6974804B2 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2019111319A1 publication Critical patent/JPWO2019111319A1/ja
Application granted granted Critical
Publication of JP6974804B2 publication Critical patent/JP6974804B2/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

環の位数のbit長をLとしたとき、秘密分散の方法に依らず、通信ラウンド数をO(Log_(L))に抑えて実行する。秘密等号判定システムは、乱数生成サーバ装置とマスク値復元サーバ装置と秘密計算サーバ装置とを備える。乱数生成サーバ装置は、乱数を生成する乱数生成部と、乱数と秘密等号判定における被演算子の秘密分散データを用いてマスクされた秘密分散データを生成するシェア加算部と、入力された値の秘密分散データを生成する秘密分散データ生成部と、秘密分散データを復元して元の値を得る秘密分散データ復元部と、秘密分散データを用いて秘密等号判定を行う判定bit−conjunction部とを有する。マスク値復元サーバ装置は、入力された値の秘密分散データを生成する秘密分散データ生成部と、秘密分散データを復元して元の値を得る秘密分散データ復元部と、秘密分散データを用いて秘密等号判定を行う判定bit−conjunction部とを有する。秘密計算サーバ装置は、入力された値の秘密分散データを生成する秘密分散データ生成部と、秘密分散データを復元して元の値を得る秘密分散データ復元部と、秘密分散データを用いて秘密等号判定を行う判定bit−conjunction部とを有する。

Description

本発明は秘密計算プロトコルに関し、特に効率よく秘密等号判定を行うことができる秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム記録媒体に関する。
秘密計算プロトコルとは、プロトコルの各参加者の入力や計算過程の値を秘匿しつつ、計算結果のみを求めることができる技術である。秘密計算プロトコルとして、論理回路や算術回路をベースとして任意の計算を実行できる一般的な方式が提案されている。
なお、秘密計算プロトコルによって任意の計算を実行する場合、通信コストが発生する。通信コストは、通信ラウンド数と通信量との2つの評価軸によって評価される。ここで、通信ラウンド数とは、ある計算処理を秘密計算プロトコルによって実行する際に、秘密計算プロトコルの各参加者間で生じた通信回数のことである。このとき、たとえば、秘密計算プロトコルの三名の参加者をP1、P2、P3とする。ある計算処理を秘密計算プロトコルによって実行する際に、P1−P2間で1回の通信、P2−P3間で1回の通信、P3−P1間で1回の通信がそれぞれ発生したとして、これらの通信が並行して行えるものであれば、1ラウンドとして通信ラウンド数を数えることに注意する。また、通信量とは、ある計算処理を秘密計算プロトコルによって実行する際に、秘密計算プロトコルの各参加者間で生じた通信データの量のことである。
秘匿化されたデータを秘匿化したままで検索できる秘匿検索技術が、従来から種々提案されている。
秘匿検索を実現する一つの技術として、マルチパーティ計算(Multi-Party Computation:MPC)技術が知られている(例えば、非特許文献1参照)。
MPCは、それぞれ秘密情報を持つ2台以上のサーバ装置が協力して計算することで、それぞれの秘密情報を漏らすことなく、秘密情報を入力とする任意の関数値を計算する。MPCを用いて秘匿検索を実現するには、次のようにすればよい。まず、預けるデータを秘密分散法(例えば、非特許文献1参照)で上記2台以上のサーバ装置に分散して保持する。そして、上記関数として「ある部分データを含むデータが秘密分散されてサーバ装置に保存されているときに1を、そうでないときに0を返す関数」のように定義する。
MPCを実現する手段として、非特許文献1に記載されている、Shamirのしきい値型秘密分散法(Shamir’s Secret Sharing:SSS)を用いる手段がある。まず、非特許文献1について説明する。
しきい値型秘密分散法とは、秘密情報を複数の分散情報に変換する技術である。しきい値型秘密分散法は、変換された分散情報をしきい値以上の個数を集めることによって秘密情報を復元でき、しきい値以下の個数の分散情報からは元の秘密情報を漏らさないという特徴を持つ。
非特許文献1のSSSは、N台のサーバ装置で有限体Zpに属する数aを秘密に分散する方法であり、k-1次多項式f_a(x)を用いる。この方法では、例えばf_a(0)=aとし、第iのサーバ装置(1≦i≦N)には、それぞれ多項式上の点f_a(i)を配る。配られる情報f_a(i)をSSSにおけるxの分散情報と呼ぶ。このとき、k台のサーバ装置が協力すると、多項式上のk個の点からk-1次多項式f_a(x)を一意に復元することができるので、秘密情報であるf_a(0)を求めることができる。
秘密情報aを、pを法とする多項式f_a(x)を用いてN台のサーバ装置で分散するときに生成される、秘密情報aの分散情報を、[a]p=(f_a(1), f_a(2), …, f_a(N))と書くことにする。このとき、識別子i(1≦i<N)を持つ第iのサーバ装置にf_a(i)が保持されているものとする。
任意の計算を実行できる一般的な方式として、たとえば、非特許文献2、非特許文献3、非特許文献4、非特許文献5が挙げられる。大まかな方式の種類は、非特許文献4に代表されるGarbled Circuitベースの方式と、非特許文献2、非特許文献3、非特許文献5のような秘密分散法ベースの方式とに分けられる。なお、秘密分散法とは、ある値を複数に分散し、分散された値を閾値以上の個数分だけ集めると、元の秘密情報を復元できる、というものである。ここで、分散した値を、秘密分散データやシェアと呼ぶ。
非特許文献3は、論理回路と算術回路および両者を混合した回路について、計算を実行可能な秘密計算プロトコルを開示している。非特許文献2と異なり、非特許文献3は、非特許文献1の秘密分散法を用いており、素数pを位数とする体上での計算となる。このため、非特許文献3では、体の位数の大きさに比例して、通信量が増大する。ここで、論理回路と算術回路の混合回路を計算する際に、論理回路における値と算術回路における値は、ともに素数pを位数とする体に属する値であることに注意する。なお、非特許文献3では、位数の大きさに関わらず、定数回の通信ラウンド数で計算が実行できる。ただし、多量の通信量を必要とする。
非特許文献4は、論理回路ベースで計算を実行する秘密計算プロトコルを開示している。非特許文献4の方式は、疑似ランダム関数と紛失通信プロトコルを用いた方式で、定数回の通信ラウンド数で計算が実行できる。ただし、非特許文献4の方式では、多量の通信量を必要とする。
非特許文献2は、論理回路と算術回路および両者を混合した回路について、計算を実行可能な秘密計算プロトコルを開示している。非特許文献2の方式は、剰余環上の加法秘密分散法をベースとした方式で、環の位数の大きさに比例して、通信量が増大する。また、非特許文献2の方式は、非特許文献3の方式と異なり、論理回路と算術回路の混合回路を計算する際に、それぞれの値に応じた環上で計算することが可能である。たとえば、論理回路の値は位数2の環に属する値、算術回路の値は位数2^n’(n’は2より大きい整数)の環に属する値として、計算可能である。非特許文献3の方式は、論理回路における値0,1も素数pを位数とする体上で計算する必要があるため、非特許文献2の方が通信量を小さく抑えることができる。なお、非特許文献3や非特許文献4といった、定数回の通信ラウンド数で計算を実行する方式と比べると、同じ計算処理を行う場合、非特許文献2の方が少ない通信量で実行できる。ただし、非特許文献2の方式は、計算処理の回路の深さに比例して、通信ラウンド数が増大する。
ここで、計算処理の回路の深さとは、入力ゲートから出力ゲートまでに通過する必要がある最大ゲート総数ではなく、入力ゲートから出力ゲートまでに通過する必要がある論理積ゲートと乗算ゲートの最大ゲート総数を指す。以降、回路の深さとは、入力ゲートから出力ゲートまでに通過する必要がある論理積ゲートと乗算ゲートと秘密分散復元ゲートの最大ゲート総数を意味することとする。
非特許文献5は、論理回路と算術回路との両者を混合した回路について、計算を実行可能な秘密計算プロトコルを開示している。非特許文献5の方式は、剰余環上の複製型秘密分散法をベースとした方式で、位数の大きさに比例して、通信量が増大する。ここで、非特許文献5の方式は、非特許文献2の方式と同様に非特許文献3の方式と異なり、論理回路と算術回路の混合回路を計算する際に、それぞれの値に応じた環上で計算することが可能である。このため、非特許文献5の方が非特許文献3の方式より通信量を小さく抑えることができる。また、非特許文献3や非特許文献4といった、定数回の通信ラウンド数で計算を実行する方式と比べると、同じ計算処理を行う場合、非特許文献5の方が少ない通信量で実行できる。ただし、非特許文献5の方式は、計算処理の回路の深さに比例して、通信ラウンド数が増大する。
ここで、たとえば、通信ラウンド数の面で効率が良い秘密計算プロトコルは、latencyが大きい通信環境で有効な方式といえる。また、通信量の面で効率が良い秘密計算プロトコルは、通信帯域が狭い通信環境で有効な方式である。秘密分散ベースの秘密計算プロトコルでは、回路の深さに比例して通信が発生するために、大量の入力を一度に処理することで単位時間あたりの処理量の向上を図ることがある。このため特に、通信帯域が狭い通信環境でも単位時間あたりの処理量を確保したい場合は、通信量について効率の良い秘密計算プロトコルの提案が重要となる。
このとき、排他的論理和や論理積、加算や乗算といった基本的な二項演算に対して、効率の良い方法を提案するだけでなく、より上位の計算プロトコルについて提案することも必要といえる。上位の計算プロトコルとは、たとえば、秘密等号判定が挙げられる。ここで、秘密等号判定とは、秘匿されたある環上の要素a,bを引数に取り、aとbが一致するのであれば位数2の環上の要素である1を秘匿した値、不一致であれば位数2の環上の要素である0を秘匿した値をそれぞれ返す処理である。秘密等号判定は、秘密計算プロトコルにおける部分一致判定や距離計算といった文字列処理にて多用される。
ここで、非特許文献2の秘密等号判定による通信ラウンド数は(Log(L)+1)回、通信量は(17L−15)となる。なお、Logの底は2であり、Lは環の位数のビット長である。非特許文献2では、秘密等号判定の通信ラウンド数を抑えるために、非特許文献2で用いられる加法秘密分散法に依存した技法を用いている。具体的には値vを秘密分散する際に、ある参加者の秘密分散データをvとし、残りの参加者の秘密分散データを0とすることで、通信ラウンド数を削減している。このため、非特許文献2の秘密等号判定の方法を非特許文献5によって実施することはできない。
Adi Shamir、"How to Share a Secret、" Commun. ACM 22(11)、 pp.612−613、 1979. Dan Bogdanov、Margus Niitsoo、Tomas Toft、Jan Willemson、 "High−performance secure multi−party computation for data mining applications、" International Journal of Information Security、11(6)、403−418. Takashi Nishide、Kazuo Ohta、 "Multiparty Computation for Interval,Equality,and Comparison without Bit−Decomposition Protocol、" In PKC2007、LNCS、vol.4450、pp.90−104、Springer、Berlin、Heidelberg. Andrew C.Yao、"Protocols for secure computations、"In Proceedings of the 21st Annual IEEE Symposium on the Foundations of Computer Science、pp.160−164、1982. Toshinori Araki、Jun Furukawa、Yehuda Lindell、Ariel Nof、Kazuma Ohara、"High−Throughput Semi−Honest Secure Three−party Computation with an Honest Majority、" In Proceedings of the 2016 ACM SIGSAC Conferenece on Computer and Communications Security、pp.805−817、ACM.
このように非特許文献2では、秘密等号判定を行う際に、非特許文献2で用いる加法秘密分散法に依存した方法を用いている。このため、論理積や乗算を行う際に、非特許文献2よりも小さい通信量で実行できる、非特許文献5を用いて同様の秘密等号判定を実施することはできなかった。秘密等号判定を行う際に通信量が多いと、通信帯域が狭い通信環境では、単位時間あたりの処理量の低下が生じ得る。特に、等号判定を多用するような文字列処理を秘密計算プロトコルで実行する場合、秘密等号判定における通信量の増加は、計算処理全体の単位時間あたりの処理量低下を引き起こす恐れがある。
本発明の目的は、上記課題を解決し、環の位数のbit長をLとしたとき、秘密分散の方法に依らず、通信ラウンド数をO(Log(L))に抑えて実行できる、秘密等号判定システム、秘密等号判定方法、および秘密等号判定プログラム記録媒体を提供することにある。
上述の課題に鑑み、本発明の一態様は、ネットワークで接続された乱数生成サーバ装置とマスク値復元サーバ装置と複数の秘密計算サーバ装置とを備える秘密等号判定システムであって、
前記乱数生成サーバ装置は、乱数を生成する乱数生成部と;2つの被演算子の差の値に関するringのシェアを生成すると共に、前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信する秘密分散データ生成部と;前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データを前記マスク値復元サーバ装置へ送信するシェア加算部と;前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit−conjunction部と;前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果を復元する秘密分散データ復元部と;を有し、
前記マスク値復元サーバ装置は、2つの被演算子の差の値に関するringのシェアを生成すると共に、復元した値のbitのシェアを生成する秘密分散データ生成部と;前記ringのシェアと、前記複数の秘密計算サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、前記復元した値を出力する秘密分散データ復元部と;前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit−conjunction部と;を備え、前記秘密分散データ復元部は、前記判定結果と他のサーバ装置からの判定結果に基づいて、前記判定結果のbitのシェアを復元し、
前記秘密計算サーバ装置の各々は、2つの被演算子の差の値に関するringのシェアを生成する秘密分散データ生成部と;乱数生成サーバ装置から受け取った乱数のbitのシェアと、復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit−conjunction部と;前記判定結果と他のサーバ装置からの判定結果に基づいて、前記判定結果のbitのシェアを復元する秘密分散データ復元部と;を有することを特徴とする秘密等号判定システムである。
また、本発明の他の態様は、2つの被演算子の差の値に関するringのシェアを生成するステップと、乱数を生成するステップと、前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するステップと、前記乱数のbitのシェアを生成するステップと、前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信するステップと、前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元するステップと、を含む乱数生成サーバでの秘密等号判定方法である。
さらに、本発明の別の態様は、2つの被演算子の差の値に関するringのシェアを生成する処理と、乱数を生成する処理と、前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信する処理と、前記乱数のbitのシェアを生成する処理と、前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、を乱数生成サーバ装置のコンピュータに実行させる秘密等号判定プログラムを記録した記録媒体である。
本発明によれば、被計算値や判定結果や計算過程の値を知ることができない秘密等号判定を、通信ラウンド数をO(Log(L))に抑えながら、構成要素の改善によって通信量を改善することが可能である。Lは環の位数のbit長である。たとえば、非特許文献5で本発明を実施すると、非特許文献2における秘密等号判定と比較して、小さい通信量で秘密等号判定を実行できる。
本発明の更なる利点及び実施形態を、記述と図面を用いて下記に詳細に説明する。
本発明の第1の実施形態における秘密等号判定システムの機能構成例を示すブロック図である。 本発明の第1の実施形態による乱数生成サーバ装置の機能構成を示すブロック図である。 本発明の第1の実施形態によるマスク値復元サーバ装置の機能構成を示すブロック図である。 本発明の第1の実施形態による秘密計算サーバ装置の機能構成を示すブロック図である。 本発明の第1の実施形態による乱数生成サーバ装置の動作例を示すフローチャートである。 本発明の第1の実施形態によるマスク値復元サーバ装置の動作例を示すフローチャートである。 本発明の第1の実施形態による秘密計算サーバ装置の動作例を示すフローチャートである。 本発明の第2の実施形態における秘密等号判定システムの機能構成例を示すブロック図である。 本発明の第2の実施形態による秘密分散プロキシ装置の機能構成を示すブロック図である。 本発明の第2の実施形態による乱数生成サーバ装置の機能構成を示すブロック図である。 本発明の第2の実施形態によるマスク値復元サーバ装置の機能構成を示すブロック図である。 本発明の第2の実施形態による秘密計算サーバ装置の機能構成を示すブロック図である。 本発明の第2の実施形態による秘密分散プロキシ装置の動作例を示すフローチャートである。 本発明の第2の実施形態による乱数生成サーバ装置の動作例を示すフローチャートである。 本発明の第2の実施形態によるマスク値復元サーバ装置の動作例を示すフローチャートである。 本発明の第2の実施形態による秘密計算サーバ装置の動作例を示すフローチャートである。
以下、本発明の実施形態について図面を参照しつつ説明する。但し、以下に説明する実施形態によって本発明の技術的範囲は何ら限定解釈されることはない。
(第1の実施形態)
図1乃至図7を参照して、本発明の第1の実施形態係る秘密等号判定システムについて説明する。
図1は、本発明の第1の実施形態による秘密等号判定システムの機能構成例を示すブロック図である。
図1を参照すると、本発明の第1の実施形態による秘密等号判定システムは、後述する図2で参照される乱数生成サーバ装置100_0と、後述する図3で参照されるマスク値復元サーバ装置110_1と、後述する図4で参照される第2乃至第n(nは2以上の整数)のサーバ装置110_2、...、110_nとから成る。第1の実施形態による秘密等号判定システムにおいて、乱数生成サーバ装置100_0とマスク値復元サーバ装置110_1と第2乃至第nのサーバ装置110_2〜110_nとは、自身と異なるサーバ装置とネットワーク経由で通信可能に接続されている。
図2に示すように、乱数生成サーバ装置100_0は、乱数生成部101_0と、シェア加算部102_0と、秘密分散データ生成部103_0と、秘密分散データ復元部104_0と、判定bit−conjunction部105_0と、データ記憶部106_0と、を含む。シェア加算部102_0は、マスク値復元サーバ装置110_1とネットワーク経由で通信可能に接続されている。秘密分散データ生成部103_0と秘密分散データ復元部104_0と判定bit−conjunction部とデータ記憶部106_0とは、それぞれ自身が含まれるサーバ装置と異なるサーバ装置とネットワーク経由で通信可能に接続されている。乱数生成部101_0は、シェア加算部102_0と秘密分散データ生成部103_0と、それぞれ通信可能に接続されている。データ記憶部106_0は、シェア加算部102_0と秘密分散データ生成部103_0と秘密分散データ復元部104_0と判定bit-conjunction部105_0と、それぞれ通信可能に接続されている。
図3に示すように、マスク値復元サーバ装置110_1は、秘密分散データ生成部113_1と、秘密分散データ復元部114_1と、判定bit-conjunction部115_1と、データ記憶部116_1と、を含む。秘密分散データ生成部113_1と秘密分散データ復元部114_1と判定bit−conjunction部115_1とデータ記憶部116_1とは、それぞれ自身が含まれるサーバ装置と異なるサーバ装置とネットワーク経由で通信可能に接続されている。データ記憶部116_1は、秘密分散データ生成部113_1と秘密分散データ復元部114_1と判定bit−conjunction部115_1と、それぞれ通信可能に接続されている。秘密分散データ生成部113_1は秘密分散データ復元部114_1と通信可能に接続されている。
図4に示すように、第iの秘密計算サーバ装置110_i(2≦i≦n)は、第iの秘密分散データ生成部113_iと、第iの秘密分散データ復元部114_iと、第iの判定bit-conjunction部115_iと、第iのデータ記憶部116_iと、を含む。秘密分散データ復元部113_iと秘密分散データ復元部114_iと判定bit−conjunction部115_iは、それぞれ自身が含まれるサーバ装置と異なるサーバ装置とネットワーク経由で通信可能に接続されている。データ記憶部116_iは、秘密分散データ生成部113_iと秘密分散データ復元部114_iと判定bit−conjunction部115_iと、それぞれ通信可能に接続されている。
このような構成の秘密等号判定システムにおいては、乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1、第2乃至第nのサーバ装置110_2〜110_nの内のいずれかの装置が入力した値a,b、あるいは、データ記憶部106_0、116_1、116_2〜116_nに記憶された秘密分散データ[a],[b]に対し、その入力や計算過程の値からa,bの値を知られることなく、a=bが成り立つか否かの判定結果の秘密分散データを計算し、データ記憶部106_0、116_1、116_2〜116_nにそれぞれ記憶する。前記判定結果の秘密分散データは、データ記憶部106_0、116_1、116_2〜116_nに記憶した後、秘密分散データ復元部104_0、114_1、114_2〜114_nにそれぞれ渡し、復元結果を得ても良い。
次に、本発明の第1の実施形態における秘密等号判定システム、乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1および第iのサーバ装置110_iの動作例について詳細に説明する。図5は、乱数生成サーバ装置100_0の動作例を示すフローチャートである。図6は、マスク値復元サーバ装置110_1の動作例を示すフローチャートである。図7は、第iの秘密計算サーバ装置110_iの動作例を示すフローチャートである。
ここで、[a]_Bは、位数2の環上の値aの秘密分散データを意味する。また、[b]_Rは、位数が2より大きい環上の値bの秘密分散データを意味する。以降、[a]_Bをaのbitのシェア、[b]_Rをbのringのシェアと呼称する。特に、第iのサーバ装置110_iのシェアを表す場合、[a]_Bi,[b]_Riとする。また、乱数生成サーバ装置100_0のシェアを表す場合は、[a]_B0,[b]_R0とする。マスク値復元サーバ装置110_1のシェアを表す場合は、[a]_B1,[b]_R1とする。
たとえば、サーバ装置の台数が3、つまり、n=3であるとする。このとき、非特許文献2や非特許文献5で用いられている秘密分散が例として挙げられる。ここで、
Figure 2019111319
を、それぞれbitのシェアに関する排他的論理和、論理積とする。これらは、位数2の環上の要素に対する二項演算子としての排他的論理和、論理積の記号としても以降用いることに注意されたい。ここで、bitのシェアに関する排他的論理和、論理積には次の性質が成り立つ。
Figure 2019111319
さらに、+,−を、それぞれringのシェアに関する加法演算子、減法演算子とする。これらは、位数が2より大きい環上の要素に対する二項演算子としての加法演算子、減法演算子としても以降用いることに注意されたい。ここで、ringのシェアに関する加法演算子、減法演算子には次の性質が成り立つ。
Figure 2019111319
たとえば、サーバ装置の台数が3、つまり、n=3であるとする。このとき、非特許文献5ではbitのシェアに関する排他的論理和を通信不要で計算できる。また、非特許文献5ではbitのシェアに関する論理積を1ラウンド3bitの通信コストで計算できる。
なお、a=bが成り立つか否か判定する際に、a,bのbit長をLとする。つまり、ringのシェアのbit長はLである。また、秘密等号判定の結果は、等号が成り立つ場合に[1]_B、成り立たない場合に[0]_Bを出力する。
(ステップA1)
図5乃至図7を参照して、乱数生成サーバ装置100_0、もしくは、マスク値復元サーバ装置110_1、あるいは、第iのサーバ装置110_iの動作として、まず、入力(第1の被演算子)aを図示されない入力装置から秘密分散データ生成部103_0、もしくは、113_1、あるいは113_iに渡す。秘密分散データ生成部103_0、もしくは、113_1、あるいは113_iは、第1の被演算子aのringのシェア[a]_Rを生成する。乱数生成サーバ装置100_0は、[a]_R0をデータ記憶部106_0に保存する。マスク値復元サーバ装置110_1は、[a]_R1をデータ記憶部116_1に保存する。第iの秘密計算サーバ装置110_iは、[a]_Riを第iのデータ記憶部116_iに保存する。第1の被演算子aのringのシェア[a]_Rを生成した乱数生成サーバ装置100_0、もしくは、マスク値復元サーバ装置110_1、あるいは、第iのサーバ装置110_iは、自身と異なるサーバ装置に対し、添え字i’に対応する[a]_Ri’を渡す。たとえば、i’=0なら、乱数生成サーバ装置100_0は、[a]_R0をデータ記憶部106_0に保存する。i’=1なら、マスク値復元サーバ装置110_1は、[a]_R1をデータ記憶部116_1に保存する。それ以外の場合は、第i’の秘密計算サーバ装置110_i’は、[a]_Ri’を第i’のデータ記憶部116_i’に保存する。入力(第2の被演算子)bに関しても、同様に処理する。ステップA1は計算を開始する際のみに生じるステップである。よって、秘密計算プロトコルの過程で生じたringのシェアについて秘密等号判定を行う場合、ステップA1は発生しない。
(ステップA2)
次に、乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1、および第iの秘密計算サーバ装置110_iは、それぞれのデータ記憶部106_0、116_1、116_iに保存された[a]_R,[b]_Rの値から、2つの被演算子の差の値に関するringのシェア[a]_R−[b]_R=[a−b]_Rを生成する。生成した後、乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1、および第iの秘密計算サーバ装置110_iは、それぞれのデータ記憶部106_0、116_1、116_iに、それぞれ[a−b]_R0、[a−b]_R1、[a−b]_Riを保存する。
(ステップB3)
図5を参照すると、乱数生成サーバ装置100_0に含まれる乱数生成部101_0は、位数が2より大きい環上の値として、乱数rを生成する。生成後、乱数生成部101_0は、シェア加算部102_0および秘密分散データ生成部103_0に乱数rを送る。
(ステップB4)
乱数生成サーバ装置100_0に含まれるシェア加算部102_0は、データ記憶部106_0から2つの被演算子の差の値に関するringのシェア[a−b]_R0を取り出す。シェア加算部102_0は、2つの被演算子の差の値に関するringのシェア[a−b]_R0に乱数rを加えた[a−b+r]_R0(=[a−b]_R0+r)を、マスクされた秘密分散データとしてマスク値復元サーバ装置110_1に含まれる秘密分散データ復元部114_1に送る。
(ステップC5)
図6を参照すると、マスク値復元サーバ装置110_1に含まれる秘密分散データ復元部114_1は、データ記憶部116_1から2つの被演算子の差の値に関するringのシェア[a−b]_R1を取り出す。また、第iの秘密計算サーバ装置110_i(2≦i≦n)から2つの被演算子の差の値に関するringのシェア[a−b]Riを取り出す。このとき、データを復元するにあたり必要な秘密分散データの個数をkとしたとき、[a−b]Riを取り出す個数は(k−2)個となる。秘密分散データ復元部114_1は、2つの被演算子の差の値に関するringのシェア[a−b]_R1と、(k−2)個の2つの被演算子の差の値に関するringのシェア[a−b]Riと、前記ステップB4にて送られてきたマスクされた秘密分散データ[a−b+r]_R0とを用いて、マスクされた値a−b+rを復元する。復元後、秘密分散データ復元部114_1は、復元した値a−b+rを秘密分散データ生成部113_1に渡す。
(ステップC6)
秘密分散データ生成部113_1は、前記ステップC5にて渡された復元した値a−b+rの各bitに対し、bitのシェアを生成する。ここで、復元した値a−b+rのt−bit目(t=0,...,L−1の値を(a−b+r)_tとする。このとき、復元した値a−b+rの各bitに対するbitのシェアとは[(a−b+r)_t]_Bを指す。[(a−b+r)_t]_Bを生成した後、秘密分散データ生成部113_1は、添え字iに対応する外部の第iの秘密計算サーバ装置110_iに復元した値のbitのシェア[(a−b+r)_t]_Biを送信する。つまり、乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1、および第iの秘密計算サーバ装置110_iは、それぞれのデータ記憶部106_0、116_1、116_iに、それぞれ復元した値のbitのシェア[(a−b+r)_t]_B0、[(a−b+r)_t]_B1、[(a−b+r)_t]_Biを保存する。
(ステップB7)
図5に戻って、乱数生成サーバ装置100_0に含まれる秘密分散データ生成部103_0は、ステップB3にて送られた乱数rに対し、乱数rの各bitについてbitのシェアを生成する。ここで、乱数rのt−bit目(t=0,...,L−1)の値をr_tとする。このとき、乱数rの各bitに対するbitのシェアとは、[r_t]_Bを指す。[r_t]_Bを生成した後、秘密分散データ生成部103_0は、添え字iに対応する外部の第iの秘密計算サーバ装置110_iに乱数のbitのシェア[r_t]_Biを送信する。つまり、乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1、および第iの秘密計算サーバ装置110_iは、それぞれのデータ記憶部106_0、116_1、116_iに、それぞれ乱数のbitのシェア[r_t]_B0、[r_t]_B1、[r_t]_Biを保存する。
(ステップA8)
図5乃至図7を参照して、ここで、復元した値c=a−b+rとしたとき、c_t(t=0,...,L−1)をcの各bitとする。乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1および第iの秘密計算サーバ装置110_iにそれぞれ含まれる、判定bit−conjunction部105_0、115_1、115_iは、
Figure 2019111319
を計算する。計算を終えた後、判定bit−conjunction部105_0、115_1、115_iは、それぞれ判定結果[res]_B0、[res]_B1、[res]_Biをデータ記憶部106_0、116_1、116_iに記憶する。なお、
Figure 2019111319
の計算を実行する回路の深さはLog(L)となる。
(ステップA9)
等号判定の結果を得る場合、乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1および第iの秘密計算サーバ装置110_iにそれぞれ含まれる、秘密分散データ復元部104_0、114_1、114_iは、それぞれのデータ記憶部106_0、116_1、116_iから、それぞれ判定結果[res]_B0、[res]_B1、[res]_Biを取り出し、外部のサーバ装置に送信する。同時に秘密分散データ復元部104_0、114_1、114_iは、外部のサーバ装置より得られた判定結果[res]_Bjを用いて、a=bが成り立つか否かの判定結果を復元する。
以上、説明した本発明の第1の実施形態においては、以下に記載するような効果を奏する。
第1の効果は、秘密等号判定に要するコストの内、秘密分散の方法に依らず、通信ラウンド数に関してO(Log(L))に抑えることができるというものである。これは、通信ラウンド数の内訳が、秘密分散データの分散に要する通信ラウンドと、判定結果[res]_Bの計算に要する通信ラウンドのみで構成されるためである。特に秘密分散データの分散に関して、ステップB6、ステップC7を加えることにより、非特許文献2と異なり、非特許文献2における加法秘密分散法に依存することなく、本第1の実施形態は実施可能である。これにより、構成要素の改善によって、秘密等号判定に要するコストの内、通信ラウンド数に関してO(Log(L))に抑えたまま、通信量を低減することができる。たとえば、非特許文献5で本第1の実施形態を実施した場合、通信ラウンド数は(Log(L)+2)回、通信量は(12L−3)bitとなる。非特許文献2が秘密等号判定を行った場合、通信ラウンド数は(Log(L)+1)回、通信量は(17L−15)bitなので、非特許文献5によって本第1の実施形態を実施した場合の方が、通信量は低減される。
(第2の実施の形態)
続いて、図8乃至図16を参照して、本発明の第2の実施形態に係る秘密等号判定システムついて説明する。本発明の第2の実施形態に係る秘密等号判定システムは、上述した第1の実施形態に係る秘密等号判定システムの変形例である。以下、本第2の実施形態において、第1の実施形態において既に説明した部分と同様な機能を有する部分には同一符号を付し、説明を省略する。
図8は、第2の実施形態による秘密等号判定システムの機能構成例を示すブロック図である。
図8を参照すると、本発明の第2の実施形態による秘密等号判定システムは、後述する図9で参照される秘密分散プロキシ装置200と、後述する図10で参照される乱数生成サーバ装置210_0と、後述する図11で参照されるマスク値復元サーバ装置220_1と、後述する図12で参照される第2乃至第n(nは2以上の整数)の秘密計算サーバ装置220_2、・・・、220_nから成る。第2の実施形態による秘密等号判定システムにおいて、秘密分散プロキシ装置200は、乱数生成サーバ装置210_0とマスク値復元サーバ装置220_1と第2乃至第nの秘密計算サーバ装置220_2〜220_nと、ネットワーク経由で通信可能に接続されている。また、乱数生成サーバ装置210_0とマスク値復元サーバ装置220_1と第2乃至第nの秘密計算サーバ装置220_2〜220_nとは、自身と異なるサーバ装置とネットワーク経由で通信可能に接続されている。
図9に示すように、秘密分散プロキシ装置200は、秘密分散データ生成部201と、秘密分散データ復元部202と、を含む。秘密分散データ生成部201と各サーバ装置210_0、220_1、220_2〜220_nとはネットワーク経由で通信可能に接続されている。秘密分散データ復元部202と各サーバ装置210_0、220_1、220_2〜220_nとはネットワーク経由で通信可能に接続されている。
図10に示すように、乱数生成サーバ装置210_0は、乱数生成部101_0とシェア加算部102_0と秘密分散データ生成部位103_0と判定bit−conjunction部105_0とデータ記憶部216_0と、を含む。シェア加算部102_0は、マスク値復元サーバ装置220_0とネットワーク経由で通信可能に接続されている。秘密分散データ生成部103_0と判定bit−conjunction部105_0とは、自身と異なる各外部のサーバ装置220_1、220_2、・・・、220_nとネットワーク経由で通信可能に接続されている。データ記憶部216_0は、外部秘密分散プロキシ装置200および外部のマスク値復元サーバ装置220_1とネットワーク経由で通信可能に接続されている。乱数生成部101_0は、シェア加算部102_0および秘密分散データ生成部103_0と通信可能に接続されている。データ記憶部216_0は、シェア加算部102_0、秘密分散データ生成部103_0および判定bit−conjunction部105_0と通信可能に接続されている。
図11に示すように、マスク値復元サーバ装置220_1は、秘密分散データ生成部113_1と秘密分散データ復元部114_1と判定bit−conjunction部115_1とデータ記憶部226_1と、を含む。秘密分散データ生成部113_1と秘密分散データ生成部114_1と判定bit−conjunction部115_iとは、自身と異なる各外部のサーバ装置220_0、220_2、・・・、220_nとネットワーク経由で通信可能に接続されている。データ記憶部226_1は、外部の秘密分散プロキシ装置200および外部の乱数生成サーバ装置210_0とネットワーク経由で通信可能に接続されている。データ記憶部226_1は、秘密分散データ生成部113_1と秘密分散データ復元部114_1と判定bit−conjunction部115_1と通信可能に接続されている。秘密分散データ生成部113_1と秘密分散データ復元部114_1とは通信可能に接続されている。
図12に示すように、第iの秘密計算サーバ装置220_i(2≦i≦n)は、第iの判定bit−conjunction部115_iと、第iのデータ記憶部226_iと、を含む。判定bit−conjunction部115_iとデータ記憶部226_iとは、外部の秘密分散プロキシ装置200および各外部のサーバ装置210_0、220_1、220_i’(i’≠i,2≦i’≦n)とネットワーク経由で通信可能に接続されている。第iの判定bit−conjunction部115_iと第iのデータ記憶部226_iとは通信可能に接続されている。
本第2の実施形態による秘密等号判定システム、秘密分散プロキシ装置200、乱数生成サーバ装置210_0、マスク値復元サーバ装置220_1および第2乃至第nの秘密計算サーバ装置220_2、・・・、220_nにおいては、図示されない入力装置から秘密分散プロキシ装置200に入力されたa,b、あるいは、データ記憶部216_0、226_1、226_2、・・・、226_nに記憶された秘密分散データ[a]_R,[b]_Rに対し、その入力や計算過程の値からa,bの値を知られることなく、a=bが成り立つか否かの判定結果の秘密分散データを計算し、データ記憶部216_0、226_1、226_2、・・・、226_nにそれぞれ記憶する。前記判定結果の秘密分散データは、データ記憶部216_0、226_1、226_2、・・・、226_nに記憶した後、秘密分散プロキシ装置200にそれぞれ渡し、復元結果を得ても良い。
次に、本発明の第2の実施形態における秘密等号判定システム、秘密分散プロキシ装置200、乱数生成サーバ装置210_0、マスク値復元サーバ装置220_1および第iの秘密計算サーバ装置220_iの動作について詳細に説明する。図13は、秘密分散プロキシ装置200の動作例を示すフローチャートである。図14は、乱数生成サーバ装置210_0の動作例を示すフローチャートである。図15は、マスク値復元サーバ装置220_1の動作例を示すフローチャートである。図16は、第iの秘密計算サーバ装置220_iの動作例を示すフローチャートである。
(ステップX1)
図13を参照すると、秘密分散プロキシ装置200の動作として、まず、入力(第1の被演算子)aを図示されない入力装置から秘密分散データ生成部201に渡す。秘密分散データ生成部201は、第1の被演算子に関するringのシェア[a]_Rを生成する。次に、秘密分散データ生成部201は、第1の被演算子に関するringのシェア[a]_R0,[a]_R1,[a]_Riを、それぞれ、乱数生成サーバ装置210_0に含まれるデータ記憶部216_0、マスク値復元サーバ装置220_1に含まれるデータ記憶部226_1、第iの秘密計算サーバ装置220_i(2≦i≦n)に含まれるデータ記憶部226_iに渡す。データ記憶部216_0、226_1、226_iは、それぞれ、第1の被演算子に関するringのシェア[a]_R0,[a]_R1,[a]_Riを記憶する。入力(第2の被演算子)bに関しても、秘密分散プロキシ装置200と外部のサーバ装置210_0、220_1、220_iが、同様に処理する。ここで、ステップX1は計算を開始する際のみに生じるステップである。よって、秘密計算プロトコルの過程で生じたringのシェアについて秘密等号判定を行う場合、ステップX1は発生しない。
(ステップA2)
図14乃至図16を参照して、ステップA2は、第1の実施形態による各サーバ装置の動作におけるステップA2と等しい。ただし、乱数生成サーバ装置210_0、マスク値復元サーバ装置220_1、第iの秘密計算サーバ装置220_iは、それぞれのデータ記憶部216_0、226_1、226_iに、それぞれ2つの被演算子の差の値に関するringのシェア[a−b]_R0、[a−b]_R1、[a−b]_Riを保存する。
(ステップB3)
図14を参照すると、第2の実施形態による乱数生成サーバ装置210_0の動作におけるステップB3は、第1の実施の形態による乱数生成サーバ装置100_0の動作におけるステップB3と等しい。
(ステップB4)
第2の実施形態による乱数生成サーバ装置210_0の動作におけるステップB4は、第1の実施の形態による乱数生成サーバ装置100_0の動作におけるステップB4と等しい。ただし、シェア加算部102_2は、マスクされた秘密分散データ[a−b+r]_R0(=[a−b]_R0+r)を、マスク値復元サーバ装置220_1に含まれる秘密分散データ復元部224_1に送る。
(ステップC5)
図15を参照すると、第2の実施の形態によるマスク値復元サーバ装置220_1の動作におけるステップC5は、第1の実施の形態によるマスク値復元サーバ装置110_1の動作におけるステップC5と等しい。ただし、2つの被演算子の差の値に関するringのシェア[a−b]_R1はデータ記憶部226_1から取り出される。また、2つの被演算子の差の値に関するringのシェア[a−b]Riは第iの秘密計算サーバ装置110_i(2≦i≦n)から取り出される。
(ステップC6)
第2の実施の形態によるマスク値復元サーバ装置220_1の動作におけるステップC6は、第1の実施の形態によるマスク値復元サーバ装置110_1の動作におけるステップC6と等しい。ただし、復元した値のbitのシェア[(a−b+r)_t]_B0,[(a−b+r)_t]_B1,[(a−b+r)_t]_Biは、それぞれ、乱数生成サーバ装置210_0、マスク値復元サーバ装置220_1、第iの秘密計算サーバ装置220_iに送信され、それぞれのデータ記憶部216_0、226_1、226_iに保存される。
(ステップB7)
図14に戻って、第2の実施の形態による乱数生成サーバ装置210_0の動作におけるステップB7は、第1の実施の形態による乱数生成サーバ装置100_0の動作におけるステップB7と等しい。ただし、乱数のbitのシェア[r_t]_B0,[r_t]_B1,[r_t]_Biは、それぞれ、乱数生成サーバ装置210_0、マスク値復元サーバ装置220_1、および第iの秘密計算サーバ装置220_iに送られ、それぞれのデータ記憶部216_0、226_1、226_iに保存される。
(ステップA8)
図14乃至図16を参照すると、第2の実施の形態による乱数生成サーバ装置210_0、マスク値復元サーバ装置220_1、第iの秘密計算サーバ装置220_iの動作におけるステップA8は、第1の実施の形態による乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1、第iの秘密計算サーバ装置110_iの動作におけるステップA8と等しい。ただし、判定結果[res]_B0、[res]_B1、[res]_Biは、それぞれ、データ記憶部216_0、226_1、226_iに記憶される。
(ステップX9)
図13に戻って、等号判定の結果を得る場合、秘密分散プロキシ装置200に含まれる秘密分散データ復元部202は、データ記憶部216_0、226_1、226_iから、判定結果[res]_B0、[res]_B1、[res]_Biをそれぞれ取り出し、等号判定の結果を復元する。
以上、説明した本発明の第2の実施形態においては、第1の実施形態で述べた第1の効果の他に以下に記載するような第2の効果を奏する。
第2の効果は、少ない構成モジュールで乱数生成サーバ装置および第iの秘密計算サーバ装置が構成されているということである。具体的には、第1の実施形態における乱数生成サーバ装置100_0より、秘密分散データ復元部104_0の分だけ、乱数生成サーバ装置210_0は少ない構成モジュールで構成される。また、第1の実施形態における第iの秘密計算サーバ装置110_iより、秘密分散データ生成部113_iと秘密分散データ復元部114_iの分だけ、第iの秘密計算サーバ装置220_iは少ない構成モジュールで構成される。ただし、秘密分散プロキシ装置200が必要なことに注意する。
なお、上記の秘密等号判定システムや各サーバ装置において行われる判定方法は、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータが秘密等号判定プログラムを読み込んで実行することにより実現されることを意味する。
秘密等号判定プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、秘密等号判定プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、秘密等号判定プログラムをコンピュータに供給できる。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
上記実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)乱数を生成する乱数生成部と、
2つの被演算子の差の値に関するringのシェアを生成すると共に、前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信する秘密分散データ生成部と、
前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するシェア加算部と、
前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit−conjunction部と、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する秘密分散データ復元部と、
を備える乱数生成サーバ装置。
(付記2)2つの被演算子の差の値に関するringのシェアを生成すると共に、復元した値のbitのシェアを生成する秘密分散データ生成部と、
前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、前記復元した値を出力する秘密分散データ復元部と、
前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit−conjunction部と、
を備え、
前記秘密分散データ復元部は、前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する、マスク値復元サーバ装置。
(付記3)2つの被演算子の差の値に関するringのシェアを生成する秘密分散データ生成部と、
乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit−conjunction部と、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する秘密分散データ復元部と、
を備える秘密計算サーバ装置。
(付記4)付記1に記載の乱数生成サーバ装置と、付記2に記載のマスク値復元サーバ装置と、付記3に記載の秘密計算サーバ装置の複数台とが、ネットワークで接続されて成る秘密等号判定システム。
(付記5)2つの被演算子の差の値に関するringのシェアを生成するステップと、
乱数を生成するステップと、
前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するステップと、
前記乱数のbitのシェアを生成するステップと、
前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信するステップと、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元するステップと、
を含む乱数生成サーバ装置での秘密等号判定方法。
(付記6)2つの被演算子の差の値に関するringのシェアを生成するステップと、
前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力するステップと、
該復元した値のbitのシェアを生成するステップと、
前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信するステップと、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元するステップと、
を含むマスク値復元サーバ装置での秘密等号判定方法。
(付記7)2つの被演算子の差の値に関するringのシェアを生成する秘密分散データ生成部と、
乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信するステップと、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元するステップと、
を含む秘密計算サーバ装置での秘密等号判定方法。
(付記8)2つの被演算子の差の値に関するringのシェアを生成する処理と、
乱数を生成する処理と、
前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信する処理と、
前記乱数のbitのシェアを生成する処理と、
前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、
を乱数生成サーバ装置のコンピュータに実行させる秘密等号判定プログラムを記録した記録媒体。
(付記9)2つの被演算子の差の値に関するringのシェアを生成する処理と、
前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力する処理と、
該復元した値のbitのシェアを生成する処理と、
前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、
をマスク値復元サーバ装置のコンピュータに実行させる秘密等号判定プログラムを記録した記録媒体。
(付記10)2つの被演算子の差の値に関するringのシェアを生成する処理と、
乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、
を秘密計算サーバ装置のコンピュータに実行させる秘密等号判定プログラムを記録した記録媒体。
(付記11)2つ被演算子を秘密分散して、2つの被演算子に関するringのシェアを生成し、該生成した2つの被演算子に関するringのシェアを複数のサーバ装置へ送信する秘密分散データ生成部と、
前記複数のサーバ装置から受け取った判定結果に基づいて、等号判定の結果を復元する秘密分散データ復元部と、
を備える秘密分散プロキシ装置。
(付記12)乱数を生成する乱数生成部と、
秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成すると共に、前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信する秘密分散データ生成部と、
前記2つの被演算子の差の値に関するringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するシェア加算部と、
前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する判定bit−conjunction部と、
を備える乱数生成サーバ装置。
(付記13)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成すると共に、復元した値のbitのシェアを生成する秘密分散データ生成部と、
前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、前記復元した値を出力する秘密分散データ復元部と、
前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する判定bit−conjunction部と、
を備えるマスク値復元サーバ装置。
(付記14)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する秘密分散データ生成部と、
乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する判定bit−conjunction部と、
を備える秘密計算サーバ装置。
(付記15)付記11に記載の秘密分散プロキシ装置と、付記12に記載の乱数生成サーバ装置と、付記13に記載のマスク値復元サーバ装置と、付記14に記載の秘密計算サーバ装置の複数台とが、ネットワークで接続されて成る秘密等号判定システム。
(付記16)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成するステップと、
乱数を生成する乱数生成部と、
前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信するステップと、
前記2つの被演算子の差の値に関するringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するステップと、
前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信するステップと、
を含む乱数生成サーバ装置での秘密等号判定方法。
(付記17)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成するステップと、
前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力するステップと、
前記復元した値のbitのシェアを生成するステップと、
前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信するステップと、
を含むマスク値復元サーバ装置での秘密等号判定方法。
(付記18)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成するステップと、
乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信するステップと、
を含む秘密計算サーバ装置での秘密等号判定方法。
(付記19)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する処理と、
乱数を生成する処理と、
前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信する処理と、
前記2つの被演算子の差の値に関するringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信する処理と、
前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する処理と、
を乱数生成サーバ装置のコンピュータに実現させる秘密等号判定プログラムを記録した記録媒体。
(付記20)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する処理と、
前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力する処理と、
前記復元した値のbitのシェアを生成する処理と、
前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する処理と、
をマスク値復元サーバ装置のコンピュータに実現させる秘密等号判定プログラムを記録した記録媒体。
(付記21)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する処理と、
乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する処理と、
を秘密計算サーバ装置のコンピュータに実現させる秘密等号判定プログラムを記録した記録媒体。
本発明によれば、たとえば、データベースにおける文字列処理で生じる秘密等号判定を、秘密分散の方法に依らず、通信ラウンド数をO(Log(L))に抑えて実行できる。このため、秘密等号判定や秘密等号判定を用いる上位プロトコルに関して、構成要素の改善により通信量を削減することができる。
100_0 乱数生成サーバ装置
101_0 乱数生成部
102_0 シェア加算部
103_0 秘密分散データ生成部
104_0 秘密分散データ復元部
105_0 判定bit−conjunction部
106_0 データ記憶部
110_1 マスク値復元サーバ装置
113_1 秘密分散データ生成部
114_1 秘密分散データ復元部
115_1 判定bit−conjunction部
116_1 データ記憶部
110_i 秘密計算サーバ装置
113_i 秘密分散データ生成部
114_i 秘密分散データ復元部
115_i 判定bit−conjunction部
116_i データ記憶部
200 秘密分散プロキシ装置
201 秘密分散データ生成部
202 秘密分散データ復元部
210_0 乱数生成サーバ装置
216_0 データ記憶部
220_1 マスク値復元サーバ装置
226_1 データ記憶部
220_i 秘密計算サーバ装置
226_i データ記憶部

本発明は秘密計算プロトコルに関し、特に効率よく秘密等号判定を行うことができる秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラムに関する。
秘密情報aを、pを法とする多項式f_a(x)を用いてN台のサーバ装置で分散するときに生成される、秘密情報aの分散情報を、[a]p=(f_a(1), f_a(2), …, f_a(N))と書くことにする。このとき、識別子i(1≦iN)を持つ第iのサーバ装置にf_a(i)が保持されているものとする。
ここで、非特許文献2の秘密等号判定による通信ラウンド数は(Log(L)+1)回、通信量は(17L−15)ビットとなる。なお、Logの底は2であり、Lは環の位数のビット長である。非特許文献2では、秘密等号判定の通信ラウンド数を抑えるために、非特許文献2で用いられる加法秘密分散法に依存した技法を用いている。具体的には値vを秘密分散する際に、ある参加者の秘密分散データをvとし、残りの参加者の秘密分散データを0とすることで、通信ラウンド数を削減している。このため、非特許文献2の秘密等号判定の方法を非特許文献5によって実施することはできない。
上述の課題に鑑み、本発明の一態様は、ネットワークで接続された乱数生成サーバ装置とマスク値復元サーバ装置と複数の秘密計算サーバ装置とを備える秘密等号判定システムであって、
前記乱数生成サーバ装置は、乱数を生成する乱数生成部と;2つの被演算子の差の値に関する第1のringのシェアを生成すると共に、前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信する第1の秘密分散データ生成部と;前記第1のringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データを前記マスク値復元サーバ装置へ送信するシェア加算部と;前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて第1の秘密等号判定を行い、第1の判定結果を他のサーバ装置へ送信する第1の判定bit−conjunction部と;前記第1の判定結果と他のサーバ装置からの判定結果とに基づいて、前記第1の判定結果のbitのシェアを復元する秘密分散データ復元部と;を有し、
前記マスク値復元サーバ装置は、2つの被演算子の差の値に関する第2のringのシェアを生成すると共に、復元した値のbitのシェアを生成する第2の秘密分散データ生成部と;前記第2のringのシェアと、前記複数の秘密計算サーバ装置から取り出した複数のringのシェアと、前記乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、前記復元した値を出力する第2の秘密分散データ復元部と;前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて第2の秘密等号判定を行い、第2の判定結果を他のサーバ装置へ送信する第2の判定bit−conjunction部と;を備え、前記第2の秘密分散データ復元部は、前記第2の判定結果と他のサーバ装置からの判定結果に基づいて、前記第2の判定結果のbitのシェアを復元し、
前記秘密計算サーバ装置の各々は、2つの被演算子の差の値に関する第3のringのシェアを生成する第3の秘密分散データ生成部と;乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて第3の秘密等号判定を行い、第3の判定結果を他のサーバ装置へ送信する第3の判定bit−conjunction部と;前記第3の判定結果と他のサーバ装置からの判定結果に基づいて、前記第3の判定結果のbitのシェアを復元する第3の秘密分散データ復元部と;を有することを特徴とする秘密等号判定システムである。
さらに、本発明の別の態様は、2つの被演算子の差の値に関するringのシェアを生成する処理と、乱数を生成する処理と、前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信する処理と、前記乱数のbitのシェアを生成する処理と、前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、を乱数生成サーバ装置のコンピュータに実行させる秘密等号判定プログラムである。
図4に示すように、第iの秘密計算サーバ装置110_i(2≦i≦n)は、第iの秘密分散データ生成部113_iと、第iの秘密分散データ復元部114_iと、第iの判定bit-conjunction部115_iと、第iのデータ記憶部116_iと、を含む。第iの秘密分散データ生成部113_iと第iの秘密分散データ復元部114_iと第iの判定bit−conjunction部115_iは、それぞれ自身が含まれるサーバ装置と異なるサーバ装置とネットワーク経由で通信可能に接続されている。第iのデータ記憶部116_iは、第iの秘密分散データ生成部113_iと第iの秘密分散データ復元部114_iと第iの判定bit−conjunction部115_iと、それぞれ通信可能に接続されている。
このような構成の秘密等号判定システムにおいては、乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1、第2乃至第nのサーバ装置110_2〜110_nの内のいずれかの装置が入力した値a,b、あるいは、データ記憶部106_0、116_1、116_2〜116_nに記憶された秘密分散データ[a]_R,[b]_Rに対し、その入力や計算過程の値からa,bの値を知られることなく、a=bが成り立つか否かの判定結果の秘密分散データを計算し、データ記憶部106_0、116_1、116_2〜116_nにそれぞれ記憶する。前記判定結果の秘密分散データは、データ記憶部106_0、116_1、116_2〜116_nに記憶した後、秘密分散データ復元部104_0、114_1、114_2〜114_nにそれぞれ渡し、復元結果を得ても良い。
(ステップC5)
図6を参照すると、マスク値復元サーバ装置110_1に含まれる秘密分散データ復元部114_1は、データ記憶部116_1から2つの被演算子の差の値に関するringのシェア[a−b]_R1を取り出す。また、第iの秘密計算サーバ装置110_i(2≦i≦n)から2つの被演算子の差の値に関するringのシェア[a−b]_Riを取り出す。このとき、データを復元するにあたり必要な秘密分散データの個数をkとしたとき、[a−b]Riを取り出す個数は(k−2)個となる。秘密分散データ復元部114_1は、2つの被演算子の差の値に関するringのシェア[a−b]_R1と、(k−2)個の2つの被演算子の差の値に関するringのシェア[a−b]_Riと、前記ステップB4にて送られてきたマスクされた秘密分散データ[a−b+r]_R0とを用いて、マスクされた値a−b+rを復元する。復元後、秘密分散データ復元部114_1は、復元した値a−b+rを秘密分散データ生成部113_1に渡す。
(ステップC6)
秘密分散データ生成部113_1は、前記ステップC5にて渡された復元した値a−b+rの各bitに対し、bitのシェアを生成する。ここで、復元した値a−b+rのt−bit目(t=0,...,L−1の値を(a−b+r)_tとする。このとき、復元した値a−b+rの各bitに対するbitのシェアとは[(a−b+r)_t]_Bを指す。[(a−b+r)_t]_Bを生成した後、秘密分散データ生成部113_1は、添え字iに対応する外部の第iの秘密計算サーバ装置110_iに復元した値のbitのシェア[(a−b+r)_t]_Biを送信する。つまり、乱数生成サーバ装置100_0、マスク値復元サーバ装置110_1、および第iの秘密計算サーバ装置110_iは、それぞれのデータ記憶部106_0、116_1、116_iに、それぞれ復元した値のbitのシェア[(a−b+r)_t]_B0、[(a−b+r)_t]_B1、[(a−b+r)_t]_Biを保存する。
図10に示すように、乱数生成サーバ装置210_0は、乱数生成部101_0とシェア加算部102_0と秘密分散データ生成103_0と判定bit−conjunction部105_0とデータ記憶部216_0と、を含む。シェア加算部102_0は、マスク値復元サーバ装置220_1とネットワーク経由で通信可能に接続されている。秘密分散データ生成部103_0と判定bit−conjunction部105_0とは、自身と異なる各外部のサーバ装置220_1、220_2、・・・、220_nとネットワーク経由で通信可能に接続されている。データ記憶部216_0は、外部秘密分散プロキシ装置200および外部のマスク値復元サーバ装置220_1とネットワーク経由で通信可能に接続されている。乱数生成部101_0は、シェア加算部102_0および秘密分散データ生成部103_0と通信可能に接続されている。データ記憶部216_0は、シェア加算部102_0、秘密分散データ生成部103_0および判定bit−conjunction部105_0と通信可能に接続されている。
図11に示すように、マスク値復元サーバ装置220_1は、秘密分散データ生成部113_1と秘密分散データ復元部114_1と判定bit−conjunction部115_1とデータ記憶部226_1と、を含む。秘密分散データ生成部113_1と秘密分散データ復元部114_1と判定bit−conjunction部115_1とは、自身と異なる各外部のサーバ装置220_0、220_2、・・・、220_nとネットワーク経由で通信可能に接続されている。データ記憶部226_1は、外部の秘密分散プロキシ装置200および外部の乱数生成サーバ装置210_0とネットワーク経由で通信可能に接続されている。データ記憶部226_1は、秘密分散データ生成部113_1と秘密分散データ復元部114_1と判定bit−conjunction部115_1と通信可能に接続されている。秘密分散データ生成部113_1と秘密分散データ復元部114_1とは通信可能に接続されている。
図12に示すように、第iの秘密計算サーバ装置220_i(2≦i≦n)は、第iの判定bit−conjunction部115_iと、第iのデータ記憶部226_iと、を含む。第iの判定bit−conjunction部115_iと第iのデータ記憶部226_iとは、外部の秘密分散プロキシ装置200および各外部のサーバ装置210_0、220_1、220_i’(i’≠i,2≦i’≦n)とネットワーク経由で通信可能に接続されている。第iの判定bit−conjunction部115_iと第iのデータ記憶部226_iとは通信可能に接続されている。
(ステップB4)
第2の実施形態による乱数生成サーバ装置210_0の動作におけるステップB4は、第1の実施の形態による乱数生成サーバ装置100_0の動作におけるステップB4と等しい。ただし、シェア加算部102_2は、マスクされた秘密分散データ[a−b+r]_R0(=[a−b]_R0+r)を、マスク値復元サーバ装置220_1に含まれる秘密分散データ復元部114_1に送る。
(付記7)2つの被演算子の差の値に関するringのシェアを生成するステップと、
乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信するステップと、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元するステップと、
を含む秘密計算サーバ装置での秘密等号判定方法。
(付記8)2つの被演算子の差の値に関するringのシェアを生成する処理と、
乱数を生成する処理と、
前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信する処理と、
前記乱数のbitのシェアを生成する処理と、
前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、
を乱数生成サーバ装置のコンピュータに実行させる秘密等号判定プログラム
(付記9)2つの被演算子の差の値に関するringのシェアを生成する処理と、
前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力する処理と、
該復元した値のbitのシェアを生成する処理と、
前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、
をマスク値復元サーバ装置のコンピュータに実行させる秘密等号判定プログラム
(付記10)2つの被演算子の差の値に関するringのシェアを生成する処理と、
乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、
前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、
を秘密計算サーバ装置のコンピュータに実行させる秘密等号判定プログラム
(付記14)数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する判定bit−conjunction
備える秘密計算サーバ装置。
(付記16)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成するステップと、
乱数を生成するステップと、
前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信するステップと、
前記2つの被演算子の差の値に関するringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するステップと、
前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信するステップと、
を含む乱数生成サーバ装置での秘密等号判定方法。
(付記19)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する処理と、
乱数を生成する処理と、
前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信する処理と、
前記2つの被演算子の差の値に関するringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信する処理と、
前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する処理と、
を乱数生成サーバ装置のコンピュータに実現させる秘密等号判定プログラム
(付記20)秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する処理と、
前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力する処理と、
前記復元した値のbitのシェアを生成する処理と、
前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する処理と、
をマスク値復元サーバ装置のコンピュータに実現させる秘密等号判定プログラム
(付記21)数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する処
秘密計算サーバ装置のコンピュータに実現させる秘密等号判定プログラム

Claims (21)

  1. 乱数を生成する乱数生成部と、
    2つの被演算子の差の値に関するringのシェアを生成すると共に、前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信する秘密分散データ生成部と、
    前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するシェア加算部と、
    前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit−conjunction部と、
    前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する秘密分散データ復元部と、
    を備える乱数生成サーバ装置。
  2. 2つの被演算子の差の値に関するringのシェアを生成すると共に、復元した値のbitのシェアを生成する秘密分散データ生成部と、
    前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、前記復元した値を出力する秘密分散データ復元部と、
    前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit−conjunction部と、
    を備え、
    前記秘密分散データ復元部は、前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する、マスク値復元サーバ装置。
  3. 2つの被演算子の差の値に関するringのシェアを生成する秘密分散データ生成部と、
    乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する判定bit−conjunction部と、
    前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する秘密分散データ復元部と、
    を備える秘密計算サーバ装置。
  4. 請求項1に記載の乱数生成サーバ装置と、請求項2に記載のマスク値復元サーバ装置と、請求項3に記載の秘密計算サーバ装置の複数台とが、ネットワークで接続されて成る秘密等号判定システム。
  5. 2つの被演算子の差の値に関するringのシェアを生成するステップと、
    乱数を生成するステップと、
    前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するステップと、
    前記乱数のbitのシェアを生成するステップと、
    前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信するステップと、
    前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元するステップと、
    を含む乱数生成サーバ装置での秘密等号判定方法。
  6. 2つの被演算子の差の値に関するringのシェアを生成するステップと、
    前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力するステップと、
    該復元した値のbitのシェアを生成するステップと、
    前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信するステップと、
    前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元するステップと、
    を含むマスク値復元サーバ装置での秘密等号判定方法。
  7. 2つの被演算子の差の値に関するringのシェアを生成する秘密分散データ生成部と、
    乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信するステップと、
    前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元するステップと、
    を含む秘密計算サーバ装置での秘密等号判定方法。
  8. 2つの被演算子の差の値に関するringのシェアを生成する処理と、
    乱数を生成する処理と、
    前記ringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信する処理と、
    前記乱数のbitのシェアを生成する処理と、
    前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、
    前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、
    を乱数生成サーバ装置のコンピュータに実行させる秘密等号判定プログラムを記録した記録媒体。
  9. 2つの被演算子の差の値に関するringのシェアを生成する処理と、
    前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力する処理と、
    該復元した値のbitのシェアを生成する処理と、
    前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、
    前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、
    をマスク値復元サーバ装置のコンピュータに実行させる秘密等号判定プログラムを記録した記録媒体。
  10. 2つの被演算子の差の値に関するringのシェアを生成する処理と、
    乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を他のサーバ装置へ送信する処理と、
    前記判定結果と他のサーバ装置からの判定結果とに基づいて、前記判定結果のbitのシェアを復元する処理と、
    を秘密計算サーバ装置のコンピュータに実行させる秘密等号判定プログラムを記録した記録媒体。
  11. 2つ被演算子を秘密分散して、2つの被演算子に関するringのシェアを生成し、該生成した2つの被演算子に関するringのシェアを複数のサーバ装置へ送信する秘密分散データ生成部と、
    前記複数のサーバ装置から受け取った判定結果に基づいて、等号判定の結果を復元する秘密分散データ復元部と、
    を備える秘密分散プロキシ装置。
  12. 乱数を生成する乱数生成部と、
    秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成すると共に、前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信する秘密分散データ生成部と、
    前記2つの被演算子の差の値に関するringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するシェア加算部と、
    前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する判定bit−conjunction部と、
    を備える乱数生成サーバ装置。
  13. 秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成すると共に、復元した値のbitのシェアを生成する秘密分散データ生成部と、
    前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、前記復元した値を出力する秘密分散データ復元部と、
    前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する判定bit−conjunction部と、
    を備えるマスク値復元サーバ装置。
  14. 秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する秘密分散データ生成部と、
    乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する判定bit−conjunction部と、
    を備える秘密計算サーバ装置。
  15. 請求項11に記載の秘密分散プロキシ装置と、請求項12に記載の乱数生成サーバ装置と、請求項13に記載のマスク値復元サーバ装置と、請求項14に記載の秘密計算サーバ装置の複数台とが、ネットワークで接続されて成る秘密等号判定システム。
  16. 秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成するステップと、
    乱数を生成する乱数生成部と、
    前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信するステップと、
    前記2つの被演算子の差の値に関するringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信するステップと、
    前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信するステップと、
    を含む乱数生成サーバ装置での秘密等号判定方法。
  17. 秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成するステップと、
    前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力するステップと、
    前記復元した値のbitのシェアを生成するステップと、
    前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信するステップと、
    を含むマスク値復元サーバ装置での秘密等号判定方法。
  18. 秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成するステップと、
    乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信するステップと、
    を含む秘密計算サーバ装置での秘密等号判定方法。
  19. 秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する処理と、
    乱数を生成する処理と、
    前記乱数のbitのシェアを生成し、前記乱数のbitのシェアを他のサーバ装置へ送信する処理と、
    前記2つの被演算子の差の値に関するringのシェアに前記乱数を加えて、マスクされた秘密分散データを生成し、該マスクされた秘密分散データをマスク値復元サーバ装置へ送信する処理と、
    前記乱数のbitのシェアと、前記マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する処理と、
    を乱数生成サーバ装置のコンピュータに実現させる秘密等号判定プログラムを記録した記録媒体。
  20. 秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する処理と、
    前記ringのシェアと、複数の秘密計算サーバ装置から取り出した複数のringのシェアと、乱数生成サーバ装置から受け取ったマスクされた秘密分散データとを用いて、マスクされた値を復元し、復元した値を出力する処理と、
    前記復元した値のbitのシェアを生成する処理と、
    前記乱数生成サーバ装置から受け取った乱数のbitのシェアと、前記復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する処理と、
    をマスク値復元サーバ装置のコンピュータに実現させる秘密等号判定プログラムを記録した記録媒体。
  21. 秘密分散プロキシ装置から受け取った2つの被演算子に関するringのシェアから、前記2つの被演算子の差の値に関するringのシェアを生成する処理と、
    乱数生成サーバ装置から受け取った乱数のbitのシェアと、マスク値復元サーバ装置から受け取った復元した値のbitのシェアとを用いて秘密等号判定を行い、判定結果を前記秘密分散プロキシ装置へ送信する処理と、
    を秘密計算サーバ装置のコンピュータに実現させる秘密等号判定プログラムを記録した記録媒体。


JP2019557897A 2017-12-05 2017-12-05 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム Active JP6974804B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/043631 WO2019111319A1 (ja) 2017-12-05 2017-12-05 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム記録媒体

Publications (2)

Publication Number Publication Date
JPWO2019111319A1 true JPWO2019111319A1 (ja) 2020-12-03
JP6974804B2 JP6974804B2 (ja) 2021-12-01

Family

ID=66750846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019557897A Active JP6974804B2 (ja) 2017-12-05 2017-12-05 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム

Country Status (3)

Country Link
US (1) US11290456B2 (ja)
JP (1) JP6974804B2 (ja)
WO (1) WO2019111319A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11646876B2 (en) * 2017-07-31 2023-05-09 Koninklijke Philips N.V. Distributing a computation output
KR20210127168A (ko) * 2019-02-22 2021-10-21 인퍼, 인코포레이티드 모듈러 정수를 사용한 보안 다자간 계산을 위한 산술

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9231977B2 (en) * 2013-12-23 2016-01-05 Nokia Technologies Oy Method and apparatus for providing collaborative privacy policies for a shared device
US9813234B2 (en) * 2015-05-11 2017-11-07 The United States of America, as represented by the Secretery of the Air Force Transferable multiparty computation
EP3506547A1 (en) * 2017-12-28 2019-07-03 Flytxt B.V. Providing security against user collusion in data analytics using random group selection
CN109255247B (zh) * 2018-08-14 2020-08-14 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备

Also Published As

Publication number Publication date
JP6974804B2 (ja) 2021-12-01
US11290456B2 (en) 2022-03-29
WO2019111319A1 (ja) 2019-06-13
US20210176252A1 (en) 2021-06-10

Similar Documents

Publication Publication Date Title
CN109255247B (zh) 多方安全计算方法及装置、电子设备
KR101687122B1 (ko) 2 당사자 보안 함수 평가를 위한 입력 일관성 검증
US9860058B2 (en) Secret computation system, arithmetic unit, secret computation method and program
US10003460B2 (en) Secret quotient transfer device, secret bit decomposition device, secret modulus conversion device, secret quotient transfer method, secret bit decomposition method, secret modulus conversion method, and programs therefor
CN111125727B (zh) 混淆电路生成方法、预测结果确定方法、装置和电子设备
CN113239404A (zh) 一种基于差分隐私和混沌加密的联邦学习方法
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
US8977855B2 (en) Secure function evaluation between semi-honest parties
CN111144576A (zh) 模型训练方法、装置和电子设备
JP5860557B1 (ja) 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム
US20220060318A1 (en) Secure right shift computation system, secure division system, methods therefor, secure computation apparatus, and program
JP6974804B2 (ja) 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム
CN116561787A (zh) 视觉图像分类模型的训练方法、装置及电子设备
CN112182109A (zh) 基于区块链的分布式数据编码存储方法和电子设备
JP6928320B2 (ja) サーバ装置、秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム
Biçer et al. Highly efficient and re-executable private function evaluation with linear complexity
CN114830211A (zh) 秘密随机数生成系统、秘密计算装置、秘密随机数生成方法以及程序
US11599681B2 (en) Bit decomposition secure computation apparatus, bit combining secure computation apparatus, method and program
Patil et al. Pixel co-ordinate-based secret image sharing scheme with constant size shadow images
JP2010096787A (ja) 秘密情報分散装置、秘密情報分散プログラム、秘密情報分散方法、秘密情報復元装置、秘密情報復元プログラム、秘密情報復元方法、及び秘密情報分散復元システム
CN114817954A (zh) 图像的处理方法、系统和装置
CN114244517A (zh) 数据加密及签名方法、装置、计算机设备和存储介质
US20230004356A1 (en) Secure random number generation system, secure computation apparatus, secure random number generation method, and program
CN114499845B (zh) 多方安全计算的方法、系统、装置、存储介质及设备
CN114095157B (zh) 密钥管理方法、装置、计算机设备及可读存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200602

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210917

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211019

R150 Certificate of patent or registration of utility model

Ref document number: 6974804

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150