JP6095792B2 - 秘密ビット分解装置、秘密モジュラス変換装置、秘密ビット分解方法、秘密モジュラス変換方法、プログラム - Google Patents

秘密ビット分解装置、秘密モジュラス変換装置、秘密ビット分解方法、秘密モジュラス変換方法、プログラム Download PDF

Info

Publication number
JP6095792B2
JP6095792B2 JP2015541551A JP2015541551A JP6095792B2 JP 6095792 B2 JP6095792 B2 JP 6095792B2 JP 2015541551 A JP2015541551 A JP 2015541551A JP 2015541551 A JP2015541551 A JP 2015541551A JP 6095792 B2 JP6095792 B2 JP 6095792B2
Authority
JP
Japan
Prior art keywords
secret
value
bit
modulus
secret sharing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015541551A
Other languages
English (en)
Other versions
JPWO2015053185A1 (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 JPWO2015053185A1 publication Critical patent/JPWO2015053185A1/ja
Application granted granted Critical
Publication of JP6095792B2 publication Critical patent/JP6095792B2/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
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Description

本発明は秘密分散によりデータを秘匿しつつデータ処理を行う秘密計算の技術分野における、秘密商転移装置、秘密ビット分解装置、秘密モジュラス変換装置、秘密商転移方法、秘密ビット分解方法、秘密モジュラス変換方法、プログラムに関する。
従来、秘密分散によりデータを秘匿しつつデータ処理を行う秘密計算の技術分野において、分散された任意の法p未満の数の列x,…,xm-1を加算した値
Figure 0006095792
をpで割った商q(すなわちa=a+qpと表現した場合のq、ただし0≦a<p,0≦q<m)を求める技術(「シェアの商計算」と呼ぶ)が知られている。シェアの商計算を実現する技術に、ビット分解(非特許文献1)がある。
I. Damgard, M. Fitzi, E. Kiltz, J. B. Nielsen, and T. Toft. Unconditionally secure constant-rounds multi-party computation for equality, comparison, bits and exponentiation. In S. Halevi and T. Rabin eds., TCC, Vol. 3876 of Lecture Notes in Computer Science, pp. 285-304. Springer, 2006.
上記の従来技術においては、|p|をpのビット長とした場合に、通信量がO(|p|)ビットとなり通信コストが大きいという課題があった。そこで本発明では、通信コストを削減することができる秘密商転移装置を提供することを目的とする。
本発明の秘密商転移装置は、
Figure 0006095792

を、整数xとzがyを法として合同であることを示す数式とし、
uは自然数であって境界値を表すものとし、mをm≦2を充たす整数、iをi=0,1,…,m−1を充たす整数とし、平文aを0以上任意の法p未満であって、
Figure 0006095792

となる整数とし、aが
Figure 0006095792

となるm個のサブシェアx,…,xm-1の和として表現されるものとし、サブシェアの合計値aを、
Figure 0006095792

としてqをサブシェアの合計値aのpによる商とするとき、
商qを
Figure 0006095792

と計算する。
本発明の秘密商転移装置によれば、通信コストを削減することができる。
実施例1の秘密商転移装置の構成を示すブロック図。 実施例1の秘密商転移装置の動作を示すフローチャート。 線形複製変換装置の構成を示すブロック図。 線形複製変換装置の動作を示すフローチャート。 実施例2の秘密ビット分解装置の構成を示すブロック図。 実施例2の秘密ビット分解装置の動作を示すフローチャート。 変形例1の秘密ビット分解装置の構成を示すブロック図。 実施例3の秘密モジュラス変換装置の構成を示すブロック図。 実施例3の秘密モジュラス変換装置の動作を示すフローチャート。 変形例2の秘密モジュラス変換装置の構成を示すブロック図。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
<用語の説明>
以下、本明細書において使用される用語を説明する。
[semi−honest]
semi−honestとは、攻撃者はデータを盗み見するが、処理は正しく行う前提のことである。
[malicious]
maliciousとは、攻撃者は任意の不正な動作を行う前提のことである。
<記法>
以下、本明細書において共通で使用される記法について説明する。
Figure 0006095792
は、整数xとzがyを法として合同であることを示す。任意の命題Pに対して、〔P〕は、Pの真偽を整数に変換する演算子とする。典型的にはPが真ならば1、偽ならば0である。
<前提>
本発明では全体的に、p未満の数というデータ型の中に、実際には状況依存のあるM未満の数が格納されると想定する。例えば通常のコンピュータでも、32ビット整数の中に「性別」という1ビット(M=2)のデータが格納される場合がある。Mのビット数をlと表記する。本発明ではこのような場合を想定し、|p|に依存しない(|p|に関してO(1))ビット通信量での非常に高速なシェアの商計算を実現する。シェアの商計算の高速化はビット分解、モジュラス変換など秘密計算の分野の多くの処理の高速化を導く。
<秘密商転移装置1>
以下、図1、図2を参照して実施例1の秘密商転移装置について説明する。図1は本実施例の秘密商転移装置1の構成を示すブロック図である。図2は本実施例の秘密商転移装置1の動作を示すフローチャートである。
uは自然数であって境界値を表すものとし、mをm≦2を充たす整数、iをi=0,1,…,m−1を充たす整数とし、平文aを0以上任意の法p未満(0≦a<p)であって、
Figure 0006095792
となる整数とし、aが
Figure 0006095792
となるm個のx,…,xm-1の和として表現されるとする。整数i=0,1,…,m−1とし、各xをaのサブシェアと呼ぶ。このときサブシェアの合計値aを、
Figure 0006095792
としてqをaのpによる商とする。本実施例の秘密商転移装置1には、複数の装置からサブシェアが送信されるものとする。秘密商転移装置1は、商qを
Figure 0006095792
と計算し、計算された商qを出力する(S1)。すなわち、秘密商転移装置1は、各xのビット表現が得られたとき、その各下位uビットの加算回路または減算回路により商を計算することができる。本実施例の秘密商転移装置1によれば、uビット目より上位ビットの計算が不要となる点がポイントである。本実施例で開示された秘密商転移装置1、および秘密商転移方法は秘密分散されたデータに対してデータの秘匿性を保ったまま処理を行う秘密計算において多くの応用が考えられる。以下の実施例2、実施例3においてこれらの応用例について説明する。
以下の実施例を説明するために、まず秘密分散の説明を行う。
<(k,n)−線形秘密分散)>
(k,n)−秘密分散とは、平文をn個のシェアとして分散し、そのうちk個のシェアを集めれば平文を復元でき、かつk−1個以下のシェアを集めても平文の情報が一切得られないデータ分散方式のことである。
ここでは(k,n)−線形秘密分散は以下のように定義する。関数
Figure 0006095792
が(k,n)−線形秘密分散であるとは、任意の単射σ:{0,…,k-1}→{0,…,n-1}に対して以下の復元用の係数列が存在することとする。σはn個のシェアからk個のシェアを任意に選択することを表現している。ただしRは可換群、CはRとの積が定義される集合とする。
<復元>
ある係数列
Figure 0006095792
が存在して、任意の入力aに対して
Figure 0006095792
SHAREpr(a)をaの線形秘密分散値と呼び、[a]と表記する。また各i∈{0,…,n-1}に対してSHAREpr(a)を[a]と表記し、i番目の、またはパーティiのシェアと呼ぶ。Shamirの秘密分散は代表的な(k,n)−線形秘密分散である。Shamirの秘密分散では係数列はLagrange補完法におけるLagrange係数である。また、本発明では線形秘密分散の中でも特に以下の複製秘密分散の利用も想定する。
<複製秘密分散>
複製秘密分散とは次のような秘密分散である。まずm=k-1個の可換群Rの元a,…,am-1をもって平文aを
Figure 0006095792
とする。そして各k-1パーティの組(i番目のk-1パーティの組をPとする)について、Pに属さないパーティがみなaを持つ。Pに属するパーティはみなaを持たない。以上のようにすると、任意のk-1パーティ組に対して、持たないaが存在するからk-1パーティまでの結託に対して安全である。またkパーティ集まると、どのaも必ず誰かが持っているため、復元できる。よって(k,n)−秘密分散となっている。各aをサブシェアと呼ぶ。例えば(2,3)−複製秘密分散は、a=a+a+aとし、各パーティのシェアは(a,a),(a,a),(a,a)となる。
複製秘密分散の秘密分散値は{a}のように書き、i番目のパーティのシェアは{a}のように書く。また、jをj=0,1,…,m−1を充たす整数とし、j番目のサブシェアは{a}〈j〉のように書く。本発明のsemi−honestプロトコルでは(k,k)−複製秘密分散を用いる。(k,k)−複製秘密分散は、k人だけでシェアを1個ずつ持つため効率的であるという利点がある。また、(k,k)−複製秘密分散は任意の(k,n)−線形秘密分散からオフラインで簡単に変換できるという利点もある。すなわち、任意にkパーティを選択し(簡略化のため本稿では0,…,k-1のkパーティとして書くが任意のkパーティでよい。)、各i<kに対して以下のように復元時の係数を乗ずればよい。
{a}=λ[a]
以下、図3、図4を参照して、本発明で用いることができるMalicious対応プロトコルによる(k,n)−複製秘密分散を用いる線形複製変換装置2について説明する。図3は、線形複製変換装置2の構成を示すブロック図である。図4は、線形複製変換装置2の動作を示すフローチャートである。線形複製変換装置2への入力、線形複製変換装置2からの出力は以下である。
入力:線形秘密分散値[a]Zp
出力:複製秘密分散値{a}Zp
に示すように、線形複製変換装置2は、乱数生成部21と、線形変換部22と、差分値計算部23と、公開部24と、和算部25を含む。乱数生成部21は、複製秘密分散された乱数{r}Zpを生成する(S21)。線形変換部22は、複製秘密分散された乱数{r}Zpを取得し、当該乱数を所望の線形秘密分散された乱数[r]Zpに変換する(S22)。差分値計算部23は、線形秘密分散値[a]Zp、線形秘密分散された乱数[r]Zpを取得して、差分値[a-r]Zpを計算する(S23)。公開部24は、差分値[a-r]Zpをmalicious対応の方式で公開(例えば、非特許文献1参照)して、差分値の復号値a-rを取得する(S24)。和算部25は、複製秘密分散された乱数{r}Zpと、差分値の復号値a-rを取得して、和算(a-r)+{r}Zp={a}Zpにより、複製秘密分散値{a}Zpを取得する(S25)。(k,n)−複製秘密分散は、(k,k)−複製秘密分散とは逆に、任意の(k,n)−線形秘密分散にオフラインで変換できる(詳細は参考非特許文献1参照)という利点がある。
(参考非特許文献1)R. Cramer, I. Damg_ard, and Y. Ishai. Share conversion, pseudorandom secret-sharing and applications to secure computation. In J. Kilian ed., TCC, Vol. 3378 of Lecture Notes in Computer Science, pp. 342-362. Springer, 2005.
<秘密ビット分解装置>
以下、図5、図6を参照して、実施例2の秘密ビット分解装置について説明する。図5は本実施例の秘密ビット分解装置3の構成を示すブロック図である。図6は本実施例の秘密ビット分解装置3の動作を示すフローチャートである。図5に示すように、秘密ビット分解装置3は、公開値倍秘密計算部31と、下位ビット分散部32と、上位ビット分散部33と、下位ビット加算部34と、零判定部35と、上位ビット加算部36を含む。
ビット分解は、M未満の数aの秘密分散値[a]Zpを、l個の秘密分散値の列
Figure 0006095792
に変換する操作である。ただし各a,…,al-1はaを2進表現したときの各ビット(0が最下位)である。また[・]Zpと[・]Z2は同じ形式の秘密分散であっても異なる形式の秘密分散であっても構わない。
Figure 0006095792
は長さlの、[・]Z2の形式の秘密分散の列である。秘密計算は加算・乗算を基本処理とするため、算術演算は高速であるが、算術演算の結果は1ビットを超えた数値となりうる。一方低速な代わりに任意の処理を実現する論理回路は1ビット値を入出力とする。両者を橋渡しし、算術演算を高速に処理した後に任意の処理を行うために数値を1ビット値の列に変換するのがビット分解であり、実用的な秘密計算においては無くてはならない処理である。
<実施例2の秘密ビット分解方法>
以下、図6を参照して本実施例の秘密ビット分解装置3が実行する秘密ビット分解方法について説明する。pをメルセンヌ素数とする。つまりpは2べき-1となる素数である。(x,…,xm-1)を0≦a<pのサブシェアとする。境界値uを┌logm┐とし、さらに各q,rをそれぞれxのuビット目以降およびu-1ビット以前を表現する数値とし、q,r
Figure 0006095792
のuビット目以降およびu-1ビット以前を表現する数値とする。すると式(1)よりlをl+u≦|p|として以下の等式が成り立つ。
Figure 0006095792
このことを利用すると、複製秘密分散に対する本実施例のアルゴリズムが導かれる。本アルゴリズムは式(2)を計算している。通信量は|p|,lに関してO(l)ビットでpに非依存であり、高速である。
複製秘密分散へは任意の線形秘密分散から変換することができ(参考非特許文献1)、入力が複製秘密分散の形式に限定されていることは実際の利用上の制限とはならない。
秘密ビット分解装置3への入力、秘密ビット分散装置3からの出力を以下に示す。
入力:{a}Zp,ただし2a<p
出力:ビットの秘密分散値列
Figure 0006095792
なお、パラメータ:サブシェア数m∈N,u=┌logm┐,素数pとする。
公開値倍秘密計算部31は、2a<pの条件の下、複製秘密分散値{a}Zpを取得して、公開値倍の秘密計算により変形秘密分散値{a′}Zp:=2×Zp{a}Zpを計算する(S31)。例えばp未満の任意の整数bに対して、複製秘密分散の公開値倍b×Zp{a}Zpは、{a}の各サブシェアにbを乗ずることで実現される。また(k,n)―線形秘密分散の公開値倍b×Zp[a]Zpは、[a]の各シェアにbを乗ずることで実現される。なお、前述の演算記号×などは、演算を行う代数構造ごとに区別して演算を行うことを意味する。以下のステップS32、S33、S34、S36は、i<mを充たすすべてのiについて実行される。下位ビット分散部32は、変形秘密分散値のj番目のサブシェア{a′}Zp〈j〉の0ビット目からuビットをビットごとに分散して下位ビット分散値
Figure 0006095792

