Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6040320B2 - 秘密並列処理装置、秘密並列処理方法、プログラム - Google Patents
[go: Go Back, main page]

JP6040320B2 - 秘密並列処理装置、秘密並列処理方法、プログラム - Google Patents

秘密並列処理装置、秘密並列処理方法、プログラム Download PDF

Info

Publication number
JP6040320B2
JP6040320B2 JP2015541550A JP2015541550A JP6040320B2 JP 6040320 B2 JP6040320 B2 JP 6040320B2 JP 2015541550 A JP2015541550 A JP 2015541550A JP 2015541550 A JP2015541550 A JP 2015541550A JP 6040320 B2 JP6040320 B2 JP 6040320B2
Authority
JP
Japan
Prior art keywords
sequence
parallel processing
secret
unit
function
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
JP2015541550A
Other languages
English (en)
Other versions
JPWO2015053184A1 (ja
Inventor
大 五十嵐
大 五十嵐
亮 菊池
亮 菊池
浩気 濱田
浩気 濱田
千田 浩司
浩司 千田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Application granted granted Critical
Publication of JP6040320B2 publication Critical patent/JP6040320B2/ja
Publication of JPWO2015053184A1 publication Critical patent/JPWO2015053184A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • 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/08Randomization, e.g. dummy operations or using noise
    • 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)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Description

