JPWO2019039380A1 - シェア生成装置、シェア変換装置、秘密計算システム、シェア生成方法、シェア変換方法、プログラム、および記録媒体 - Google Patents

シェア生成装置、シェア変換装置、秘密計算システム、シェア生成方法、シェア変換方法、プログラム、および記録媒体 Download PDF

Info

Publication number
JPWO2019039380A1
JPWO2019039380A1 JP2019537588A JP2019537588A JPWO2019039380A1 JP WO2019039380 A1 JPWO2019039380 A1 JP WO2019039380A1 JP 2019537588 A JP2019537588 A JP 2019537588A JP 2019537588 A JP2019537588 A JP 2019537588A JP WO2019039380 A1 JPWO2019039380 A1 JP WO2019039380A1
Authority
JP
Japan
Prior art keywords
share
value
function
unit
mod
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
JP2019537588A
Other languages
English (en)
Other versions
JP6885467B2 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2019039380A1 publication Critical patent/JPWO2019039380A1/ja
Application granted granted Critical
Publication of JP6885467B2 publication Critical patent/JP6885467B2/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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

シェア生成装置は、N個のシードs,…,sN−1を得、平文x∈Fおよび関数値eの関数値y=g(x,e)∈Fを得、要素yとd∈{0,…,N−1}かつd≠iについてのN−1個のシードsとを含む情報を、秘密分散における平文xのシェアSSとして得て出力する。ただし、関数値yはm=m(0)+…+m(N−1)を満たす要素y∈Fm(0),…,yN−1∈Fm(N−1)によって表現される。

Description