を取得する(S32)。上位ビット分散部33は、変形秘密分散値のj番目のサブシェア{a′}Zp〈j〉のuビット目からlビットをビットごとに分散して上位ビット分散値
Figure 0006095792

を取得する(S33)。下位ビット加算部34は、加算回路の秘密計算により下位ビット加算値
Figure 0006095792

を計算する(S34)。以下、下位ビット加算値のうち下位uビットを
Figure 0006095792

上位uビットを
Figure 0006095792

とおく。零判定部35は、下位ビット加算値の下位uビットを取得して、零判定回路の秘密計算により、零判定値[〔r≠0〕]Z2を計算する(S35)。上位ビット加算部36は、上位ビット分散値と、下位ビット加算値の上位uビットと、零判定値を取得して、加算回路の秘密計算により、ビットの秘密分散列
Figure 0006095792

を計算して出力する(S36)。
[変形例1]
以下、図7を参照して実施例2の秘密ビット分解装置3の変形例である秘密ビット分解装置3Aについて説明する。図7は本変形例の秘密ビット分解装置3Aの構成を示すブロック図である。図7に示すように、本変形例の秘密ビット分解装置3Aは、上述の構成に加え、上述した線形秘密分散値を複製秘密分散値に変換する構成である線形複製変換装置2を含む。このように、秘密ビット分解装置3Aが線形複製変換装置2を含むことにより、装置への入力が線形秘密分散値であったとしても、秘密ビット分解を実行することができる。なお、本変形例の秘密ビット分解装置3Aは、(k,n)―線形秘密分散を(k,k)―複製秘密分散に変換してから秘密ビット分解処理を実行してもよいし、(k,n)―線形秘密分散を(k,n)―複製秘密分散に変換してから秘密ビット分解処理を実行してもよい。
以下、図8、図9を参照して実施例3の秘密モジュラス変換装置について説明する。図8は本実施例の秘密モジュラス変換装置4の構成を示すブロック図である。図9は本実施例の秘密モジュラス変換装置4の動作を示すフローチャートである。図8に示すように、本実施例の秘密モジュラス変換装置4は、公開値倍秘密計算部41と、モジュラス下位ビット分散部42と、モジュラス下位ビット加算部43と、変換処理部44と、再変形部45と、モジュラス差分部46を含む。
モジュラス変換とは、法p未満の数の形式の秘密分散値を、別の法p′未満の数の形式に変換する処理である。通常のコンピュータでは32ビット整数から64ビット整数への型変換などに相当し、これも実用的な秘密計算においては無くてはならない処理である。
<実施例3の秘密モジュラス変換方法>
以下、図9を参照して本実施例の秘密モジュラス変換装置4が実行する秘密モジュラス変換方法について説明する。式(1)を利用して、複製秘密分散に対する本実施例のアルゴリズムが導かれる。通信量は|p|,|p′|に関してO(|p′|)ビットでpに非依存であり、高速である。複製秘密分散へは任意の線形秘密分散から変換することができ(詳細は線形複製変換装置2の記載を参照)、入力が複製秘密分散の形式に限定されていることは実際の利用上の制限とはならない。以下に、秘密モジュラス変換装置4への入力、秘密モジュラス変換装置4からの出力を示す。
入力:mod p複製秘密分散値{a}Zp、ただし2a<p,u=┌logm┐
出力:mod p′複製秘密分散値{a}Zp′
公開値倍秘密計算部41は、2a<p,u=┌logm┐の条件の下、mod p複製秘密分散値{a}Zpを取得して、公開値倍の秘密計算により、変形秘密分散値{a′}Zp:=2×Zp{a}Zpを計算する(S41)。以下のステップS42、S43、S45、S46は、i<mを充たすすべてのiについて実行される。モジュラス下位ビット分散部42は、モジュラス変形秘密分散値のi番目のパーティのシェアである
Figure 0006095792
の0ビット目からuビットを分散して、モジュラス下位ビット分散値
Figure 0006095792
を取得する(S42)。マイナスがZ上ではなくZ2u上となっていることに注意する。モジュラス下位ビット加算部43は、加算回路の秘密計算により、下位ビット加算値
Figure 0006095792
を計算し、計算結果を商の線形秘密分散値
Figure 0006095792
とする(S43)。変換処理部44は、商の線形秘密分散値にmod 2→mod p′変換等の所定の変換処理を施して、変換された商の線形秘密分散値{q}Zp′を取得する(S44)。mod 2→mod p′変換の具体的な演算方法について以下に詳述する。
<mod 2→mod p′変換(ステップ1〜7)>
入力:{a}
出力:{a}p′
ステップ1:乱数rを平文に持つ2種類の秘密分散値{r},{r}p′を生成する。
ステップ2:つまり、各i番目のパーティは1ビットの乱数rを生成し、さらに{・},{・}p′の2種類の形式で秘密分散して{r,{rp′を得る。
ステップ3:秘密計算により、
Figure 0006095792
を計算する。ただし○に+を重ねて表示した記号はXOR演算,nはパーティ数である。
ステップ4:
Figure 0006095792
を計算して公開し、
Figure 0006095792
を得る。
ステップ5:
Figure 0006095792
を計算する。
ステップ6:つまり、
Figure 0006095792
ステップ7:
Figure 0006095792
次に、再変形部45は、変形秘密分散値
Figure 0006095792
のmod p′である再変形秘密分散値
Figure 0006095792
を計算する(S45)。なお、式(1)より
Figure 0006095792
となっている。モジュラス差分部46は、再変形秘密分散値と、変換された商の線形秘密分散値を取得して、加算および公開値倍の秘密計算を用いて、差分計算
Figure 0006095792
を計算して出力する(S46)。
[変形例2]
以下、図10を参照して実施例3の秘密モジュラス変換装置4の変形例である秘密モジュラス変換装置4Aについて説明する。図10は本変形例の秘密モジュラス変換装置4Aの構成を示すブロック図である。図10に示すように、本変形例の秘密モジュラス変換装置4Aは、上述の構成に加え、上述した線形秘密分散値を複製秘密分散値に変換する構成である線形複製変換装置2を含む。このように、秘密モジュラス変換装置4Aが線形複製変換装置2を含むことにより、装置への入力が線形秘密分散値であったとしても、モジュラス秘密変換を実行することができる。なお、本変形例の秘密モジュラス変換装置4Aは、(k,n)―線形秘密分散を(k,k)―複製秘密分散に変換してから秘密モジュラス変換処理を実行してもよいし、(k,n)―線形秘密分散を(k,n)―複製秘密分散に変換してから秘密モジュラス変換処理を実行してもよい。
<発明の要点>
本発明の要点は、ビット分解、モジュラス変換ともシェアの商計算と密接な関係にあり、従来|p|ビットの加算回路を用いて計算していたところ、商転移というアイデアを考案し、|p|に依存しないlogmビットの回路で計算できるようにしたことである。商転移は、通常加算結果の上位ビットに現れる商を、整数剰余の性質を利用して加算結果の下位ビットに現れるように移動させる、本発明で考案の新しい技法である。通信量はシェアの商計算、ビット分解、モジュラス変換とも|p|に関してO(|p|)からO(1)となり、飛躍的に効率化されている。例えば|p|=31でl=2(すなわち31ビット整数に2ビットデータが格納されている)ケースでは従来の最速実装(参考非特許文献2、図「shiftR」参照)よりも2600倍程度高速である。
(参考非特許文献2) D. Bogdanov, M. Niitsoo, T. Toft, and J. Willemson. High-performance secure multi-party computation for data mining applications. Int. J. Inf. Sec., 11(6):403-418,2012.
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (6)

  1. pをメルセンヌ素数とし、mをm≦2を充たす整数とし、自然数である境界値uを┌logm┐とし、iをi=0,1,…,m−1を充たす整数とし、jをj=0,1,…,m−1を充たす整数とし、任意の命題Pに対して、〔P〕は、Pの真偽を整数に変換する演算子とし、aの線形秘密分散値を[a]と表記し、aの複製秘密分散値を{a}と表記し、平文aを0以上任意の法p未満であって、
    Figure 0006095792

    となる整数とし、前記aが
    Figure 0006095792

    となるm個のサブシェアx,…,xm-1の和として表現されるものとし、
    a<pの条件の下、複製秘密分散値{a}Zpを取得して、公開値倍の秘密計算により変形秘密分散値{a′}Zp:=2×Zp{a}Zpを計算する公開値倍秘密計算部と、
    i<mを充たすすべてのiについて、前記変形秘密分散値のj番目のサブシェア{a′}Zp〈j〉の0ビット目からuビットをビットごとに分散して下位ビット分散値
    Figure 0006095792

    を取得する下位ビット分散部と、
    i<mを充たすすべてのiについて、前記変形秘密分散値のj番目のサブシェア{a′}Zp〈j〉のuビット目からlビットをビットごとに分散して上位ビット分散値
    Figure 0006095792

    を取得する上位ビット分散部と、
    加算回路の秘密計算により下位ビット加算値
    Figure 0006095792

    を計算する下位ビット加算部と、
    前記下位ビット加算値のうち下位uビットを
    Figure 0006095792

    上位uビットを
    Figure 0006095792

    と表すものとし、
    前記下位ビット加算値の下位uビットを取得して、零判定回路の秘密計算により、零判定値[〔r≠0〕]Z2を計算する零判定部と、
    i<mを充たすすべてのiについて、前記上位ビット分散値と、前記下位ビット加算値の上位uビットと、前記零判定値を取得して、加算回路の秘密計算により、ビットの秘密分散列
    Figure 0006095792

    を計算して出力する上位ビット加算部
    を含む秘密ビット分解装置。
  2. pをメルセンヌ素数とし、mをm≦2を充たす整数とし、自然数である境界値uを┌logm┐とし、iをi=0,1,…,m−1を充たす整数とし、jをj=0,1,…,m−1を充たす整数とし、任意の命題Pに対して、〔P〕は、Pの真偽を整数に変換する演算子とし、aの線形秘密分散値を[a]と表記し、aの複製秘密分散値を{a}と表記し、平文aを0以上任意の法p未満であって、
    Figure 0006095792

    となる整数とし、前記aが
    Figure 0006095792

    となるm個のサブシェアx,…,xm-1の和として表現されるものとし、
    a<pの条件の下、mod p複製秘密分散値{a}Zpを取得して、公開値倍の秘密計算により、変形秘密分散値{a′}Zp:=2×Zp{a}Zpを計算する公開値倍秘密計算部と、
    i<mを充たすすべてのiについて、モジュラス変形秘密分散値のi番目のパーティのシェアである
    Figure 0006095792

    の0ビット目からuビットを分散して、モジュラス下位ビット分散値
    Figure 0006095792

    を取得するモジュラス下位ビット分散部と、
    i<mを充たすすべてのiについて、加算回路の秘密計算により、下位ビット加算値
    Figure 0006095792

    を計算し、計算結果を商の線形秘密分散値
    Figure 0006095792

    とするモジュラス下位ビット加算部と、
    前記商の線形秘密分散値にmod 2→mod p′変換等の所定の変換処理を施して、変換された商の線形秘密分散値{q}Zp′を取得する変換処理部と、
    i<mを充たすすべてのiについて、前記変形秘密分散値
    Figure 0006095792

    のmod p′である再変形秘密分散値
    Figure 0006095792

    を計算する再変形部と、
    前記再変形秘密分散値と、前記変換された商の線形秘密分散値を取得して、加算および公開値倍の秘密計算を用いて、差分計算
    Figure 0006095792

    を計算して出力するモジュラス差分部
    を含む秘密モジュラス変換装置。
  3. 秘密ビット分解装置が実行する秘密ビット分解方法であって、
    pをメルセンヌ素数とし、mをm≦2を充たす整数とし、自然数である境界値uを┌logm┐とし、iをi=0,1,…,m−1を充たす整数とし、jをj=0,1,…,m−1を充たす整数とし、任意の命題Pに対して、〔P〕は、Pの真偽を整数に変換する演算子とし、aの線形秘密分散値を[a]と表記し、aの複製秘密分散値を{a}と表記し、平文aを0以上任意の法p未満であって、
    Figure 0006095792

    となる整数とし、前記aが
    Figure 0006095792

    となるm個のサブシェアx,…,xm-1の和として表現されるものとし、
    前記秘密ビット分解装置の公開値倍秘密計算部は、2a<pの条件の下、複製秘密分散値{a}Zpを取得して、公開値倍の秘密計算により変形秘密分散値{a′}Zp:=2×Zp{a}Zpを計算する公開値倍秘密計算ステップを実行し、
    前記秘密ビット分解装置の下位ビット分散部は、i<mを充たすすべてのiについて、前記変形秘密分散値のj番目のサブシェア{a′}Zp〈j〉の0ビット目からuビットをビットごとに分散して下位ビット分散値
    Figure 0006095792

    を取得する下位ビット分散ステップを実行し、
    前記秘密ビット分解装置の上位ビット分散部は、i<mを充たすすべてのiについて、前記変形秘密分散値のj番目のサブシェア{a′}Zp〈j〉のuビット目からlビットをビットごとに分散して上位ビット分散値
    Figure 0006095792

    を取得する上位ビット分散ステップを実行し、
    前記秘密ビット分解装置の下位ビット加算部は、加算回路の秘密計算により下位ビット加算値
    Figure 0006095792

    を計算する下位ビット加算ステップを実行し、
    前記下位ビット加算値のうち下位uビットを
    Figure 0006095792

    上位uビットを
    Figure 0006095792

    と表すものとし、
    前記秘密ビット分解装置の零判定部は、前記下位ビット加算値の下位uビットを取得して、零判定回路の秘密計算により、零判定値[〔r≠0〕]Z2を計算する零判定ステップを実行し、
    前記秘密ビット分解装置の上位ビット加算部は、i<mを充たすすべてのiについて、前記上位ビット分散値と、前記下位ビット加算値の上位uビットと、前記零判定値を取得して、加算回路の秘密計算により、ビットの秘密分散列
    Figure 0006095792

    を計算して出力する上位ビット加算ステップを実行する
    秘密ビット分解方法。
  4. 秘密モジュラス変換装置が実行する秘密モジュラス変換方法であって、
    pをメルセンヌ素数とし、mをm≦2を充たす整数とし、自然数である境界値uを┌logm┐とし、iをi=0,1,…,m−1を充たす整数とし、jをj=0,1,…,m−1を充たす整数とし、任意の命題Pに対して、〔P〕は、Pの真偽を整数に変換する演算子とし、aの線形秘密分散値を[a]と表記し、aの複製秘密分散値を{a}と表記し、平文aを0以上任意の法p未満であって、
    Figure 0006095792

    となる整数とし、前記aが
    Figure 0006095792

    となるm個のサブシェアx,…,xm-1の和として表現されるものとし、
    前記秘密モジュラス変換装置の公開値倍秘密計算部は、2a<pの条件の下、mod p複製秘密分散値{a}Zpを取得して、公開値倍の秘密計算により、変形秘密分散値{a′}Zp:=2×Zp{a}Zpを計算する公開値倍秘密計算ステップを実行し、
    前記秘密モジュラス変換装置のモジュラス下位ビット分散部は、i<mを充たすすべてのiについて、モジュラス変形秘密分散値のi番目のパーティのシェアである
    Figure 0006095792

    の0ビット目からuビットを分散して、モジュラス下位ビット分散値
    Figure 0006095792

    を取得するモジュラス下位ビット分散ステップを実行し、
    前記秘密モジュラス変換装置のモジュラス下位ビット加算部は、i<mを充たすすべてのiについて、加算回路の秘密計算により、下位ビット加算値
    Figure 0006095792

    を計算し、計算結果を商の線形秘密分散値
    Figure 0006095792

    とするモジュラス下位ビット加算ステップを実行し、
    前記秘密モジュラス変換装置の変換処理部は、前記商の線形秘密分散値にmod 2→mod p′変換等の所定の変換処理を施して、変換された商の線形秘密分散値{q}Zp′を取得する変換処理ステップを実行し、
    前記秘密モジュラス変換装置の再変形部は、i<mを充たすすべてのiについて、前記変形秘密分散値
    Figure 0006095792

    のmod p′である再変形秘密分散値
    Figure 0006095792

    を計算する再変形ステップを実行し、
    前記秘密モジュラス変換装置のモジュラス差分部は、前記再変形秘密分散値と、前記変換された商の線形秘密分散値を取得して、加算および公開値倍の秘密計算を用いて、差分計算
    Figure 0006095792

    を計算して出力するモジュラス差分ステップを実行する
    秘密モジュラス変換方法。
  5. コンピュータを、請求項1に記載の秘密ビット分解装置として機能させるためのプログラム。
  6. コンピュータを、請求項2に記載の秘密モジュラス変換装置として機能させるためのプログラム。
JP2015541551A 2013-10-10 2014-10-03 秘密ビット分解装置、秘密モジュラス変換装置、秘密ビット分解方法、秘密モジュラス変換方法、プログラム Active JP6095792B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013213027 2013-10-10
JP2013213027 2013-10-10
PCT/JP2014/076532 WO2015053185A1 (ja) 2013-10-10 2014-10-03 秘密商転移装置、秘密ビット分解装置、秘密モジュラス変換装置、秘密商転移方法、秘密ビット分解方法、秘密モジュラス変換方法、プログラム

Publications (2)

Publication Number Publication Date
JPWO2015053185A1 JPWO2015053185A1 (ja) 2017-03-09
JP6095792B2 true JP6095792B2 (ja) 2017-03-15

Family

ID=52813001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015541551A Active JP6095792B2 (ja) 2013-10-10 2014-10-03 秘密ビット分解装置、秘密モジュラス変換装置、秘密ビット分解方法、秘密モジュラス変換方法、プログラム

Country Status (5)

Country Link
US (1) US10003460B2 (ja)
EP (3) EP3528233B1 (ja)
JP (1) JP6095792B2 (ja)
CN (1) CN105593919B (ja)
WO (1) WO2015053185A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5957126B1 (ja) * 2015-06-24 2016-07-27 日本電信電話株式会社 秘密計算装置、秘密計算方法、およびプログラム
CN105204782B (zh) * 2015-10-13 2018-12-11 中国联合网络通信集团有限公司 一种实现数据存储的方法及装置
US11042358B2 (en) * 2016-08-18 2021-06-22 Nec Corporation Secure computation system, secure computation method, secure computation apparatus, distribution information generation apparatus, and methods and programs therefor
JP6844897B2 (ja) * 2017-05-18 2021-03-17 日本電気株式会社 ビット分解秘密計算装置、ビット結合秘密計算装置、方法およびプログラム
JP6713585B2 (ja) * 2017-07-05 2020-06-24 日本電信電話株式会社 秘密計算システム、秘密計算装置、秘密計算方法、プログラム、および記録媒体
WO2019039383A1 (ja) * 2017-08-22 2019-02-28 日本電信電話株式会社 シェア生成装置、復元装置、秘密計算システム、シェア生成方法、復元方法、プログラム、および記録媒体
CN111052204B (zh) * 2017-08-22 2023-05-02 日本电信电话株式会社 份额生成装置、份额变换装置、秘密计算系统、它们的方法及记录介质
WO2019087317A1 (ja) * 2017-10-31 2019-05-09 日本電気株式会社 秘密計算装置、システム、方法、プログラム
EP3863003B1 (en) * 2018-10-04 2024-05-01 Nippon Telegraph And Telephone Corporation Hidden sigmoid function calculation system, hidden logistic regression calculation system, hidden sigmoid function calculation device, hidden logistic regression calculation device, hidden sigmoid function calculation method, hidden logistic regression calculation method, and program
US11870892B2 (en) * 2018-10-11 2024-01-09 Nec Corporation Information processing apparatus, secret calculation method, and program
WO2021064996A1 (ja) 2019-10-04 2021-04-08 日本電気株式会社 秘密計算システム、秘密計算サーバ、補助サーバ、秘密計算方法及びプログラム
JP7485068B2 (ja) 2020-10-16 2024-05-16 日本電信電話株式会社 秘匿モジュラス変換システム、分散処理装置、秘匿モジュラス変換方法、プログラム
WO2022153358A1 (ja) * 2021-01-12 2022-07-21 日本電気株式会社 秘密計算システム、秘密計算サーバ装置、秘密計算方法および秘密計算プログラム
CN114760055B (zh) * 2022-06-15 2022-09-09 山东区块链研究院 基于梅森素数的秘密分享方法、系统、存储介质及设备
CN116938455B (zh) * 2023-09-15 2023-12-12 山东师范大学 基于秘密分享大小比较的数据处理方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE1003932A6 (fr) * 1989-04-28 1992-07-22 Musyck Emile Systeme cryptographique par bloc de donnees binaires.
US6993136B2 (en) * 2000-08-18 2006-01-31 The United States Of America As Represented By The National Security Agency Cryptographic key exchange method using efficient elliptic curve
US7194089B2 (en) * 2001-10-24 2007-03-20 International Business Machines Corporation Method for reducing a value modulo a shared secret
JP3917507B2 (ja) * 2002-01-28 2007-05-23 株式会社東芝 コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、不正ユーザ特定方法、暗号化装置、復号装置及びプログラム
JP4408712B2 (ja) * 2004-01-26 2010-02-03 富士通マイクロエレクトロニクス株式会社 多倍長データ積和演算処理回路及びモンゴメリ積和剰余演算回路
JP5492241B2 (ja) * 2012-03-28 2014-05-14 株式会社東芝 秘匿計算システム、集計装置及び集計結果復号プログラム

Also Published As

Publication number Publication date
CN105593919B (zh) 2018-01-30
EP3057078A1 (en) 2016-08-17
JPWO2015053185A1 (ja) 2017-03-09
WO2015053185A1 (ja) 2015-04-16
EP3057078B1 (en) 2019-08-28
EP3057078A4 (en) 2017-10-18
EP3528233A1 (en) 2019-08-21
CN105593919A (zh) 2016-05-18
EP3528234B1 (en) 2021-05-05
EP3528233B1 (en) 2021-03-10
US10003460B2 (en) 2018-06-19
US20160218862A1 (en) 2016-07-28
EP3528234A1 (en) 2019-08-21

Similar Documents

Publication Publication Date Title
JP6095792B2 (ja) 秘密ビット分解装置、秘密モジュラス変換装置、秘密ビット分解方法、秘密モジュラス変換方法、プログラム
JP5885840B2 (ja) 秘密分散システム、データ分散装置、分散データ変換装置、秘密分散方法、およびプログラム
JP6009697B2 (ja) 秘密計算方法、秘密計算システム、ソート装置及びプログラム
JP6016948B2 (ja) 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム
JP5860557B1 (ja) 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム
JP6732959B2 (ja) 秘密計算方法、秘密計算システム、秘密計算装置、およびプログラム
JP5944841B2 (ja) 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム
JP5872084B1 (ja) 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP2016173532A (ja) 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JPWO2016148281A1 (ja) 秘匿文字列計算システム及び方法と装置並びにプログラム
Patil et al. Pixel co-ordinate-based secret image sharing scheme with constant size shadow images
US11599681B2 (en) Bit decomposition secure computation apparatus, bit combining secure computation apparatus, method and program
CN105099693B (zh) 一种传输方法及传输装置
JP6693503B2 (ja) 秘匿検索システム、サーバ装置、秘匿検索方法、検索方法、およびプログラム
JP2016156853A (ja) 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP2015135380A (ja) シェア変換システム、シェア変換方法、プログラム
JP7327511B2 (ja) 秘密乱数生成システム、秘密計算装置、秘密乱数生成方法、およびプログラム
EP3675088B1 (en) Share generating device, share converting device, secure computation system, share generation method, share conversion method, program, and recording medium
JP4861369B2 (ja) リカバリ署名システム、署名生成装置、署名検証装置、それらの方法、及びプログラム
JP2007171412A (ja) 鍵生成装置、暗号化装置、復号化装置、乗法型ナップザック暗号システム、乗法型ナップザック暗号復号方法およびプログラム
WO2023243141A1 (ja) 連合学習システム及び連合学習方法
JP5355263B2 (ja) 鍵共有装置、鍵共有方法及びプログラム
JP6777569B2 (ja) ペアリング演算装置、ペアリング演算方法、およびプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170127

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170214

R150 Certificate of patent or registration of utility model

Ref document number: 6095792

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150