本発明は計算結果の正当性を保ちながら秘密分散によりデータを秘匿しつつデータ処理を行う秘密並列処理装置、秘密並列処理方法、プログラムに関する。
従来の正当性を保つ秘密計算方法として、例えば非特許文献1がある。
五十嵐大、濱田浩気、菊池亮、千田浩司、「非常に高効率なn>=2k−1のmaliciousモデル上秘密分散ベース秘密計算」、SCIS2013(暗号と情報セキュリティシンポジウム)暗号プロトコルセッション(3C3−2)
上記の従来技術においては、セキュリティパラメータκ(すなわち改ざん成功率が1/2κ程度)、処理の規模を表すパラメータCにおける通信量がO(κC)ビットとなり通信コストが大きいという課題があった。そこで本発明では、秘密並列処理において通信量を削減することができる秘密並列処理装置を提供することを目的とする。
本発明の秘密並列処理装置は、ランダム化部と、計算部と、正当性証明部を含む。
ランダム化部は、入力列である非ランダム化系列を取得して、非ランダム化系列と公開値からなるダミーレコード列とを結合してランダム置換処理したランダム化系列と、利用されたランダム置換データを秘匿した秘匿済みランダム置換データを出力する。計算部は、非ランダム化系列と、ランダム化系列と、ダミーレコード列を取得して、これらに所定の関数を施して、当該関数を施す処理における計算過程のデータを用いて各系列の出力チェックサムを生成する。正当性証明部は、各系列の出力チェックサムと、秘匿済みランダム置換データを取得して、各系列の出力チェックサムを評価して、非ランダム化系列に所定の関数が正しく施されたか否かの最終検証結果を出力する。
本発明の秘密並列処理装置によれば、秘密並列処理において通信量を削減することができる。
実施例1の秘密並列処理装置の構成を示すブロック図。 実施例1の秘密並列処理装置の動作を示すフローチャート。 実施例1の秘密並列処理装置のランダム化部の構成を示すブロック図。 実施例1の秘密並列処理装置のランダム化部の動作を示すフローチャート。 実施例1の秘密並列処理装置の計算部の構成を示すブロック図。 実施例1の秘密並列処理装置の計算部の動作を示すフローチャート。 実施例1の秘密並列処理装置の正当性証明部の構成を示すブロック図。 実施例1の秘密並列処理装置の正当性証明部の動作を示すフローチャート。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
<記法>
以下、本明細書において共通で使用される記法について説明する。
平文空間をRとする。
関数f:R→R′に対して、f:R→R′をfの並列実行、すなわち
(a,…,aN-1)=(f(a),…,f(aN-1))とする。
環Rに対して0をRの零元とする。
Xを任意の集合とし、mおよびm′を任意の整数とする。Xの元xに対して、iを任意の整数とし、i番目の要素をxと表記する。
x∈X,y∈X に対して、結合
(x,…,xm-1,y,…,ym′-1)∈Xm+m′
をx||yと表記する。
x∈(X,y∈(Xm′に対して、垂直結合
(x||y,…,xN-1||yN-1
をx||yと表記する。
[x]は値xを秘密分散で秘匿した値、また集合Xに対して、[X]はXの元を秘匿した値の集合とする。
<秘密並列処理装置の概要>
以下、図1を参照して、本実施例の秘密並列処理装置の概要について説明する。図1は、本実施例の秘密並列処理装置1の構成を示すブロック図である。図1に示すように、本実施例の秘密並列処理装置1は、ランダム化部11と、計算部12と、正当性証明部13を含む構成である。ランダム化部11、計算部12には、入力列(非ランダム化系列と呼ぶ)が入力される。正当性証明部13は、最終検証結果を出力する。秘密並列処理装置1は、複数台でグループを構成し、グループで以下の処理を実行することにより、秘密並列処理を実現する。
<秘密並列処理方法の概要>
以下、図2を参照して、本実施例の秘密並列処理方法の概要について説明する。図2は、本実施例の秘密並列処理装置1の動作を示すフローチャートである。図2に示すように、本実施例の秘密並列処理方法は、ランダム化ステップ(ステップS11、スキーム1)、計算ステップ(ステップS12、スキーム2)、正当性証明ステップ(ステップS13、スキーム3)の3ステップに分かれて順に行われる。ランダム化部11は、ランダム化ステップを実行し、計算部12は、計算ステップを実行し、正当性証明部13は、正当性証明ステップを実行するものとする。
ランダム化部11は、入力列である非ランダム化系列を取得して、非ランダム化系列と公開値からなるダミーレコード列とを結合してランダム置換処理したランダム化系列と、利用されたランダム置換データを秘匿した秘匿済みランダム置換データを出力する(S11)。なお、公開値とは、グループ内の全装置に公開されている値のことである。また、置換データとは、例えば各要素が0からN−1の異なる数であるようなN要素の列であって、N要素のデータの置換の仕方を表す。例示すれば、(a_0,a_1,a_2)のN=3のデータに対して置換データ(2,1,0)で置換するとは、a_0を2番目に、a_1を1番目に、a_2を0番目に移動して(a_2,a_1,a_0)とする。乱数により生成されたランダムな置換データを、ランダム置換データと呼ぶ。秘匿されたランダム置換データとは例えば、参考非特許文献2の方法では、グループ内のk装置の組(グループの装置数nとすると、種類存在する)がそれぞれ、計個のランダム置換データを共有した、そのランダム置換データの集合であり、置換を実行する際にはこれらの全ての置換データを用いて順に置換を行う。このような秘匿されたランダム置換データでは、どのn−k装置の組を見ても、少なくとも1つ共有されていないランダム置換データが存在するため、全体の置換は秘匿される。
計算部12は、非ランダム化系列と、ランダム化系列と、ダミーレコード列を取得して、これらに所定の関数を施して、当該関数を施す処理における計算過程のデータを用いて各系列の出力チェックサムを生成する(S12)。正当性証明部13は、各系列の出力チェックサムと、秘匿済みランダム置換データを取得して、各系列の出力チェックサムを評価して、非ランダム化系列に所定の関数が正しく施されたか否かの最終検証結果を出力する(S13)。
<ランダム化部11>
以下、図3、図4を参照してランダム化部11、およびランダム化部11が実行するランダム化ステップ(S11、スキーム1)の詳細について説明する。図3は本実施例の秘密並列処理装置1のランダム化部11の構成を示すブロック図である。図4は本実施例の秘密並列処理装置1のランダム化部11の動作を示すフローチャートである。図3に示すように、ランダム化部11は、ダミーレコード列作成部111と、ダミーレコード秘匿部112と、結合部113と、ランダム置換部114を含む。
スキーム1では、ダミーレコード列を追加して、正当性を持つランダム置換処理をν回行う。パラメータνは、ν=┌κ/logN┐程度の整数である。なお公開値の分散は、秘密並列処理を実行するグループ内の各装置が乱数成分固定として自分のシェアを作成すればよく、オフライン処理である。なお正当性をもつランダム置換処理は任意である。例えば参考非特許文献1に記載の正当性を持つランダム置換処理や、または参考非特許文献1の正当性を持たないランダム置換処理や、参考非特許文献2のランダム置換処理に前述の非特許文献1の変換方法を組み合わせたランダム置換処理などがある。
(参考非特許文献1)S. Laur, J. Willemson, and B. Zhang. Round-efficient oblivious database manipulation.In X. Lai, J. Zhou, and H. Li eds., ISC, Vol. 7001 of Lecture Notes in Computer Science, pp. 262-277. Springer, 2011.
(参考非特許文献2)濱田浩気、五十嵐大、千田浩司、高橋克巳、「3パーティ秘匿関数計算のランダム置換プロトコル」、情報処理学会シンポジウム論文集、2010年10月12日、2010巻、第9号、pp561-566
また公開値xを正当性を持って秘密分散によりあるn個に秘匿するのはグループ内の各装置が以下の処理を行えばよい。いかなる秘密分散にも適用可能である。
1)秘密分散では通常乱数を生成するが、この乱数を全て0などの定数とする。
2)入力をx、乱数を上記の定数として秘密分散アルゴリズムによりn個のシェアを得る。
3)n個のうち自分の持ち分のシェアのみを出力する。
xは公開値であるので上記は通信無しでグループ内の各装置のみで実行することができる。通信無しの処理が秘密計算として正当性を持つことはよく知られており、よって上記の秘匿は正当性を持つ。
スキーム1で使用されるパラメータ、入力、出力を以下に示す。
パラメータ:計算すべきm入力μ出力関数F(m、μをそれぞれ計算すべき出力関数Fの入力数、出力数とする)、レコード数N、挿入するダミーレコード数|D|、ランダム化系列数ν∈E(Eは任意の自然数の集合)
入力:非ランダム化系列[A]∈([R]
出力:秘匿済みランダム置換データ[π],…,[πν-1]∈[ΠN+|D|]ランダム化系列[B]=[π(A||D)],…,[Bν-1]=[πν-1(A||D)]∈([R]μN+|D|,ダミーレコード列D∈(R|D|、ただし、Πは秘匿済みランダム置換データの集合を表す。
<ステップS111>
ダミーレコード列作成部111は、公開値から成るダミーレコード列D∈(R|D|を作成して出力する(S111)。内容はF|D|の定義域内で任意である。
<ステップS112>
ダミーレコード秘匿部112は、ダミーレコード列Dを、正当性を持つ方法で秘匿し、秘匿済みダミーレコード列[D]∈([R]|D|を取得する(S112)。
<ステップS113>
結合部113は、入力(非ランダム化系列[A])に秘匿されたダミーレコード列[D]を結合し、結合結果[A||D]:=[A]||[D]を取得する(S113)。
以下のステップS114は、i<νを充たすすべてのiについて実行される。
<ステップS114>
ランダム置換部114は、結合結果[A||D]に正当性をもつランダム置換処理を施してランダム化系列[B]:=[π(A||D)]を取得し、当該ランダム化系列と、利用された秘匿済みランダム置換データ[π]∈[Π]を出力する(S114)。
<計算部12>
以下、図5、図6を参照して計算部12、および計算部12が実行する計算ステップ(S12、スキーム2)の詳細について説明する。図5は本実施例の秘密並列処理装置1の計算部12の構成を示すブロック図である。図6は本実施例の秘密並列処理装置1の計算部12の動作を示すフローチャートである。図5に示すように、計算部12は、チェックサム初期値定義部121と、関数計算部122と、チェックサム更新部123と、関数処理後系列定義部124と、関数処理後ダミーレコード秘匿部125と、出力チェックサム生成部126を含む。
スキーム2では、非ランダム化系列、ランダム化系列、ダミーレコード列の3系列で所望の関数Fを並列に計算する。その際、出力は全てチェックサムとして保存される。
スキーム2で使用されるパラメータ、入力、出力を以下に示す。
パラメータ:計算すべきm入力μ出力関数F、レコード数N、挿入するダミーレコード数|D|,ランダム化系列数ν∈E(Eは任意の自然数の集合)
入力:非ランダム化系列[A]∈([R],ランダム化系列[B],…,[Bν-1]∈([R]μN+|D|,ダミーレコード列D∈(R|D|
出力:出力[F(A)]∈([R]μ,ν+2個のチェックサム[C],[CB0],…,[CBν-1],[C
<ステップS121>
チェックサム初期値定義部121は、非ランダム化系列、ランダム化系列、ダミーレコード列のチェックサムの初期値をそれぞれ[C]:=0∈([R],[CB0]:=0∈([R]N+|D|,…,[CBν-1]:=0∈([R]N+|D|,[C]:=0∈([R]|D|と定義する(S121)。ただし0は空ベクトルである。
<ステップS122>
関数計算部122は、非ランダム化系列[A],ランダム化系列[B],…,[Bν-1]のν+1系列に対してsemi−honestの秘密計算を施し、ダミーレコード列Dに対して平文の計算を施して、所望の関数Fを、サブプロトコルf:[R]mi→[R]μiごとに計算し、[F(A)]∈([R]μを出力する(S122)。ただしm,μはそれぞれサブプロトコルfの入力数、出力数である。
<ステップS123>
チェックサム更新部123は、前述したサブプロトコルf:[R]mi→[R]μiごとにチェックサムを更新する(S123)。
<ステップS124>
関数処理後系列定義部124は、サブプロトコルfへのν+2系列の各出力を、関数処理後非ランダム化系列[A′]∈([R]μi,関数処理後ランダム化系列[B′],…,[B′ν-1]∈([R]μiN+|D|,関数処理後ダミーレコード列D′∈(Rμi|D|と定義する(S124)。
<ステップS125>
関数処理後ダミーレコード秘匿部125は、関数処理後ダミーレコード列D′を、正当性を持つ方法で秘匿し、秘匿済み関数処理後ダミーレコード列[D′]を取得する(S125)。
<ステップS126>
出力チェックサム生成部126は、非ランダム化系列のチェックサム[C]と関数処理後非ランダム化系列[A′]を垂直結合して非ランダム化系列の出力チェックサム([C]:=[C]||[A′])を生成して出力する(S126)。出力チェックサム生成部126は、i<νを充たすすべてのiについてランダム化系列のチェックサム[CBi]と関数処理後ランダム化系列[B′]を垂直結合してランダム化系列の出力チェックサム([CBi]:=[CBi]||[B′])を生成して出力する(S126)。出力チェックサム生成部126は、ダミーレコード列のチェックサム[C]と秘匿済み関数処理後ダミーレコード列[D′]を垂直結合してダミーレコード列の出力チェックサム([C]:=[C]||[D′])を生成して出力する(S126)。
<正当性証明部13>
以下、図7、図8を参照して正当性証明部13、および正当性証明部13が実行する正当性証明ステップ(S13、スキーム3)の詳細について説明する。図7は本実施例の秘密並列処理装置1の正当性証明部13の構成を示すブロック図である。図8は本実施例の秘密並列処理装置1の正当性証明部13の動作を示すフローチャートである。図7に示すように、正当性証明部13は、第1データ受信信号送受信部130と、ランダム置換公開部131と、差分値計算部132と、垂直分割部133と、乱数分散値生成部134と、積和部135と、第2データ受信信号送受信部136と、積和値公開部137と、検証結果送受信部138と、最終検証結果出力部139を含む。
スキーム3では計算ステップで保存されたチェックサムを元に正当性を検証する。記号SYNCは、その時点までの全ての受信すべきデータを受信したことをグループ内の他の全装置に伝える信号を送信し、またグループ内の他の全装置からの当該信号を受信する処理を示す。SYNCが確認できるまでは後続の処理を行わないことで非同期ネットワークでのセキュリティを担保する。
スキーム3で使用されるパラメータ、入力、出力を以下に示す。
パラメータ:計算すべきm入力μ出力関数F,レコード数N,挿入するダミーレコード数|D|,ランダム化系列数ν∈E(Eは任意の自然数の集合),分割単位σ∈E
入力:出力チェックサム[C],[CB0],…,[CBν-1],[C],秘匿済みランダム置換データ[π],…,[πν-1]∈[ΠN+|D|
出力:改ざんがあれば改ざんがあったことを示す最終検証結果┴、改ざんがなければ改ざんがなかったことを示す最終検証結果┬
<ステップS130>
第1データ受信信号送受信部130は、前述のSYNC処理を実行する(S130)。具体的には、第1データ受信信号送受信部130は、ステップS130までに受信すべき全データを受信したことを伝える信号であるデータ受信信号をグループ内の他の全装置に送信し、またグループ内の他の全装置からの当該信号を受信する(S130)。
以下のステップS131からステップS135は、i<νを充たすすべてのiについて実行される。
<ステップS131>
ランダム置換公開部131は、秘匿済みランダム置換データ[π]を公開し、その復号値πを取得する(S131)。
<ステップS132>
差分値計算部132は、ランダム化系列の出力チェックサム[CBi]から非ランダム化系列の出力チェックサム[C]とダミーレコード列の出力チェックサム[C]の結合([C]||[C])を差し引いた差分値[ζ]を計算する(S132)。すなわち、差分値計算部132は、差分値[ζ]:=[CBi]-([C]||[C])∈([R]N+|D|を計算する(S132)。なおMは[C](または[CBi]、どちらでも等しい)の1レコード当たりの要素数とする。
<ステップS133>
垂直分割部133は、差分値[ζ]の各レコードを、分割単位σ要素ごとに垂直分割する(S133)。垂直分割部133は、([R]σN+|D|の要素をM′=┌M/σ┐個取得する。なお最後の分割に端数が現れる場合、垂直分割部133は、σ要素に満たない部分を0パディングする。垂直分割部133は、差分分割値[ζ′]∈([R]σ(N+|D|)M′を取得する(S133)。
<ステップS134>
乱数分散値生成部134は、乱数の分散値[ρ]∈([R]σ(N+|D|)M′を生成する(S134)。
<ステップS135>
積和部135は、差分分割値と乱数の分散値に基づいて、積和プロトコルにより積和値
Figure 0006040320

を計算する(S135)。
<ステップS136>
第2データ受信信号送受信部136は、SYNC処理を実行する(S136)。具体的には、第2データ受信信号送受信部136は、ステップS136までに受信すべき全データを受信したことを伝える信号であるデータ受信信号をグループ内の他の全装置に送信し、またグループ内の他の全装置からの当該信号を受信する(S136)。
<ステップS137>
積和値公開部137は、積和値[φ]を公開してその復号値φを取得する(S137)。
<ステップS138>
検証結果送受信部138は、積和値の復号値φ=0を確認し、真ならば┬、偽ならば┴となる検証結果をグループ内の他の全装置に送信し、グループ内の他の全装置から検証結果を受信する(S138)。
<ステップS139>
最終検証結果出力部139は、グループ内の他の全装置からの検証結果に┴が存在すれば┴、そうでなければ┬となる最終検証結果を出力する(S139)。
本実施例の秘密並列処理装置1によれば、秘密並列処理において通信量を削減することができる。具体的には、データ並列数Nの計算を行う際に通信量O(┌κ/logN┐C)ビットとすることができ、通信量に関し、従来法よりもlogN改善される。
<本発明のポイント>
従来処理結果の正当性を保証するためには代数的構造である体の性質が用いられてきた。しかしこの方針ではセキュリティパラメータκはおよそ体のビット長と同程度となる。本発明ではランダム置換処理を用いてデータ並列数Nをセキュリティ強度に組み込むことができた。ダミーレコードは、中身は何でもよいにも関わらず、ダミーレコード無しではセキュリティが達成されない点もポイントである。
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (9)

  1. 入力列である非ランダム化系列を取得して、前記非ランダム化系列と公開値からなるダミーレコード列とを結合してランダム置換処理したランダム化系列と、利用されたランダム置換データを秘匿した秘匿済みランダム置換データを出力するランダム化部と、
    前記非ランダム化系列と、前記ランダム化系列と、前記ダミーレコード列を取得して、これらに所定の関数を施して、当該関数を施す処理における計算過程のデータを用いて各系列の出力チェックサムを生成する計算部と、
    前記各系列の出力チェックサムと、前記秘匿済みランダム置換データを取得して、前記各系列の出力チェックサムを評価して、前記非ランダム化系列に前記所定の関数が正しく施されたか否かの最終検証結果を出力する正当性証明部と、
    を含む秘密並列処理装置。
  2. 請求項1に記載の秘密並列処理装置であって、
    平文空間をRとし、
    関数f:R→R′に対して、f:R→R′をfの並列実行、すなわち
    (a,…,aN-1)=(f(a),…,f(aN-1))とし、
    環Rに対して0をRの零元とし、
    Xを任意の集合とし、
    mおよびm′を任意の整数とし、
    iを任意の整数とし、
    の元xに対して、i番目の要素をxと表記し、
    x∈X,y∈X に対して、結合
    (x,…,xm-1,y,…,ym′-1)∈Xm+m′
    をx||yと表記し、
    x∈(X,y∈(Xm′に対して、垂直結合
    (x||y,…,xN-1||yN-1
    をx||yと表記し、
    [x]を値xを秘密分散で秘匿した値とし、
    集合Xに対して[X]をXの元を秘匿した値の集合とし、
    m、μをそれぞれ計算すべき出力関数Fの入力数、出力数とし、
    レコード数をN、挿入するダミーレコード数を|D|、ランダム化系列数をν∈Eとし、
    Πは秘密分散されたランダム置換データの集合を表すものとし、
    前記ランダム化部が、
    公開値から成るダミーレコード列D∈(R|D|を作成して出力するダミーレコード列作成部と、
    前記ダミーレコード列Dを、正当性を持つ方法で秘匿し、秘匿済みダミーレコード列[D]∈([R]|D|を取得するダミーレコード秘匿部と、
    前記非ランダム化系列[A]に前記秘匿されたダミーレコード列[D]を結合し、結合結果[A||D]:=[A]||[D]を取得する結合部と、
    i<νを充たすすべてのiについて、前記結合結果[A||D]に正当性をもつランダム置換処理を施して前記ランダム化系列[B]:=[π(A||D)]を取得し、当該ランダム化系列と、利用された秘匿済みランダム置換データ[π]∈[Π]を出力するランダム置換部と、
    をさらに含む秘密並列処理装置。
  3. 請求項2に記載の秘密並列処理装置であって、
    は空ベクトルを表すものとし、
    前記計算部が、
    前記非ランダム化系列、前記ランダム化系列、前記ダミーレコード列のチェックサムの初期値をそれぞれ[C]:=0∈([R],[CB0]:=0∈([R]N+|D|,…,[CBν-1]:=0∈([R]N+|D|,[C]:=0∈([R]|D|と定義するチェックサム初期値定義部と、
    ,μをそれぞれサブプロトコルfの入力数、出力数とし、
    前記非ランダム化系列[A],前記ランダム化系列[B],…,[Bν-1]のν+1系列に対してsemi−honestの秘密計算を施し、前記ダミーレコード列Dに対して平文の計算を施して、所望の関数Fを、サブプロトコルf:[R]mi→[R]μiごとに計算する関数計算部と、
    前記サブプロトコルf:[R]mi→[R]μiごとにチェックサムを更新するチェックサム更新部と、
    前記サブプロトコルfへのν+2系列の各出力を、関数処理後非ランダム化系列[A′]∈([R]μi,関数処理後ランダム化系列[B′],…,[B′ν-1]∈([R]μiN+|D|,関数処理後ダミーレコード列D′∈(Rμi|D|と定義する関数処理後系列定義部と、
    前記関数処理後ダミーレコード列D′を、正当性を持つ方法で秘匿し、秘匿済み関数処理後ダミーレコード列[D′]を取得する関数処理後ダミーレコード秘匿部と、
    前記非ランダム化系列の出力チェックサム[C]:=[C]||[A′]と、i<νを充たすすべてのiについての前記ランダム化系列の出力チェックサム[CBi]:=[CBi]||[B′]と、前記ダミーレコード列の出力チェックサム[C]:=[C]||[D′]を出力する出力チェックサム生成部と、
    をさらに含む秘密並列処理装置。
  4. 請求項3に記載の秘密並列処理装置であって、
    前記正当性証明部が、
    受信すべき全データを受信したことを伝える信号であるデータ受信信号を、グループを構成する他の全秘密並列処理装置に送信し、前記グループを構成する他の全秘密並列処理装置からの当該信号を受信する第1データ受信信号送受信部と、
    i<νを充たすすべてのiについて、
    前記秘匿済みランダム置換データ[π]を公開し、その復号値πを取得するランダム置換公開部と、
    i<νを充たすすべてのiについて、
    Mを前記非ランダム化系列の出力チェックサム[C]、または前記ランダム化系列の出力チェックサム[CBi]の1レコード当たりの要素数とし、差分値[ζ]:=[CBi]-([C]||[C])∈([R]N+|D|を計算する差分値計算部と、
    i<νを充たすすべてのiについて、
    前記差分値[ζ]の各レコードを、分割単位σ要素ごとに垂直分割し、差分分割値[ζ′]∈([R]σ(N+|D|)M′を取得する垂直分割部と、
    i<νを充たすすべてのiについて、
    乱数の分散値[ρ]∈([R]σ(N+|D|)M′を生成する乱数分散値生成部と、
    積和プロトコルにより積和値
    Figure 0006040320

    を計算する積和部と、
    受信すべき全データを受信したことを伝える信号であるデータ受信信号を、前記グループを構成する他の全秘密並列処理装置に送信し、前記グループを構成する他の全秘密並列処理装置からの当該信号を受信する第2データ受信信号送受信部と、
    前記積和値[φ]を公開してその復号値φを取得する積和値公開部と、
    前記積和値の復号値φ=0を確認し、真ならば┬、偽ならば┴となる検証結果を前記グループを構成する他の全秘密並列処理装置に送信し、前記グループを構成する他の全秘密並列処理装置から前記検証結果を受信する検証結果送受信部と、
    前記グループを構成する他の全秘密並列処理装置からの検証結果に┴が存在すれば┴、そうでなければ┬となる最終検証結果を出力する最終検証結果出力部と、
    さらに含む秘密並列処理装置。
  5. 秘密並列処理装置が実行する秘密並列処理方法であって、
    前記秘密並列処理装置のランダム化部が、入力列である非ランダム化系列を取得して、前記非ランダム化系列と公開値からなるダミーレコード列とを結合してランダム置換処理したランダム化系列と、利用されたランダム置換データを秘匿した秘匿済みランダム置換データを出力するランダム化ステップを実行し、
    前記秘密並列処理装置の計算部が、前記非ランダム化系列と、前記ランダム化系列と、前記ダミーレコード列を取得して、これらに所定の関数を施して、当該関数を施す処理における計算過程のデータを用いて各系列の出力チェックサムを生成する計算ステップを実行し、
    前記秘密並列処理装置の正当性証明部が、前記各系列の出力チェックサムと、前記秘匿済みランダム置換データを取得して、前記各系列の出力チェックサムを評価して、前記非ランダム化系列に前記所定の関数が正しく施されたか否かの最終検証結果を出力する正当性証明ステップを実行する
    密並列処理方法。
  6. 請求項5に記載の秘密並列処理方法であって、
    平文空間をRとし、
    関数f:R→R′に対して、f:R→R′をfの並列実行、すなわち
    (a,…,aN-1)=(f(a),…,f(aN-1))とし、
    環Rに対して0をRの零元とし、
    Xを任意の集合とし、
    mおよびm′を任意の整数とし、
    iを任意の整数とし、
    の元xに対して、i番目の要素をxと表記し、
    x∈X,y∈X′に対して、結合
    (x,…,xm-1,y,…,ym′-1)∈Xm+m′
    をx||yと表記し、
    x∈(X,y∈(Xm′に対して、垂直結合
    (x||y,…,xN-1||yN-1
    をx||yと表記し、
    [x]を値xを秘密分散で秘匿した値とし、
    集合Xに対して[X]をXの元を秘匿した値の集合とし、
    m、μをそれぞれ計算すべき出力関数Fの入力数、出力数とし、
    レコード数をN、挿入するダミーレコード数を|D|、ランダム化系列数をν∈Eとし、
    Πは秘密分散されたランダム置換データの集合を表すものとし、
    前記ランダム化ステップが、
    公開値から成るダミーレコード列D∈(R|D|を作成して出力するダミーレコード列作成ステップと、
    前記ダミーレコード列Dを、正当性を持つ方法で秘匿し、秘匿済みダミーレコード列[D]∈([R]|D|を取得するダミーレコード秘匿ステップと、
    前記非ランダム化系列[A]に前記秘匿されたダミーレコード列[D]を結合し、結合結果[A||D]:=[A]||[D]を取得する結合ステップと、
    i<νを充たすすべてのiについて、前記結合結果[A||D]に正当性をもつランダム置換処理を施して前記ランダム化系列[B]:=[π(A||D)]を取得し、当該ランダム化系列と、利用された秘匿済みランダム置換データ[π]∈[Π]を出力するランダム置換ステップと、
    をさらに含む秘密並列処理方法。
  7. 請求項6に記載の秘密並列処理方法であって、 0は空ベクトルを表すものとし、
    前記計算ステップが、
    前記非ランダム化系列、前記ランダム化系列、前記ダミーレコード列のチェックサムの初期値をそれぞれ[C]:=0∈([R],[CB0]:=0∈([R]N+|D|,…,[CBν-1]:=0∈([R]N+|D|,[C]:=0∈([R]|D|と定義するチェックサム初期値定義ステップと、
    ,μをそれぞれサブプロトコルfの入力数、出力数とし、
    前記非ランダム化系列[A],前記ランダム化系列[B],…,[Bν-1]のν+1系列に対してsemi−honestの秘密計算を施し、前記ダミーレコード列Dに対して平文の計算を施して、所望の関数Fを、サブプロトコルf:[R]mi→[R]μiごとに計算する関数計算ステップと、
    前記サブプロトコルf:[R]mi→[R]μiごとにチェックサムを更新するチェックサム更新ステップと、
    前記サブプロトコルfへのν+2系列の各出力を、関数処理後非ランダム化系列[A′]∈([R]μi,関数処理後ランダム化系列[B′],…,[B′ν-1]∈([R]μiN+|D|,関数処理後ダミーレコード列D′∈(Rμi|D|と定義する関数処理後系列定義ステップと、
    前記関数処理後ダミーレコード列D′を、正当性を持つ方法で秘匿し、秘匿済み関数処理後ダミーレコード列[D′]を取得する関数処理後ダミーレコード秘匿ステップと、
    前記非ランダム化系列の出力チェックサム[C]:=[C]||[A′]と、i<νを充たすすべてのiについての前記ランダム化系列の出力チェックサム[CBi]:=[CBi]||[B′]と、前記ダミーレコード列の出力チェックサム[C]:=[C]||[D′]を出力する出力チェックサム生成ステップと、
    をさらに含む秘密並列処理方法。
  8. 請求項7に記載の秘密並列処理方法であって、
    前記正当性証明ステップが、
    受信すべき全データを受信したことを伝える信号であるデータ受信信号を、グループを構成する他の全秘密並列処理装置に送信し、前記グループを構成する他の全秘密並列処理装置からの当該信号を受信する第1データ受信信号送受信ステップと、
    i<νを充たすすべてのiについて、
    前記秘匿済みランダム置換データ[π]を公開し、その復号値πを取得するランダム置換公開ステップと、
    i<νを充たすすべてのiについて、
    Mを前記非ランダム化系列の出力チェックサム[C]、または前記ランダム化系列の出力チェックサム[CBi]の1レコード当たりの要素数とし、差分値[ζ]:=[CBi]-([C]||[C])∈([R]N+|D|を計算する差分値計算ステップと、
    i<νを充たすすべてのiについて、
    前記差分値[ζ]の各レコードを、分割単位σ要素ごとに垂直分割し、差分分割値[ζ′]∈([R]σ(N+|D|)M′を取得する垂直分割ステップと、
    i<νを充たすすべてのiについて、
    乱数の分散値[ρ]∈([R]σ(N+|D|)M′を生成する乱数分散値生成ステップと、
    積和プロトコルにより積和値
    Figure 0006040320

    を計算する積和ステップと、
    受信すべき全データを受信したことを伝える信号であるデータ受信信号を、前記グループを構成する他の全秘密並列処理装置に送信し、前記グループを構成する他の全秘密並列処理装置からの当該信号を受信する第2データ受信信号送受信ステップと、
    前記積和値[φ]を公開してその復号値φを取得する積和値公開ステップと、
    前記積和値の復号値φ=0を確認し、真ならば┬、偽ならば┴となる検証結果を前記グループを構成する他の全秘密並列処理装置に送信し、前記グループを構成する他の全秘密並列処理装置から前記検証結果を受信する検証結果送受信ステップと、
    前記グループを構成する他の全秘密並列処理装置からの検証結果に┴が存在すれば┴、そうでなければ┬となる最終検証結果を出力する最終検証結果出力ステップと、
    さらに含む秘密並列処理方法。
  9. コンピュータを、請求項1から4のいずれかに記載の秘密並列処理装置として機能させるためのプログラム。
JP2015541550A 2013-10-10 2014-10-03 秘密並列処理装置、秘密並列処理方法、プログラム Active JP6040320B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013213026 2013-10-10
JP2013213026 2013-10-10
PCT/JP2014/076531 WO2015053184A1 (ja) 2013-10-10 2014-10-03 秘密並列処理装置、秘密並列処理方法、プログラム

Publications (2)

Publication Number Publication Date
JP6040320B2 true JP6040320B2 (ja) 2016-12-07
JPWO2015053184A1 JPWO2015053184A1 (ja) 2017-03-09

Family

ID=52813000

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015541550A Active JP6040320B2 (ja) 2013-10-10 2014-10-03 秘密並列処理装置、秘密並列処理方法、プログラム

Country Status (5)

Country Link
US (1) US10083314B2 (ja)
EP (2) EP3057079A4 (ja)
JP (1) JP6040320B2 (ja)
CN (1) CN105593918B (ja)
WO (1) WO2015053184A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109478381B (zh) * 2016-07-06 2021-12-14 日本电信电话株式会社 秘密计算系统、秘密计算装置、秘密计算方法以及程序
JP6534778B2 (ja) * 2016-07-06 2019-06-26 日本電信電話株式会社 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
WO2019009180A1 (ja) * 2017-07-05 2019-01-10 日本電信電話株式会社 秘密計算システム、秘密計算装置、秘密計算方法、プログラム、および記録媒体
US11818254B2 (en) * 2017-08-22 2023-11-14 Nippon Telegraph And Telephone Corporation Share generating device, reconstructing device, secure computation system, share generation method, reconstruction method, program, and recording medium
JP6881588B2 (ja) 2017-08-22 2021-06-02 日本電信電話株式会社 秘密計算装置、秘密計算方法、プログラム、および記録媒体
CN111183469B (zh) * 2017-10-13 2023-02-28 日本电信电话株式会社 隐匿分类系统以及方法
EP3767609A4 (en) * 2018-03-12 2021-12-08 Nippon Telegraph And Telephone Corporation SECRET TABLE REFERENCE SYSTEM, METHOD, DEVICE AND PROGRAM FOR SECRET CALCULATION
JP7017178B2 (ja) * 2018-05-17 2022-02-08 日本電信電話株式会社 秘密クロス集計システム、秘密計算装置、秘密クロス集計方法、およびプログラム
WO2020184126A1 (ja) * 2019-03-11 2020-09-17 日本電信電話株式会社 データ置換装置、データ置換方法、プログラム
CN111666063B (zh) * 2020-04-22 2023-09-26 南京惟心光电系统有限公司 一种基于随机计算的增函数实现装置
CN114218616B (zh) * 2021-11-17 2024-06-21 鹏城实验室 一种归一化指数函数安全计算方法及系统
CN117591526B (zh) * 2023-11-29 2025-10-14 天翼云科技有限公司 一种面向不确定环境的高性能随机化一致性方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772339B1 (en) * 2000-03-13 2004-08-03 Lucent Technologies Inc. Mix and match: a new approach to secure multiparty computation
WO2005071640A1 (ja) * 2004-01-26 2005-08-04 Nec Corporation 多数の入力から関数を計算する方法および装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4991107A (en) * 1988-12-15 1991-02-05 Schlumberger Technologies Limited Vibration control system
JPH08505275A (ja) * 1992-12-30 1996-06-04 テルストラ・コーポレイション・リミテッド 暗号ストリームを発生させるための装置及び方法
JP2000089666A (ja) * 1998-09-16 2000-03-31 Nippon Telegr & Teleph Corp <Ntt> 暗号化/復号化装置
US6408075B1 (en) * 1998-11-30 2002-06-18 Hitachi, Ltd. Information processing equipment and IC card
US7062696B2 (en) * 2000-01-14 2006-06-13 National Semiconductor Algorithmic test pattern generator, with built-in-self-test (BIST) capabilities, for functional testing of a circuit
US6862594B1 (en) * 2000-05-09 2005-03-01 Sun Microsystems, Inc. Method and apparatus to discover services using flexible search criteria
KR101309797B1 (ko) * 2006-12-01 2013-09-23 삼성전자주식회사 성긴 w-NAF 키 생성방법,이를 이용한 연산 방법 및암호화 방법
US9787475B2 (en) * 2013-03-04 2017-10-10 Nec Corporation Device, method, and program for message authentication tag generation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772339B1 (en) * 2000-03-13 2004-08-03 Lucent Technologies Inc. Mix and match: a new approach to secure multiparty computation
WO2005071640A1 (ja) * 2004-01-26 2005-08-04 Nec Corporation 多数の入力から関数を計算する方法および装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6016029650; 五十嵐大 他: 2013年 暗号と情報セキュリティシンポジウム講演論文集 , 20130122, p.1-8 *

Also Published As

Publication number Publication date
EP3893229B1 (en) 2024-06-19
CN105593918B (zh) 2019-06-14
WO2015053184A1 (ja) 2015-04-16
EP3893229A1 (en) 2021-10-13
EP3057079A1 (en) 2016-08-17
EP3057079A4 (en) 2017-06-07
JPWO2015053184A1 (ja) 2017-03-09
US10083314B2 (en) 2018-09-25
US20160210472A1 (en) 2016-07-21
CN105593918A (zh) 2016-05-18

Similar Documents

Publication Publication Date Title
JP6040320B2 (ja) 秘密並列処理装置、秘密並列処理方法、プログラム
JP6016948B2 (ja) 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム
WO2018015325A1 (en) Device and method for performing obfuscated arithmetic
JPWO2015107951A1 (ja) 秘密計算方法、秘密計算システム、ソート装置及びプログラム
JP5506704B2 (ja) 復号システム、鍵装置、復号方法、及びプログラム
WO2016104476A1 (ja) 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム
JP6583970B2 (ja) 秘密乱数合成装置、秘密乱数合成方法、およびプログラム
WO2019110399A1 (en) Two-party signature device and method
JP6585846B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
CN113645022B (zh) 一种确定隐私集合交集方法、装置、电子设备及存储介质
JP6053238B2 (ja) 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム
JP5732429B2 (ja) 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム
WO2020260151A1 (en) Zero-knowledge contingent payments protocol for granting access to encrypted assets
CN110622232B (zh) 秘密篡改探测系统、秘密篡改探测装置、秘密篡改探测方法以及程序
JP5964460B2 (ja) データの暗号化記憶システム
JP6467063B2 (ja) 秘密認証符号付加装置、秘密認証符号付加方法、およびプログラム
JP6881588B2 (ja) 秘密計算装置、秘密計算方法、プログラム、および記録媒体
WO2013153628A1 (ja) 演算処理システムおよび演算結果認証方法
JP5227201B2 (ja) ビットコミットメントシステム、ビットコミットメント方法、ビットコミットメント送信装置、ビットコミットメント受信装置、ビットコミットメント送信方法、ビットコミットメント受信方法、ビットコミットメントプログラム
JP2015135380A (ja) シェア変換システム、シェア変換方法、プログラム
JP2009267470A (ja) 開示制限処理装置及びデータ処理システム及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161005

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161107

R150 Certificate of patent or registration of utility model

Ref document number: 6040320

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350