本発明は、暗号技術に関し、特に秘密計算技術に関する。
秘密分散方式の一つにシャミア(Shamir)秘密分散法がある(例えば、非特許文献1等参照)。
A. Shamir, "How to Share a Secret", Communications of the ACM, November 1979, Volume 22, Number 11, pp.612-613.
秘密計算装置は、シャミア秘密分散法に則って得られたシェアをそのまま用いて秘密計算を行うことができる。しかし、このシェアがN個の秘密計算装置に秘密分散される場合、シェアの総データ量は平文のデータ量のN倍のオーダーになってしまう。そのため、このシェアをそのままN個の秘密計算装置に送信したのでは、総通信データ量も平文のデータ量のN倍のオーダーとなってしまう。
本発明の目的は、シャミア秘密分散法に則ったシェアよりも総通信データ量が小さく、かつシャミア秘密分散法に則ったシェアに変換可能なシェアを生成する技術、またはシャミア秘密分散法に則ったシェアよりも総通信データ量が小さいシェアをシャミア秘密分散法に則ったシェアに変換する技術を提供することである。
シェア生成装置は、N個のシードs,…,sN−1を得、平文x∈Fおよび関数値eの関数値y=g(x,e)∈Fを得、要素y∈Fm(i)とd∈{0,…,N−1}かつd≠iについてのN−1個のシードsとを含む情報を、秘密分散における平文xのシェアSSとして得て出力する。ただし、Nが2以上の整数であり、mが1以上の整数であり、m(i)が0以上の整数であり、i=0,…,N−1であり、Pが関数であり、関数Pの値域がm個の体Fの元の列を要素とする集合Fに属し、P(s),…,P(sN−1)∈Fがシードs,…,sN−1の関数値であり、e=f(P(s),…,P(sN−1))∈Fが関数値P(s),…,P(sN−1)∈Fの関数値であり、関数値yがm=m(0)+…+m(N−1)を満たす要素y∈Fm(0),…,yN−1∈Fm(N−1)によって表現される。
N個のシェア変換装置A,…,AN−1に含まれる各シェア変換装置AはシェアSSを受け付け、他のシェア変換装置Ai−1 mod Nとの間で任意値t∈Fm(i)を共有し、任意値tをシェア変換装置Ai−1 mod Nのシェア[yi−1 mod Nとしてシャミア秘密分散法に則って要素yを秘密分散することで各シェア変換装置Aのシェア[y∈Fm(i)を得て出力し、シェア[yを受け付け、シードsの関数値P(s)∈Fを得、N個のシードs,…,sN−1の関数値P(s),…,P(sN−1)に対する関数値e=f(P(s),…,P(sN−1))∈Fのシェアである、d∈{0,…,N−1}かつd≠iについての関数値P(s)の集合SETを、シャミア秘密分散法に則った関数値eのシェア[e]に変換し、シェア[y,…,[yN−1によって表現されるシェア[y]およびシェア[e]を用いた秘密計算により、シャミア秘密分散法に則ったx=g−1(y,e)のシェア[x]を得る。ただし、u=0,…,N−1であり、シェア[y]は平文xおよび関数値eに対する関数値y=g(x,e)∈Fのシェアである。
シェア生成装置は、シャミア秘密分散法に則ったシェアよりも総通信データ量が小さく、かつシャミア秘密分散法に則ったシェアに変換可能なシェアを生成できる。シェア変換装置は、シャミア秘密分散法に則ったシェアよりも総通信データ量が小さいシェアをシャミア秘密分散法に則ったシェアに変換できる。
図1は実施形態の秘密計算システムの構成を例示したブロック図である。 図2は実施形態のシェア生成装置の機能構成を例示したブロック図である。 図3は実施形態のシェア変換装置の機能構成を例示したブロック図である。 図4は実施形態のシェア生成方法を説明するためのフロー図である。 図5は実施形態のシェア変換方法を説明するためのフロー図である。
以下、図面を参照して本発明の実施形態を説明する。
[第1実施形態]
まず、第1実施形態を説明する。
<構成>
図1に例示するように、本形態の秘密計算システム1はシェア生成装置11およびN個のシェア変換装置12−A,…,12−AN−1を有し、これらの装置はインターネット等のネットワークを通じて互いに通信可能である。ただし、Nは2以上の整数である。例えば、Nは3以上の整数である。Nの一例はN=3である。なお、図1には1個のシェア生成装置11を図示しているが、秘密計算システム1が複数個のシェア生成装置を有していてもよい。
図2に例示するように、本形態のシェア生成装置11は、シード生成部111、演算部112、分割部113、シェア生成部116、通信部117、記憶部118、および制御部119を有し、制御部119の制御のもとで各処理を実行する。シェア生成装置11の各処理部(処理を行う部位)から出力された情報は記憶部118に格納され、必要に応じて読み出されて他の処理部に入力される。
図3に例示するように、各シェア変換装置12−A(ただし、i=0,…,N−1)は、通信部1201−A、共有部1202−A、秘密分散部1203−A、秘密計算部1206−A、演算部1207−A、シャミア変換部1208−A、シェア生成部1209−A、記憶部1210−A、および制御部1211−Aを有し、制御部1211−Aの制御のもとで各処理を実行する。シェア変換装置12−Aの各処理部から出力された情報は記憶部1210−Aに格納され、必要に応じて読み出されて他の処理部に入力される。
<シェア生成方法>
図4を用い、本形態のシェア生成装置11が行うシェア生成方法を説明する。なお、「シェア」とは秘密分散における断片を意味する。
まずシード生成部111(図2)は、N個のシードs,…,sN−1を得て出力する。シードs,…,sN−1のデータ形式に限定はなく、どのような値をシードs,…,sN−1としてもよい。各シードs,…,sN−1の一例はw個の体Fの元の列を要素とする集合Fの元である(s,…,sN−1∈F)。ただし、α∈βはαがβの要素であることを意味する。wは1以上の整数である。w=1の場合、Fは体Fである。体Fの例は素数pを法とした剰余(任意のαに対するα mod p)からなる集合であり、この場合の体Fでの演算結果は素数pを法とした剰余として得られる。p≧3であり、例えばp=261−1である。シードs(ただし、i=0,…,N−1)は任意値であってもよいし、他の処理で得られた出力値であってもよい。「任意値」は乱数(擬似乱数または真正乱数)であってもよいし、予め設定された複数の値から選択された値であってもよいし、他の処理で得られた値であってもよい。例えば、シード生成部111は、N個の乱数を生成し、それらをシードs,…,sN−1として出力する(ステップS111)。
秘密分散対象の平文x∈Fおよびシード生成部111から出力されたシードs,…,sN−1は演算部112に入力される。ただし、mは1以上の整数である。例えば、mは2以上の整数または3以上の整数である。演算部112は、平文x∈Fおよび関数値e=f(P(s),…,P(sN−1))∈Fの関数値y=g(x,e)∈Fを得て出力する。ただし、Pは関数である。関数Pの値域はm個の体Fの元の列を要素とする集合Fに属する。集合Fの一例はm個の体Fの元を要素とするm次元ベクトルの集合である。関数Pの定義域はどのようなものであってもよいが、例えば、関数Pの定義域は集合Fに属する。例えばw<mである。関数Pの例は擬似乱数生成関数である。P(s),…,P(sN−1)∈Fはシードs,…,sN−1の関数値(例えば、擬似乱数)である。g:Fm×2→Fは2個の集合Fの元を1個の集合Fの元に移す線形関数(線形性を持つ関数)である。例えば、y=x−e∈Fである。しかし、これは本発明を限定しない。例えばx−eの一部または全部の項に定数が乗じられた式によって表される演算によって得られる値をyとしてもよいし、x−eの一部または全部の項が逆元に置換された式によって表される演算によって得られる値をyとしてもよいし、x−eの一部または全部の項を逆元に置換し、さらに一部または全部の項に定数が乗じられた式によって表される演算によって得られる値をyとしてもよいし、さらに定数項が加えられた式によって表される演算によって得られる値をyとしてもよい。関数値e=f(P(s),…,P(sN−1))は関数値P(s),…,P(sN−1)∈Fの関数値である。f:Fm×n→Fはn個の集合Fの元を1個の集合Fの元に移す線形関数である。例えば、e=f(P(s),…,P(sN−1))=Σ0≦i<NP(s)=P(s)+…+P(sN−1)∈Fである。しかし、これは本発明を限定しない。例えば、P(s)+…+P(sN−1)の一部または全部の項に定数が乗じられた式によって表される演算によって得られる値をeとしてもよいし、P(s)+…+P(sN−1)の一部または全部の項が逆元に置換された式によって表される演算によって得られる値をeとしてもよいし、P(s)+…+P(sN−1)の一部または全部の項を逆元に置換し、さらに一部または全部の項に定数が乗じられた式によって表される演算によって得られる値をeとしてもよいし、さらに定数項が加えられた式によって表される演算によって得られる値をeとしてもよい(ステップS112)。
関数値y∈Fは分割部113に入力される。分割部113は、関数値yをN個の要素y,…,yN−1に分割して出力する。ただし、i=0,…,N−1についてy∈Fm(i)であり、m(i)が0以上の整数であり(例えば、m(i)は1以上の整数であり)、m≧Nであり、m=m(0)+…+m(N−1)を満たす。例えば、mがNの倍数である場合にはm(0)=…=m(N−1)=m/Nとしてもよい。しかし、mがNの倍数であるか否かにかかわらず、m(0),…,m(N−1)がすべて同一でなくてもよい。例えば、m(0),…,m(N−1)の少なくとも一部が0であってもよい。ただしγ∈Fはヌル値を表す。m(i)=0の場合、y∈Fm(i)はヌル値である。関数値yは要素y∈Fm(0),…,yN−1∈Fm(N−1)(例えば、y,…,yN−1の列)によって表現される。例えば、関数値yはy∈Fm(0),…,yN−1∈Fm(N−1)を並べた列y|…|yN−1で表現される。m=1の場合、m(0),…,m(N−1)の何れか1個のみが1であり、他はすべて0である。このような場合、分割部113は関数値yを分割する必要はなく、要素y,…,yN−1の何れか1個の要素を関数値yとし、残りの要素を全てヌル値として出力する(ステップS113)。
分割部113から出力された要素y,…,yN−1およびシード生成部111から出力されたシードs,…,sN−1はシェア生成部116に入力される。シェア生成部116は、要素yとd∈{0,…,N−1}かつd≠iについてのN−1個のシードsとを各シェア変換装置12−A(ただし、i=0,…,N−1)に割り当て、要素yとd∈{0,…,N−1}かつd≠iについてのN−1個のシードsとを含む情報を、秘密分散における平文xのシェアSSとして得て出力する。なお、i≠0かつi≠N−1の場合、d∈{0,…,N−1}かつd≠iについてのN−1個のシードsはシードs,…,si−1,si+1,…,sN−1である。i=0の場合、d∈{0,…,N−1}かつd≠iについてのN−1個のシードsはシードs,…,sN−1である。i=N−1の場合、d∈{0,…,N−1}かつd≠iについてのN−1個のシードsはシードs,…,sN−2である。各シェアSSは各シェア変換装置12−A(ただし、i=0,…,N−1)のシェアである。各シェアSSは他の情報を含んでもよいが、d∈{0,…,N−1}かつd≠iについての要素yおよびシードsを含まない。なお、ヌル値である要素y∈FとN−1個のシードsとを含む情報とは、要素yがヌル値であることを示し、かつN−1個のシードsを含む情報を意味する。ヌル値である要素y∈FとN−1個のシードsとを含む情報は、N−1個のシードsを含むが実質的には要素yを含まない。シードs,…,sN−1のサイズおよびNはmに依存しない。平文のデータサイズmに関する総シェアサイズのオーダーは、(2,N)−シャミア秘密分散ではO(Nm)となるところ、本形態ではO(m)で済む。個々のシェアのサイズはO(m/N)である。例えば、シェアSS,…,SSN−1の総データ量は平文xのデータ量のN倍未満である。例えば、各シェアSSのデータ量は平文xのデータ量未満である(ステップS116)。
シェア生成部116から出力された各シェアSSは通信部117に入力される。通信部117は、各シェアSSを各シェア変換装置12−A(ただし、i=0,…,N−1)に対して出力する。出力された各シェアSSはネットワークを通じて各シェア変換装置12−Aに送信される。すなわち、シェアSSはシェア変換装置12−Aに送信され、シェアSSはシェア変換装置12−Aに送信され、・・・、シェアSSN−1はシェア変換装置12−AN−1に送信される(ステップS117)。
<シェア変換方法>
図5を用い、本形態の各シェア変換装置12−Aが行うシェア変換方法を説明する。
シェア生成装置11から出力された要素yとd∈{0,…,N−1}かつd≠iについてのN−1個のシードsとを含むシェアSSはシェア変換装置12−A(図3)の通信部1201−A(第1入力部)に受信される(受け付けられる)。受信されたシェアSSは記憶部1210−Aに格納される(ステップS1210−A)。
共有部1202−Aは、他のシェア変換装置12−Ai−1 mod Nの共有部1202−Ai−1 mod Nとの間で任意値t∈Fm(i)を共有する。すなわち、共有部1202−Aと共有部1202−Ai−1 mod Nとは同一の任意値tを得る。共有部1202−Aから任意値tまたは任意値tを特定する情報を共有部1202−Ai−1 mod Nに送信して両者で任意値tが共有されてもよいし、共有部1202−Ai−1 mod Nから任意値tまたは任意値tを特定する情報を共有部1202−Aに送信して両者で任意値tが共有されてもよいし、共有部1202−Aと共有部1202−Ai−1 mod Nとで共有シード値を共有しておき、両者が共有シード値を用いた同一の処理を実行することで任意値tが共有されてもよい。任意値tは、乱数(擬似乱数または真正乱数)であってもよいし、他の処理で得られた値であってもよいし、予め定められた複数の値から選択された値であってもよい。任意値t∈Fm(i)の共有は、ステップS1210−Aが実行されたことを契機として行われてもよいし、他の共有部1202−Ai−1 mod Nからの要求を契機として行われてもよいし、その他の契機で行われてもよいし、予め行われていてもよい。共有部1202−Aは得た任意値tを出力する。要素yがヌル値である場合には任意値tもヌル値に設定される(ステップS1202−A)。
シェアSSに含まれた要素yおよび共有部1202−Aから出力された任意値tは秘密分散部1203−Aに入力される。秘密分散部1203−Aは、シャミア(Shamir)秘密分散法に則って要素yを秘密分散することで各シェア変換装置12−A(ただし、u=0,…,N−1)のシェア[y∈Fm(i)(Shamirシェア)を得て出力する。ただし、任意値tをシェア変換装置12−Ai−1 mod Nのシェア[yi−1 mod Nとする。実施形態のシャミア秘密分散法は2-out-of-Nしきい値分散方式であり、任意の相違なる2個のシェアが与えられれば平文を復元できるが、任意の1個のシェア情報が与えられても平文の情報はまったく得られない。2-out-of-Nしきい値分散方式の場合、秘密分散対象の要素yと1つのシェア[yi−1 mod N=tとが定まれば他のシェアを求めることができる。例えば、秘密分散部1203−Aは、任意値tをシェア変換装置12−Ai−1 mod Nのシェア[yi−1 mod Nとし、ラグランジェ(Lagrange)の補間公式を用いて要素yとシェア[yi−1 mod N=tと他のシェア[yu’∈Fm(i)(ただし、u’∈{0,…,N−1}かつu’≠i−1 mod N)との間に成り立つ方程式を特定し(例えば、当該方程式の各項の係数を特定し)、それを解くことで他のシェア[yu’∈Fm(i)を生成する。通信部1201−A(第1出力部)は秘密分散部1203−Aで得たシェア[yを他のN−1個のシェア変換装置12−A(ただし、d∈{0,…,N−1}かつd≠i)に対して出力(送信)する。ただし、シェア変換装置12−Aとシェア変換装置12−Ai−1 mod Nとは既にシェア[yi−1 mod N=tを共有しているため(ステップS1202−A)、シェア変換装置12−Ai−1 mod Nへのシェア[yi−1 mod N=tの更なる送信が省略されてもよい。要素yがヌル値である場合にはシェア[yもヌル値に設定される。通信部1201−A(第2入力部)は、同様に他のシェア変換装置12−Aから出力(送信)されたシェア[yを受信する(受け付ける)(ステップS1203−A)。
秘密分散部1203−Aから出力されたシェア変換装置12−Aのシェア[yおよび他のシェア変換装置12−A(ただし、d∈{0,…,N−1}かつd≠i)から送信されたシェア[yは秘密計算部1206−A(第1秘密計算部)に入力される。秘密計算部1206−Aは、公知の秘密計算によってシェア[y,…,[yN−1を結合(連結)してシェア[y]∈Fを得て出力する。シェア[y]はシャミア秘密分散法に則った関数値yのシェアである。関数値yはN個の要素y,…,yN−1を結合したものである。例えば、y∈Fm(0),…,yN−1∈Fm(N−1)を並べた列y|…|yN−1がyである。秘密計算によって、シャミア秘密分散法に則ったシェア[y,…,[yN−1を結合してシェア[y]∈Fを得るには、例えばシェア[y,…,[yN−1の列をシェア[y]とすればよい。すなわち、シェア[y]はシェア[y∈Fm(0),…,[yN−1∈Fm(N−1)によって表現される。例えば、シェア[y,…,[yN−1を並べた列[y|…|[yN−1がシェア[y]である(ステップS1206−A)。
シェアSSに含まれたN−1個のシードsは演算部1207−Aに入力される。演算部1207−Aは、N−1個のシードsのN−1個の関数値P(s)∈F(例えば、擬似乱数)を得て出力する(ただし、d∈{0,…,N−1}かつd≠i)。この演算に用いられる関数Pは、シェア生成装置11の演算部112で関数値yを得るための関数Pと同一である。d∈{0,…,N−1}かつd≠iについてのN−1個の関数値P(s)の集合SET(すなわち、集合SETはd∈{0,…,N−1}かつd≠iについてのN−1個の関数値P(s)を要素として持つ)は、N個のシードs,…,sN−1の関数値P(s),…,P(sN−1)に対する関数値e=f(P(s),…,P(sN−1))∈Fのシェアである。つまり、少なくとも2個の互いに異なる集合SETi’およびSETi”(ただし、i’,i”∈{0,…,N−1}かつi’≠i”)があれば、関数値e=f(P(s),…,P(sN−1))を復元できる。すなわち、集合SETは関数値eの(2,N)−複製秘密分散シェアである(ステップS1207−A)。
d∈{0,…,N−1}かつd≠iについてのN−1個の関数値P(s)の集合SETはシャミア変換部1208−Aに入力される。シャミア変換部1208−Aは、関数値eの(2,N)−複製秘密分散シェアである集合SETを、公知のシャミア変換方法によって、シャミア秘密分散法に則った関数値eのシェア[e]に変換して出力する。(2,N)−複製秘密分散シェアをシャミア秘密分散法に則ったシェアに変換する方法としては、例えば、「Ronald Cramer, Ivan Damgard, Yuval Ishai: Share Conversion, Pseudorandom Secret-Sharing and Applications to Secure Computation. TCC 2005: 342-362」(参考文献1)に記載された方法を例示できる(ステップS1208−A)。
秘密計算部1206−Aから出力されたシェア[y]およびシャミア変換部1208−Aから出力されたシェア[e]は、シェア生成部1209−A(第1シェア生成部)に入力される。前述のように、シェア[y]は平文xおよび関数値eに対する関数値y=g(x,e)∈Fのシャミア秘密分散法に則ったシェアである。ここでy=g(x,e)に対してx=g−1(y,e)∈Fを満たす関数をg−1:Fm×2→Fと定義する。例えば、y=x−eの場合、x=y+eである。シェア生成部1209−Aは、シェア[y]およびシェア[e]を用いた秘密計算により、シャミア秘密分散法に則ったx=g−1(y,e)のシェア[x]∈Fを得て出力する。例えば、x=y+eの場合、シェア生成部1209−Aは、シェア[y]およびシェア[e]を用いた秘密計算により、シェア[y+e]を得て出力する。シャミア秘密分散法に則ったシェアを用いた秘密計算は、例えば、「Michael Ben-Or, Shafi Goldwasser, Avi Wigderson: Completeness Theorems for Non-Cryptographic Fault-Tolerant Distributed Computation (Extended Abstract). STOC 1988: 1-10」(参考文献2)に記載されている(ステップS1209−A)。
<本形態の特徴>
シェア生成装置11は、要素y∈Fm(i)およびd∈{0,…,N−1}かつd≠iについてのN−1個のシードsを含む情報をシェアSSとして各シェア変換装置12−Aに出力する。これにより、シャミア秘密分散法に則ったシェアよりも総通信データ量を小さくできる。各シェア変換装置12−AはシェアSSをシャミア秘密分散法に則ったシェア[x]に変換できる。これにより、秘密計算を行うことができる。
[第2実施形態]
第2実施形態は第1実施形態の変形例である。本形態では、シェア生成の際にシェアに対応するチェックサムを生成し、シェア変換の際にチェックサムを用いてシェアを検証する。以下では、第1実施形態で既に説明した事項については第1実施形態と同じ参照番号を用い、説明を簡略化する場合がある。
<構成>
図1に例示するように、本形態の秘密計算システム2はシェア生成装置21およびN個のシェア変換装置22−A,…,22−AN−1を有し、これらの装置はインターネット等のネットワークを通じて互いに通信可能である。図1には1個のシェア生成装置21を図示しているが、秘密計算システム2が複数個のシェア生成装置を有していてもよい。
図2に例示するように、本形態のシェア生成装置21は、シード生成部111、演算部112、分割部113、任意値生成部214、チェックサム生成部215、シェア生成部216、通信部117、記憶部118、および制御部119を有し、制御部119の制御のもとで各処理を実行する。各処理部から出力された情報は記憶部118に格納され、必要に応じて読み出されて他の処理部に入力される。
図3に例示するように、各シェア変換装置22−A(ただし、i=0,…,N−1)は、通信部1201−A、共有部1202−A、秘密分散部1203−A、シェア生成部2204−A、検証部2205−A、秘密計算部1206−A、演算部1207−A、シャミア変換部1208−A、シェア生成部1209−A、記憶部1210−A、および制御部1211−Aを有し、制御部1211−Aの制御のもとで各処理を実行する。各処理部から出力された情報は記憶部1210−Aに格納され、必要に応じて読み出されて他の処理部に入力される。
<シェア生成方法>
図4を用い、シェア生成装置21が行うシェア生成方法を説明する。まず、シェア生成装置11に代えてシェア生成装置21が、第1実施形態で説明したステップS111からS113の処理を実行する。
次に、任意値生成部214が、集合Fに属するN個の任意値r,…,rN−1∈Fを得て出力する。ただし、vは1以上の整数である。vがm以下である(例えば、vがmよりも小さい)ほうがデータ量の削減効果が大きい。例えばv=1である。集合Fの一例は体Fを基礎体とした拡大次数vの拡大体である。「任意値」は乱数(擬似乱数または真正乱数)であってもよいし、予め設定された複数の値から選択された値であってもよい。例えば、任意値生成部214は、N個の乱数を生成し、それらを任意値r,…,rN−1として出力する(ステップS214)。
分割部113から出力された要素y,…,yN−1および任意値生成部214から出力された任意値r,…,rN−1はチェックサム生成部215に入力される。ここで、各要素y∈Fm(i)はm(i)個のサブ要素(y,…,(ym(i)−1∈Fに分割可能である。例えば、各要素yはサブ要素(y,…,(ym(i)−1を並べた列(y|…|(ym(i)−1で表現される。また、m’(i)がceil(m(i)/v)であり、(y’が集合Fに属する((yvj,(yvj+1,…,(yv(j+1)−1)∈Fである。ただし、ceilは天井関数であり、m’(i)はceil(m(i)/v)(すなわち、m’(i)はm(i)/v以上の最小の整数)である。また、j=m’(i)−1について、(y’v(m’(i)−1),(yv(m’(i)−1)+1,…,(yvm’(i)−1がv個に満たない場合、(y’m’(i)−1=((yv(m’(i)−1),(yv(m’(i)−1)+1,…,(ym(i)−1,0,…,0)∈Fとする。チェックサム生成部215は、要素y,…,yN−1および任意値r,…,rN−1を用い、各シェアSSに対応するチェックサムc=Σ0≦j<m’(i)−1{(y’ j+1}+(y’m’(i)−1 m’(i)+1∈Fを得て出力する(ステップS215)。
分割部113から出力された要素y,…,yN−1、シード生成部111から出力されたシードs,…,sN−1、任意値生成部214から出力された任意値r,…,rN−1、および、チェックサム生成部215から出力されたチェックサムc,…,cN−1はシェア生成部216に入力される。シェア生成部216は、要素y、d∈{0,…,N−1}かつd≠iについてのN−1個のシードs、d∈{0,…,N−1}かつd≠iについてのN−1個の任意値r、およびチェックサムci−1 mod Nを各シェア変換装置22−A(ただし、i=0,…,N−1)に割り当て、要素y、d∈{0,…,N−1}かつd≠iについてのN−1個のシードs、d∈{0,…,N−1}かつd≠iについてのN−1個の任意値r、およびチェックサムci−1 mod Nを含む情報を、秘密分散における平文xのシェアSSとして得て出力する。各シェアSSは各シェア変換装置22−A(ただし、i=0,…,N−1)のシェアである。各シェアSSは他の情報を含んでもよいが、d∈{0,…,N−1}かつd≠iについての要素y、シードs、任意値r、およびc,…,cN−1のうちci−1 mod N以外のチェックサムを含まない。シードs,…,sN−1のサイズおよびN,vはmに依存しない。平文のデータサイズmに関する総シェアサイズのオーダーは、(2,N)−シャミア秘密分散ではO(Nm)となるところ、本形態ではO(m)で済む。個々のシェアのサイズはO(m/N)である。例えば、シェアSS,…,SSN−1の総データ量は平文xのデータ量のN倍未満である。例えば、各シェアSSのデータ量は平文xのデータ量未満である(ステップS216)。
シェア生成部216で得られた各シェアSSは通信部117に入力される。通信部117は、各シェアSSを各シェア変換装置22−A(ただし、i=0,…,N−1)に対して出力する。出力された各シェアSSはネットワークを通じて各シェア変換装置22−Aに送信される。すなわち、シェアSSはシェア変換装置22−Aに送信され、シェアSSはシェア変換装置22−Aに送信され、・・・、シェアSSN−1はシェア変換装置22−AN−1に送信される(ステップS217)。
<シェア変換方法>
図5を用い、本形態の各シェア変換装置22−Aが行うシェア生成方法を説明する。
シェア生成装置21から出力された要素y、d∈{0,…,N−1}かつd≠iについてのN−1個のシードs、d∈{0,…,N−1}かつd≠iについてのN−1個の任意値r、およびチェックサムci−1 mod Nを含むシェアSSはシェア変換装置22−A(図3)の通信部1201−A(第1入力部)に受信される(受け付けられる)。受信されたシェアSSは記憶部1210−Aに格納される(ステップS2210−A)。
次に、各シェア変換装置12−Aに代えて各シェア変換装置22−Aが、第1実施形態で説明したステップS1202−AおよびS1203−Aの処理を実行する。
シェアSSに含まれた任意値rおよび通信部1201−Aで受信されたシェア[y(ただし、d∈{0,…,N−1}かつd≠i)(ステップS1203−A)はシェア生成部2204−A(第2シェア生成部)に入力される。シェア生成部2204−Aは、任意値rおよびシェア[yを用いた秘密計算(秘密計算による公開値倍算、および加算)により、シャミア秘密分散法に則ったチェックサムc=Σ0≦j<m’(d)−1{(y’ j+1}+(y’m’(d)−1 m’(d)+1∈Fのシェア[cを得て出力する。前述のように要素yはm(d)個のサブ要素(y,…,(ym(d)−1に分割できる。(y’が集合Fに属する((yvj,(yvj+1,…,(yv(j+1)−1)∈Fであり、m’(d)はceil(m(d)/v))である。また、j=m’(i)−1について、(yv(m’(d)−1),(yv(m’(d)−1)+1,…,(yvm’(d)−1がv個に満たない場合、(y’m’(d)−1=((yv(m’(d)−1),(yv(m’(d)−1)+1,…,(ym(d)−1,0,…,0)∈Fとする。シャミア秘密分散法に則ったシェアを用いて秘密計算による公開値倍算、および加算を行う方法は、例えば、参考文献2(3ページのLemma)に記載されている(ステップS2204−A)。
シェア[cは通信部1201−Aに入力される。通信部1201−A(第2出力部)はシェア[c(ただし、d∈{0,…,N−1}かつd≠i)を他のシェア変換装置22−Ad+1 mod Nに対して出力する。出力されたシェア[cはネットワークを介してシェア変換装置22−Ad+1 mod Nに送信され、シェア変換装置22−Ad+1mod Nの通信部1201−Ad+1 mod Nで受信され、記憶部1210−Ad+1 mod Nに格納される。当該シェア[c、シェア生成部2204−Ad+1 mod Nで生成されたシェア[cd+1 mod N、シェアSSd+1 mod Nに含まれたチェックサムcは検証部2205−Ad+1 mod Nに入力される。検証部2205−Ad+1 mod Nは、チェックサムcとシェア[cが正しい関係にあるかを検証する。本形態の検証部2205−Ad+1 mod Nは、チェックサムcとN個のシェア[c,…,[cN−1が正しい関係にあるかを検証する。例えば、検証部2205−Ad+1 mod Nは、入力されたN個のシェア[c,…[cN−1が互いに整合性を持つか否かを検証し(検証1:整合性検証)、さらに、入力されたN個のシェア[c,…[cN−1の何れか2個のシェア[ci’および[ci”(ただし、i’,i”∈{0,…,N−1}かつi’≠i”)から復元された値(実施形態のシャミア秘密分散法は2-out-of-Nしきい値分散方式である)とチェックサムcとが互いに一致するかを検証する(検証2:同一性検証)。整合性検証は、例えば、何れか2個のシェア[ci’および[ci”からラグランジェの補間公式を用いて他のシェア[ci’’’(ただし、i’’’∈{0,…,N−1}かつi’’’≠i”かつi’’’≠i’)を計算してその計算結果を[bi’’’とし、[bi’’’と検証部2205−Ad+1 mod Nに入力されたN個のシェア[c,…[cN−1に含まれる[ci’’’とが互いに一致するかを検証する処理である。すべてのi’’’について[bi’’’=[ci’’’が成り立てば整合性検証は合格であり、そうでなければ整合性検証は不合格である。また、同一性検証では、2個のシェア[ci’および[ci”から復元された値とチェックサムcとが互いに一致すれば同一性検証は合格であり、そうでなければ同一性検証は不合格である。整合性検証および同一性検証の両方に合格すれば検証合格であり、そうでない場合に検証不合格である。
同様に、他のシェア変換装置22−Aから出力されたシェア[ci−1 mod Nは、通信部1201−A(第2入力部)で受信され(受け付けられ)、記憶部1210−Aに格納される。他のシェア変換装置22−Aから出力されたシェア[ci−1 mod N、シェア生成部2204−Aで生成されたシェア[ci−1 mod N、シェアSSに含まれたチェックサムci−1 mod Nは検証部2205−Aに入力される。検証部2205−Aは、チェックサムci−1 mod Nとシェア[ci−1 mod Nとが正しい関係にあるかを検証する。本形態の検証部2205−Aは、入力されたチェックサムci−1 mod N、シェア[ci−1 mod N、およびシェア[ci−1 mod Nが正しい関係にあるかを検証する。例えば、検証部2205−Aは、入力されたN個のシェア[ci−1 mod N,…,[ci−1 mod NN−1が互いに整合性を持つか否かを検証し(検証1:整合性検証)、さらに、入力されたN個のシェア[ci−1 mod N,…,[ci−1 mod NN−1の何れか2個のシェア[ci−1 mod Ni’および[ci−1 mod Ni”(ただし、i’,i”∈{0,…,N−1}かつi’≠i”)から復元された値がチェックサムci−1 mod Nに一致するかを検証する(検証2:同一性検証)。整合性検証は、例えば、何れか2個のシェア[ci−1 mod Ni’および[ci−1 modNi”からラグランジェの補間公式を用いて他のシェア[ci−1 mod Ni’’’(ただし、i’’’∈{0,…,N−1}かつi’’’≠i”かつi’’’≠i’)を計算してその計算結果を[bi−1 mod Ni’’’とし、[bi−1 mod Ni’’’と検証部2205−Aに入力されたN個のシェア[ci−1 mod N,…,[ci−1 mod NN−1に含まれる[ci−1 mod Ni’’’とが互いに一致するかを検証する処理である。すべてのi’’’について[bi−1 mod Ni’’’=[ci−1 mod Ni’’’が成り立てば整合性検証は合格であり、そうでなければ整合性検証は不合格である。また、同一性検証では、2個のシェア[ci−1 mod Ni’および[ci−1 mod Ni”から復元された値とチェックサムci−1 mod Nとが互いに一致すれば同一性検証は合格であり、そうでなければ同一性検証は不合格である。整合性検証および同一性検証の両方に合格すれば検証合格であり、そうでない場合に検証不合格である(ステップS2205−A)。
検証部2205−Aで検証合格であると判定された場合、各シェア変換装置12−Aに代えて各シェア変換装置22−Aが、第1実施形態で説明したステップS1206−AからS1209−Aの処理を実行して処理を終了する。一方、検証部2205−Aで検証不合格であると判定された場合、制御部1211−Aは処理をエラー終了させる(ステップS2206−A)。
<本形態の特徴>
本形態でもシャミア秘密分散法に則ったシェアよりも総通信データ量を小さくできる。また、各シェア変換装置22−AはシェアSSをシャミア秘密分散法に則ったシェア[x]に変換できる。さらに、本形態ではシェアSSがチェックサムを含み、シェア変換の際に検証処理を行うことにしたため、シェア生成装置21および/またはシェア変換装置22−Aで行われた不正な処理を検知できる。
なお、本発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。また、シェア生成装置および/またはシェア変換装置は、秘密計算を行う秘密計算装置の一部であってもよいし、秘密計算装置とは別個の装置であってもよい。
上記の各装置は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)およびRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されるのではなく、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
「シェア生成方法」および「シェア変換方法」に係る発明は、特許法第2条第3項第3号に規定された「物を生産する方法の発明」に該当する。また、「シェア生成方法」および「シェア変換方法」によって得られるシェアは、同条第4項に規定された「プログラム等」に該当する。例えば、このようなシェアにはその後の処理のためヘッダや拡張子等が付され、これらを処理するコンピュータはシェアに付されたヘッダや拡張子等を参照しつつ、各シェアを用いた処理を実行する。
1,2 秘密計算システム
11,21 シェア生成装置
12−A,22−A シェア変換装置
分割部113から出力された要素y,…,yN−1およびシード生成部111から出力されたシードs,…,sN−1はシェア生成部116に入力される。シェア生成部116は、要素yとd∈{0,…,N−1}かつd≠iについてのN−1個のシードsとを各シェア変換装置12−A(ただし、i=0,…,N−1)に割り当て、要素yとd∈{0,…,N−1}かつd≠iについてのN−1個のシードsとを含む情報を、秘密分散における平文xのシェアSSとして得て出力する。なお、i≠0かつi≠N−1の場合、d∈{0,…,N−1}かつd≠iについてのN−1個のシードsはシードs,…,si−1,si+1,…,sN−1である。i=0の場合、d∈{0,…,N−1}かつd≠iについてのN−1個のシードsはシードs,…,sN−1である。i=N−1の場合、d∈{0,…,N−1}かつd≠iについてのN−1個のシードsはシードs,…,sN−2である。各シェアSSは各シェア変換装置12−A(ただし、i=0,…,N−1)のシェアである。各シェアSSは他の情報を含んでもよいが、d∈{0,…,N−1}かつd≠iについての要素yおよびシードsを含まない。なお、ヌル値である要素y∈FとN−1個のシードsとを含む情報とは、要素yがヌル値であることを示し、かつN−1個のシードsを含む情報を意味する。ヌル値である要素y∈FとN−1個のシードsとを含む情報は、N−1個のシードsを含むが実質的には要素yを含まない。シードs,…,sN−1のサイズおよびNはmに依存しない。平文のデータサイズmに関する総シェアサイズのオーダーは、(2,N)−シャミア秘密分散ではO(Nm)となるところ、本形態ではO(m)で済む。個々のシェアのサイズはO(m/N)である。例えば、シェアSS,…,SSN−1の総データ量は平文xのデータ量のN倍未満である。例えば、各シェアSSのデータ量は平文xのデータ量未満である(ステップS116)。
<シェア変換方法>
図5を用い、本形態の各シェア変換装置12−Aが行うシェア変換方法を説明する。
シェア生成装置11から出力された要素yとd∈{0,…,N−1}かつd≠iについてのN−1個のシードsとを含むシェアSSはシェア変換装置12−A(図3)の通信部1201−A(第1入力部)に受信される(受け付けられる)。受信されたシェアSSは記憶部1210−Aに格納される(ステップS1201−A)。
共有部1202−Aは、他のシェア変換装置12−Ai−1 mod Nの共有部1202−Ai−1 mod Nとの間で任意値t∈Fm(i)を共有する。すなわち、共有部1202−Aと共有部1202−Ai−1 mod Nとは同一の任意値tを得る。共有部1202−Aから任意値tまたは任意値tを特定する情報を共有部1202−Ai−1 mod Nに送信して両者で任意値tが共有されてもよいし、共有部1202−Ai−1 mod Nから任意値tまたは任意値tを特定する情報を共有部1202−Aに送信して両者で任意値tが共有されてもよいし、共有部1202−Aと共有部1202−Ai−1 mod Nとで共有シード値を共有しておき、両者が共有シード値を用いた同一の処理を実行することで任意値tが共有されてもよい。任意値tは、乱数(擬似乱数または真正乱数)であってもよいし、他の処理で得られた値であってもよいし、予め定められた複数の値から選択された値であってもよい。任意値t∈Fm(i)の共有は、ステップS1201−Aが実行されたことを契機として行われてもよいし、他の共有部1202−Ai−1 mod Nからの要求を契機として行われてもよいし、その他の契機で行われてもよいし、予め行われていてもよい。共有部1202−Aは得た任意値tを出力する。要素yがヌル値である場合には任意値tもヌル値に設定される(ステップS1202−A)。
分割部113から出力された要素y,…,yN−1、シード生成部111から出力されたシードs,…,sN−1、任意値生成部214から出力された任意値r,…,rN−1、および、チェックサム生成部215から出力されたチェックサムc,…,cN−1はシェア生成部216に入力される。シェア生成部216は、要素y、d∈{0,…,N−1}かつd≠iについてのN−1個のシードs、d∈{0,…,N−1}かつd≠iについてのN−1個の任意値r、およびチェックサムci−1 mod Nを各シェア変換装置22−A(ただし、i=0,…,N−1)に割り当て、要素y、d∈{0,…,N−1}かつd≠iについてのN−1個のシードs、d∈{0,…,N−1}かつd≠iについてのN−1個の任意値r、およびチェックサムci−1 mod Nを含む情報を、秘密分散における平文xのシェアSSとして得て出力する。各シェアSSは各シェア変換装置22−A(ただし、i=0,…,N−1)のシェアである。各シェアSSは他の情報を含んでもよいが、d∈{0,…,N−1}かつd≠iについての要素y、シードs、任意値r、およびc,…,cN−1のうちci−1 mod N以外のチェックサムを含まない。シードs,…,sN−1のサイズおよびN,vはmに依存しない。平文のデータサイズmに関する総シェアサイズのオーダーは、(2,N)−シャミア秘密分散ではO(Nm)となるところ、本形態ではO(m)で済む。個々のシェアのサイズはO(m/N)である。例えば、シェアSS,…,SSN−1の総データ量は平文xのデータ量のN倍未満である。例えば、各シェアSSのデータ量は平文xのデータ量未満である(ステップS216)。
<シェア変換方法>
図5を用い、本形態の各シェア変換装置22−Aが行うシェア生成方法を説明する。
シェア生成装置21から出力された要素y、d∈{0,…,N−1}かつd≠iについてのN−1個のシードs、d∈{0,…,N−1}かつd≠iについてのN−1個の任意値r、およびチェックサムci−1 mod Nを含むシェアSSはシェア変換装置22−A(図3)の通信部1201−A(第1入力部)に受信される(受け付けられる)。受信されたシェアSSは記憶部1210−Aに格納される(ステップS2201−A)。
シェアSSに含まれた任意値rおよび通信部1201−Aで受信されたシェア[y(ただし、d∈{0,…,N−1}かつd≠i)(ステップS1203−A)はシェア生成部2204−A(第2シェア生成部)に入力される。シェア生成部2204−Aは、任意値rおよびシェア[yを用いた秘密計算(秘密計算による公開値倍算、および加算)により、シャミア秘密分散法に則ったチェックサムc=Σ0≦j<m’(d)−1{(y’ j+1}+(y’m’(d)−1 m’(d)+1∈Fのシェア[cを得て出力する。前述のように要素yはm(d)個のサブ要素(y,…,(ym(d)−1に分割できる。(y’が集合Fに属する((yvj,(yvj+1,…,(yv(j+1)−1)∈Fであり、m’(d)はceil(m(d)/v)である。また、j=m’(i)−1について、(yv(m’(d)−1),(yv(m’(d)−1)+1,…,(yvm’(d)−1がv個に満たない場合、(y’m’(d)−1=((yv(m’(d)−1),(yv(m’(d)−1)+1,…,(ym(d)−1,0,…,0)∈Fとする。シャミア秘密分散法に則ったシェアを用いて秘密計算による公開値倍算、および加算を行う方法は、例えば、参考文献2(3ページのLemma)に記載されている(ステップS2204−A)。
シェア[cは通信部1201−Aに入力される。通信部1201−A(第2出力部)はシェア[c(ただし、d∈{0,…,N−1}かつd≠i)を他のシェア変換装置22−Ad+1 mod Nに対して出力する。出力されたシェア[cはネットワークを介してシェア変換装置22−Ad+1 mod Nに送信され、シェア変換装置22−Ad+1mod Nの通信部1201−Ad+1 mod Nで受信され、記憶部1210−Ad+1 mod Nに格納される。当該シェア[c、シェア生成部2204−Ad+1 mod Nで生成されたシェア[cd+1 mod N、シェアSSd+1 mod Nに含まれたチェックサムcは検証部2205−Ad+1 mod Nに入力される。検証部2205−Ad+1 mod Nは、チェックサムcとシェア[cが正しい関係にあるかを検証する。本形態の検証部2205−Ad+1 mod Nは、チェックサムcとN個のシェア[c,…,[cN−1が正しい関係にあるかを検証する。例えば、検証部2205−Ad+1 mod Nは、入力されたN個のシェア[c,…[cN−1が互いに整合性を持つか否かを検証し(検証1:整合性検証)、さらに、入力されたN個のシェア[c,…[cN−1の何れか2個のシェア[ci’および[ci”(ただし、i’,i”∈{0,…,N−1}かつi’≠i”)から復元された値(実施形態のシャミア秘密分散法は2-out-of-Nしきい値分散方式である)とチェックサムcとが互いに一致するかを検証する(検証2:同一性検証)。整合性検証は、例えば、何れか2個のシェア[ci’および[ci”からラグランジェの補間公式を用いて他のシェア[ci’’’(ただし、i’’’∈{0,…,N−1}かつi’’’≠i”かつi’’’≠i’)を計算してその計算結果を[bi’’’とし、[bi’’’と検証部2205−Ad+1 mod Nに入力されたN個のシェア[c,…[cN−1に含まれる[ci’’’とが互いに一致するかを検証する処理である。すべてのi’’’について[bi’’’=[ci’’’が成り立てば整合性検証は合格であり、そうでなければ整合性検証は不合格である。また、同一性検証では、2個のシェア[ci’および[ci”から復元された値とチェックサムcとが互いに一致すれば同一性検証は合格であり、そうでなければ同一性検証は不合格である。整合性検証および同一性検証の両方に合格すれば検証合格であり、そうでない場合に検証不合格である。

Claims (13)

  1. Nが2以上の整数であり、mが1以上の整数であり、m(i)が0以上の整数であり、i=0,…,N−1であり、Pが関数であり、前記関数Pの値域がm個の体Fの元の列を要素とする集合Fに属し、
    N個のシードs,…,sN−1を得るシード生成部と、
    P(s),…,P(sN−1)∈Fが前記シードs,…,sN−1の関数値であり、e=f(P(s),…,P(sN−1))∈Fが前記関数値P(s),…,P(sN−1)∈Fの関数値であり、平文x∈Fおよび前記関数値eの関数値y=g(x,e)∈Fを得る演算部と、
    前記関数値yがm=m(0)+…+m(N−1)を満たす要素y∈Fm(0),…,yN−1∈Fm(N−1)によって表現され、要素y∈Fm(i)とd∈{0,…,N−1}かつd≠iについてのN−1個の前記シードsとを含む情報を、秘密分散における前記平文xのシェアSSとして得て出力するシェア生成部と、
    を有するシェア生成装置。
  2. 請求項1のシェア生成装置であって、
    vが1以上の整数であり、ceilが天井関数であり、前記要素yがm(i)個のサブ要素(y,…,(ym(i)−1∈Fに分割でき、m’(i)がceil(m(i)/v)であり、(y’が集合Fに属する((yvj,(yvj+1,…,(yv(j+1)−1)∈Fであり、
    前記集合Fに属するN個の任意値r,…,rN−1∈Fを得る任意値生成部と、
    チェックサムc=Σ0≦j<m’(i)−1{(y’ j+1}+(y’m’(i)−1 m’(i)+1∈Fを得るチェックサム生成部と、を有し、
    前記シェア生成部が生成する前記シェアSSは、さらにd∈{0,…,N−1}かつd≠iについてのN−1個の前記任意値rと前記チェックサムci−1 mod Nとを含む、シェア生成装置。
  3. 請求項1または2のシェア生成装置であって、
    前記シェアSS,…,SSN−1の総データ量は、前記平文xのデータ量のN倍未満である、シェア生成装置。
  4. 請求項1から3の何れかに記載のシェア生成装置であって、
    前記関数値eはe=Σ0≦i<NP(s)∈Fであり、前記関数値yはy=x−e∈Fである、シェア生成装置。
  5. N個のシェア変換装置A,…,AN−1に含まれるシェア変換装置Aであって、
    Nが2以上の整数であり、mが1以上の整数であり、m(i)が0以上の整数であり、i=0,…,N−1であり、u=0,…,N−1であり、Pが関数であり、前記関数Pの値域がm個の体Fの元の列を要素とする集合Fに属し、
    d∈{0,…,N−1}かつd≠iについてのN−1個のシードsと集合Fm(i)に属する要素y∈Fm(i)とを含むシェアSSを受け付ける第1入力部と、
    他のシェア変換装置Ai−1 mod Nとの間で任意値t∈Fm(i)を共有する共有部と、
    前記任意値tを前記シェア変換装置Ai−1 mod Nのシェア[yi−1 mod Nとしてシャミア秘密分散法に則って前記要素yを秘密分散することで各シェア変換装置Aのシェア[y∈Fm(i)を得て出力する秘密分散部と、
    シェア[yを受け付ける第2入力部と、
    前記シードsの関数値P(s)∈Fを得る演算部と、
    N個のシードs,…,sN−1の関数値P(s),…,P(sN−1)に対する関数値e=f(P(s),…,P(sN−1))∈Fのシェアである、d∈{0,…,N−1}かつd≠iについてのN−1個の前記関数値P(s)の集合SETを、シャミア秘密分散法に則った前記関数値eのシェア[e]に変換するシャミア変換部と、
    シェア[y,…,[yN−1によって表現されるシェア[y]が平文xおよび前記関数値eに対する関数値y=g(x,e)∈Fのシェアであり、前記シェア[y]および前記シェア[e]を用いた秘密計算により、シャミア秘密分散法に則ったx=g−1(y,e)のシェア[x]を得る第1シェア生成部と、
    を有するシェア変換装置。
  6. 請求項5のシェア変換装置であって、
    vが1以上の整数であり、ceilが天井関数であり、前記要素yがm(d)個のサブ要素(y,…,(ym(d)−1に分割でき、m’(d)がceil(m(d)/v)であり、(y’が集合Fに属する((yvj,(yvj+1,…,(yv(j+1)−1)∈Fであり、
    前記第1入力部が受け付ける前記シェアSSは、さらに集合Fに属するd∈{0,…,N−1}かつd≠iについてのN−1個の任意値r∈Fとチェックサムci−1 mod N∈Fとを含み、
    前記任意値rおよび前記シェア[yを用いた秘密計算により、シャミア秘密分散法に則ったチェックサムc=Σ0≦j<m’(d)−1{(y’ j+1}+(y’m’(d)−1 m’(d)+1∈Fのシェア[cを得る第2シェア生成部と、
    前記シェア[cを他のシェア変換装置Ad+1 mod Nに対して出力する第2出力部と、
    シェア[ci−1 mod Nを受け付ける第2入力部と、
    前記チェックサムci−1 mod Nと前記シェア[ci−1 mod Nとが正しい関係にあるかを検証する検証部と、
    を有するシェア変換装置。
  7. 請求項5または6のシェア変換装置であって、
    前記シェアSS,…,SSN−1の総データ量は、前記平文xのデータ量のN倍未満である、シェア変換装置。
  8. 請求項5から7の何れかのシェア変換装置であって、
    前記関数値eはe=Σ0≦i<NP(s)∈Fであり、前記関数値yはy=x−e∈Fである、シェア変換装置。
  9. Nが2以上の整数であり、mが1以上の整数であり、m(i)が0以上の整数であり、i=0,…,N−1であり、u=0,…,N−1であり、Pが関数であり、前記関数Pの値域がm個の体Fの元の列を要素とする集合Fに属し、
    シェア生成装置とN個のシェア変換装置A,…,AN−1とを有し、
    前記シェア生成装置は、
    N個のシードs,…,sN−1を得るシード生成部と、
    P(s),…,P(sN−1)∈Fが前記シードs,…,sN−1の関数値であり、e=f(P(s),…,P(sN−1))∈Fが前記関数値P(s),…,P(sN−1)∈Fの関数値であり、平文x∈Fおよび前記関数値eの関数値y=g(x,e)∈Fを得る演算部と、
    前記関数値yがm=m(0)+…+m(N−1)を満たす要素y∈Fm(0),…,yN−1∈Fm(N−1)によって表現され、要素y∈Fm(i)とd∈{0,…,N−1}かつd≠iについてのN−1個の前記シードsとを含む情報を、秘密分散における前記平文xのシェアSSとして得て出力するシェア生成部と、を含み、
    前記シェア変換装置A,…,AN−1に含まれるシェア変換装置Aは、
    前記シェアSSを受け付ける第1入力部と、
    他のシェア変換装置Ai−1 mod Nとの間で任意値t∈Fm(i)を共有する共有部と、
    前記任意値tを前記シェア変換装置Ai−1 mod Nのシェア[yi−1 mod Nとしてシャミア秘密分散法に則って前記要素yを秘密分散することで各シェア変換装置Aのシェア[y∈Fm(i)を得て出力する秘密分散部と、
    前記他のシェア変換装置Aから出力されたシェア[yを受け付ける第2入力部と、
    前記シードsの関数値P(s)∈Fを得る演算部と、
    N個のシードs,…,sN−1の関数値P(s),…,P(sN−1)に対する関数値e=f(P(s),…,P(sN−1))∈Fのシェアである、d∈{0,…,N−1}かつd≠iについてのN−1個の前記関数値P(s)の集合SETを、シャミア秘密分散法に則った前記関数値eのシェア[e]に変換するシャミア変換部と、
    シェア[y,…,[yN−1によって表現されるシェア[y]が平文xおよび前記関数値eに対する関数値y=g(x,e)∈Fのシェアであり、前記シェア[y]および前記シェア[e]を用いた秘密計算により、シャミア秘密分散法に則ったx=g−1(y,e)のシェア[x]を得る第1シェア生成部と、を含む、秘密計算システム。
  10. Nが2以上の整数であり、mが1以上の整数であり、m(i)が0以上の整数であり、i=0,…,N−1であり、Pが関数であり、前記関数Pの値域がm個の体Fの元の列を要素とする集合Fに属し、
    シード生成部が、N個のシードs,…,sN−1を得るシード生成ステップと、
    P(s),…,P(sN−1)∈Fが前記シードs,…,sN−1の関数値であり、e=f(P(s),…,P(sN−1))∈Fが前記関数値P(s),…,P(sN−1)∈Fの関数値であり、演算部が、平文x∈Fおよび前記関数値eの関数値y=g(x,e)∈Fを得る演算ステップと、
    前記関数値yがm=m(0)+…+m(N−1)を満たす要素y∈Fm(0),…,yN−1∈Fm(N−1)によって表現され、シェア生成部が、要素y∈Fm(i)とd∈{0,…,N−1}かつd≠iについてのN−1個の前記シードsとを含む情報を、秘密分散における前記平文xのシェアSSとして得て出力するシェア生成ステップと、
    を有するシェア生成方法。
  11. N個のシェア変換装置A,…,AN−1に含まれるシェア変換装置Aのシェア変換方法であって、
    Nが2以上の整数であり、mが1以上の整数であり、m(i)が0以上の整数であり、i=0,…,N−1であり、u=0,…,N−1であり、Pが関数であり、前記関数Pの値域がm個の体Fの元の列を要素とする集合Fに属し、
    第1入力部が、d∈{0,…,N−1}かつd≠iについてのN−1個のシードsと集合Fm(i)に属する要素y∈Fm(i)とを含むシェアSSを受け付ける第1入力ステップと、
    共有部が、他のシェア変換装置Ai−1 mod Nとの間で任意値t∈Fm(i)を共有する共有ステップと、
    秘密分散部が、前記任意値tを前記シェア変換装置Ai−1 mod Nのシェア[yi−1 mod Nとしてシャミア秘密分散法に則って前記要素yを秘密分散することで各シェア変換装置Aのシェア[y∈Fm(i)を得て出力する秘密分散ステップと、
    第2入力部が、シェア[yを受け付ける第2入力ステップと、
    演算部が、前記シードsの関数値P(s)∈Fを得る演算ステップと、
    シャミア変換部が、N個のシードs,…,sN−1の関数値P(s),…,P(sN−1)に対する関数値e=f(P(s),…,P(sN−1))∈Fのシェアである、d∈{0,…,N−1}かつd≠iについてのN−1個の前記関数値P(s)の集合SETを、シャミア秘密分散法に則った前記関数値eのシェア[e]に変換するシャミア変換ステップと、
    シェア[y,…,[yN−1によって表現されるシェア[y]が平文xおよび前記関数値eに対する関数値y=g(x,e)∈Fのシェアであり、第1シェア生成部が、前記シェア[y]および前記シェア[e]を用いた秘密計算により、シャミア秘密分散法に則ったx=g−1(y,e)のシェア[x]を得る第1シェア生成ステップと、
    を有するシェア変換方法。
  12. 請求項1から4の何れかのシェア生成装置、または請求項5から8の何れかのシェア変換装置としてコンピュータを機能させるためのプログラム。
  13. 請求項1から4の何れかのシェア生成装置、または請求項5から8の何れかのシェア変換装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
JP2019537588A 2017-08-22 2018-08-16 シェア生成装置、シェア変換装置、秘密計算システム、シェア生成方法、シェア変換方法、プログラム、および記録媒体 Active JP6885467B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017159345 2017-08-22
JP2017159345 2017-08-22
PCT/JP2018/030439 WO2019039380A1 (ja) 2017-08-22 2018-08-16 シェア生成装置、シェア変換装置、秘密計算システム、シェア生成方法、シェア変換方法、プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
JPWO2019039380A1 true JPWO2019039380A1 (ja) 2020-09-03
JP6885467B2 JP6885467B2 (ja) 2021-06-16

Family

ID=65438897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019537588A Active JP6885467B2 (ja) 2017-08-22 2018-08-16 シェア生成装置、シェア変換装置、秘密計算システム、シェア生成方法、シェア変換方法、プログラム、および記録媒体

Country Status (6)

Country Link
US (2) US11374743B2 (ja)
EP (1) EP3675088B1 (ja)
JP (1) JP6885467B2 (ja)
CN (1) CN111052204B (ja)
AU (1) AU2018320433B2 (ja)
WO (1) WO2019039380A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2620988A (en) * 2022-07-29 2024-01-31 Pqshield Ltd Method and apparatus for storing/recovering a plurality of secret shares

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137516A (ja) * 2013-01-18 2014-07-28 Nippon Telegr & Teleph Corp <Ntt> 分散管理装置、復元装置、パーティ装置、およびプログラム
WO2015053185A1 (ja) * 2013-10-10 2015-04-16 日本電信電話株式会社 秘密商転移装置、秘密ビット分解装置、秘密モジュラス変換装置、秘密商転移方法、秘密ビット分解方法、秘密モジュラス変換方法、プログラム
JP2015135380A (ja) * 2014-01-16 2015-07-27 日本電信電話株式会社 シェア変換システム、シェア変換方法、プログラム
JP2016178550A (ja) * 2015-03-20 2016-10-06 日本電気株式会社 秘密情報分散システム、情報処理装置および情報処理プログラム

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US809A (en) * 1838-06-27 Improved mode of changing the poles of electro-magnets
US916A (en) * 1838-09-12 Henry g
US62005A (en) * 1867-02-12 John s
US62018A (en) * 1867-02-12 Self and abraham emanitel
US102014A (en) * 1870-04-19 Improved boot-jack and brush
US52018A (en) * 1866-01-16 Window-shade
US12019A (en) * 1854-12-05 Steam-boiler
US62004A (en) * 1867-02-12 children
US32014A (en) * 1861-04-09 Charles f
US32020A (en) * 1861-04-09 Head for screws and tacks
US32007A (en) * 1861-04-09 Iprovement in sewing-machines
US82011A (en) * 1868-09-08 Improvement in fanning-mills
US61998A (en) * 1867-02-12 Improvement in skates
US82016A (en) * 1868-09-08 Improvement in fire-proof safes
US82017A (en) * 1868-09-08 Improvement in hammee and mallet
US72017A (en) * 1867-12-10 William b
US12014A (en) * 1854-11-28 Improvement in binding-guides for sewing-machines
EP0739559B1 (en) * 1993-09-09 2003-04-09 BRITISH TELECOMMUNICATIONS public limited company Method for key distribution using quantum cryptography
WO2001086855A2 (en) * 2000-04-28 2001-11-15 The Regents Of The University Of California Apparatus for free-space quantum key distribution in daylight
JP4292835B2 (ja) * 2003-03-13 2009-07-08 沖電気工業株式会社 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム
US7581093B2 (en) * 2003-12-22 2009-08-25 Nortel Networks Limited Hitless manual cryptographic key refresh in secure packet networks
US7437081B2 (en) * 2004-11-01 2008-10-14 Magiq Technologies, Inc System and method for providing two-way communication of quantum signals, timing signals, and public data
US7826749B2 (en) * 2005-09-19 2010-11-02 The Chinese University Of Hong Kong Method and system for quantum key distribution over multi-user WDM network with wavelength routing
US7889868B2 (en) * 2005-09-30 2011-02-15 Verizon Business Global Llc Quantum key distribution system
US7940757B2 (en) * 2006-02-23 2011-05-10 Cisco Technology, Inc. Systems and methods for access port ICMP analysis
WO2009093036A2 (en) * 2008-01-25 2009-07-30 Qinetiq Limited Quantum cryptography apparatus
US8345861B2 (en) * 2008-08-22 2013-01-01 Red Hat, Inc. Sharing a secret using polynomial division over GF(Q)
US7995765B2 (en) * 2008-08-28 2011-08-09 Red Hat, Inc. Sharing a secret using hyperplanes over GF(q)
US20110206204A1 (en) * 2008-10-17 2011-08-25 Dmitry Ivanovich Sychev Methods and devices of quantum encoding on dwdm (roadm) network and fiber optic links .
GB0819665D0 (en) * 2008-10-27 2008-12-03 Qinetiq Ltd Quantum key dsitribution
KR101351012B1 (ko) * 2009-12-18 2014-01-10 한국전자통신연구원 다자간 양자 통신에서의 사용자 인증 방법 및 장치
US9237098B2 (en) * 2012-07-03 2016-01-12 Cisco Technologies, Inc. Media access control (MAC) address summation in Datacenter Ethernet networking
CN104429019B (zh) * 2012-07-05 2017-06-20 日本电信电话株式会社 秘密分散系统、数据分散装置、分散数据变换装置以及秘密分散方法
JP6030925B2 (ja) * 2012-11-12 2016-11-24 ルネサスエレクトロニクス株式会社 半導体装置及び情報処理システム
US10560265B2 (en) * 2013-06-08 2020-02-11 Quantumctek Co., Ltd. Mobile secret communications method based on quantum key distribution network
US10002547B2 (en) * 2014-01-17 2018-06-19 Nippon Telegraph And Telephone Corporation Secret calculation method, secret calculation system, random permutation device, and program
KR101776137B1 (ko) * 2014-10-30 2017-09-19 에스케이 텔레콤주식회사 양자 키 분배 시스템에서 복수의 장치에 키를 공급하는 장치 및 방법
JP5860557B1 (ja) * 2015-02-06 2016-02-16 日本電信電話株式会社 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム
CN105991285B (zh) * 2015-02-16 2019-06-11 阿里巴巴集团控股有限公司 用于量子密钥分发过程的身份认证方法、装置及系统
JP5968484B1 (ja) 2015-03-18 2016-08-10 日本電信電話株式会社 シェア復旧システム、シェア復旧方法、およびプログラム
JP5872085B1 (ja) * 2015-03-18 2016-03-01 日本電信電話株式会社 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP5864004B1 (ja) * 2015-03-18 2016-02-17 日本電信電話株式会社 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP5872084B1 (ja) * 2015-03-18 2016-03-01 日本電信電話株式会社 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP6400513B2 (ja) * 2015-03-18 2018-10-03 株式会社東芝 量子鍵配送装置、量子鍵配送方法およびプログラム
CN106301769B (zh) * 2015-06-08 2020-04-10 阿里巴巴集团控股有限公司 量子密钥输出方法、存储一致性验证方法、装置及系统
US11588783B2 (en) * 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
US9960465B2 (en) * 2015-07-30 2018-05-01 Lg Chem, Ltd. Battery pack
KR101860234B1 (ko) * 2016-12-20 2018-05-21 엘에스산전 주식회사 듀얼 포트 스위치의 링크 속도 설정 방법
US10476794B2 (en) * 2017-07-30 2019-11-12 Mellanox Technologies Tlv Ltd. Efficient caching of TCAM rules in RAM
US10673883B2 (en) * 2018-05-14 2020-06-02 Cisco Technology, Inc. Time synchronization attack detection in a deterministic network
US11212294B2 (en) * 2018-09-12 2021-12-28 Grid7 LLC Data packet security with expiring time-based hash message authentication codes (HMACs)

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137516A (ja) * 2013-01-18 2014-07-28 Nippon Telegr & Teleph Corp <Ntt> 分散管理装置、復元装置、パーティ装置、およびプログラム
WO2015053185A1 (ja) * 2013-10-10 2015-04-16 日本電信電話株式会社 秘密商転移装置、秘密ビット分解装置、秘密モジュラス変換装置、秘密商転移方法、秘密ビット分解方法、秘密モジュラス変換方法、プログラム
JP2015135380A (ja) * 2014-01-16 2015-07-27 日本電信電話株式会社 シェア変換システム、シェア変換方法、プログラム
JP2016178550A (ja) * 2015-03-20 2016-10-06 日本電気株式会社 秘密情報分散システム、情報処理装置および情報処理プログラム

Also Published As

Publication number Publication date
CN111052204B (zh) 2023-05-02
US11888977B2 (en) 2024-01-30
US20210135849A1 (en) 2021-05-06
EP3675088A4 (en) 2021-04-28
AU2018320433A1 (en) 2020-02-27
WO2019039380A1 (ja) 2019-02-28
AU2018320433B2 (en) 2021-03-25
JP6885467B2 (ja) 2021-06-16
EP3675088A1 (en) 2020-07-01
US20220278829A1 (en) 2022-09-01
CN111052204A (zh) 2020-04-21
US11374743B2 (en) 2022-06-28
EP3675088B1 (en) 2022-11-02

Similar Documents

Publication Publication Date Title
EP3096309B1 (en) Secret calculation method, secret calculation system, sorting device, and program
CN107111965B (zh) 秘密篡改检测系统和方法、秘密计算装置、以及记录介质
JP6632959B2 (ja) 検証システム、検証方法及び検証プログラム
CN110169010A (zh) 同态运算装置、加密系统和同态运算程序
JP6777816B2 (ja) 秘密改ざん検知システム、秘密改ざん検知装置、秘密改ざん検知方法、およびプログラム
JP2015513156A (ja) ビザンチン・フォールトトレランス及び閾値コイントス
JP6885467B2 (ja) シェア生成装置、シェア変換装置、秘密計算システム、シェア生成方法、シェア変換方法、プログラム、および記録媒体
JP6825111B2 (ja) シェア生成装置、復元装置、秘密計算システム、シェア生成方法、復元方法、プログラム、および記録媒体
JP6933290B2 (ja) 秘密計算装置、秘密計算認証システム、秘密計算方法、およびプログラム
CN109416894A (zh) 秘密计算系统、秘密计算装置、秘密计算方法以及程序
JP7233265B2 (ja) 署名装置、検証装置、署名方法、検証方法、署名プログラム及び検証プログラム
CN107210005B (zh) 矩阵/密钥生成装置、矩阵/密钥生成系统、矩阵结合装置、矩阵/密钥生成方法、程序
US11514192B2 (en) Secure reading apparatus, secure writing apparatus, method thereof, and program for reading and writing data in a sequence without revealing an access position
JP6881588B2 (ja) 秘密計算装置、秘密計算方法、プログラム、および記録媒体
JP7116722B2 (ja) 分散型データオブジェクトの可用性と完全性を検査するための方法
Huang et al. Secure Neural Network Prediction in the Cloud-Based Open Neural Network Service
CN118041509A (zh) 两方安全计算方法、装置、电子设备、存储介质及产品
CN116827628A (zh) 一种基于ipfs的抗量子攻击的区块链交易方法及系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210315

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210426

R150 Certificate of patent or registration of utility model

Ref document number: 6885467

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150