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

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

Info

Publication number
WO2015053184A1
WO2015053184A1 PCT/JP2014/076531 JP2014076531W WO2015053184A1 WO 2015053184 A1 WO2015053184 A1 WO 2015053184A1 JP 2014076531 W JP2014076531 W JP 2014076531W WO 2015053184 A1 WO2015053184 A1 WO 2015053184A1
Authority
WO
WIPO (PCT)
Prior art keywords
sequence
secret
parallel processing
randomized
function
Prior art date
Application number
PCT/JP2014/076531
Other languages
English (en)
French (fr)
Inventor
大 五十嵐
亮 菊池
浩気 濱田
千田 浩司
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to US15/025,486 priority Critical patent/US10083314B2/en
Priority to CN201480054280.2A priority patent/CN105593918B/zh
Priority to EP14852876.3A priority patent/EP3057079A4/en
Priority to EP21171879.6A priority patent/EP3893229B1/en
Priority to JP2015541550A priority patent/JP6040320B2/ja
Publication of WO2015053184A1 publication Critical patent/WO2015053184A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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

Definitions

  • the present invention relates to a secret parallel processing device, a secret parallel processing method, and a program for performing data processing while concealing data by secret sharing while maintaining the validity of calculation results.
  • Non-Patent Document 1 is an example of a conventional secret calculation method that maintains correctness.
  • an object of the present invention is to provide a secret parallel processing device that can reduce the amount of communication in secret parallel processing.
  • the secret parallel processing device of the present invention includes a randomizing unit, a calculating unit, and a validity proving unit.
  • the randomizing unit acquires a non-randomized sequence that is an input sequence, combines the non-randomized sequence with a dummy record sequence composed of public values, and performs random replacement processing, and the random replacement data used Concealed random replacement data is output.
  • the calculation unit obtains a non-randomized sequence, a randomized sequence, and a dummy record sequence, applies a predetermined function to them, and checks the output of each sequence using data of a calculation process in the process of applying the function Generate a thumb.
  • the validity proving unit obtains the output checksum of each series and the concealed random replacement data, evaluates the output checksum of each series, and whether or not the predetermined function is correctly applied to the non-randomized series. The final verification result of is output.
  • the secret parallel processing device of the present invention it is possible to reduce the communication amount in the secret parallel processing.
  • FIG. 1 is a block diagram illustrating a configuration of a secret parallel processing device according to Embodiment 1.
  • FIG. 5 is a flowchart showing the operation of the secret parallel processing apparatus according to the first embodiment.
  • FIG. 3 is a block diagram illustrating a configuration of a randomizing unit of the secret parallel processing device according to the first embodiment.
  • 6 is a flowchart illustrating an operation of a randomizing unit of the secret parallel processing device according to the first embodiment.
  • FIG. 3 is a block diagram illustrating a configuration of a calculation unit of the secret parallel processing device according to the first embodiment.
  • 5 is a flowchart showing the operation of the calculation unit of the secret parallel processing device according to the first embodiment.
  • FIG. 3 is a block diagram illustrating a configuration of a validity proving unit of the secret parallel processing device according to the first embodiment.
  • 5 is a flowchart showing the operation of a validity proving unit of the secret parallel processing device according to the first embodiment.
  • R be the plaintext space.
  • Function f: 'respect, f N: R N ⁇ R ' R ⁇ R parallel execution of N a f, ie f N (a 0, ..., a N-1) (f (a 0), ..., f (a N-1 )).
  • 0 R is a zero element of R.
  • X be an arbitrary set, and m and m ′ be arbitrary integers.
  • the original x of X m, a i and arbitrary integers, the i-th element is denoted as x i.
  • FIG. 1 is a block diagram showing the configuration of the secret parallel processing device 1 of this embodiment.
  • the secret parallel processing device 1 includes a randomizing unit 11, a calculating unit 12, and a validity proving unit 13.
  • An input string (referred to as a non-randomized sequence) is input to the randomizing unit 11 and the calculating unit 12.
  • the validity proving unit 13 outputs a final verification result.
  • the secret parallel processing device 1 implements secret parallel processing by forming a group with a plurality of units and executing the following processing in the group.
  • FIG. 2 is a flowchart showing the operation of the secret parallel processing device 1 of the present embodiment.
  • the secret parallel processing method of the present embodiment includes a randomization step (step S11, scheme 1), a calculation step (step S12, scheme 2), and a validity proving step (step S13, scheme 3).
  • the process is divided into three steps.
  • the randomizing unit 11 executes a randomizing step
  • the calculating unit 12 executes a calculating step
  • the validity proving unit 13 executes a validity proving step.
  • the randomizing unit 11 acquires a non-randomized sequence that is an input sequence, combines the non-randomized sequence and a dummy record sequence including a public value, and performs a random replacement process, and a random replacement used.
  • the concealed random replacement data that conceals the data is output (S11).
  • the public value is a value that is disclosed to all devices in the group.
  • the replacement data is, for example, a sequence of N elements in which each element has a different number from 0 to N ⁇ 1, and represents how to replace the data of N elements.
  • Random replacement data generated by random numbers is called random replacement data.
  • Concealed random replacement data is, for example, in the method of Reference Non-Patent Document 2, there are a total of n C k sets of k devices in a group ( n C k types if the number of devices in the group is n). A set of random replacement data sharing the random replacement data. When performing replacement, all of the replacement data is used for replacement. In such a concealed random replacement data, since there is at least one random replacement data that is not shared in any nk device pair, the entire replacement is concealed.
  • the calculation unit 12 acquires a non-randomized sequence, a randomized sequence, and a dummy record sequence, applies a predetermined function to them, and outputs each sequence using data of a calculation process in the process of applying the function A checksum is generated (S12).
  • the validity proving unit 13 obtains the output checksum of each sequence and the concealed random replacement data, evaluates the output checksum of each sequence, and determines whether or not a predetermined function has been correctly applied to the non-randomized sequence.
  • the final verification result is output (S13).
  • FIG. 3 is a block diagram showing the configuration of the randomizing unit 11 of the secret parallel processing device 1 of this embodiment.
  • FIG. 4 is a flowchart showing the operation of the randomizing unit 11 of the secret parallel processing device 1 of this embodiment.
  • the randomizing unit 11 includes a dummy record sequence creating unit 111, a dummy record concealing unit 112, a combining unit 113, and a random replacement unit 114.
  • the public value x can be concealed to a certain number n by sharing the secret, and each device in the group may perform the following processing. It can be applied to any secret sharing. 1) Normally, random numbers are generated in secret sharing, and these random numbers are all constants such as zero. 2) Obtain n shares by secret sharing algorithm with x as input and random number as above constant. 3) Output only the share of your own out of n.
  • B v ⁇ 1 ] [ ⁇ v ⁇ 1 (A
  • the dummy record sequence creation unit 111 creates and outputs a dummy record sequence D ⁇ (R m )
  • the content is arbitrary within the domain of F
  • the dummy record concealment unit 112 conceals the dummy record sequence D by a method having legitimacy, and acquires the concealed dummy record sequence [D] ⁇ ([R] m )
  • the combining unit 113 combines the concealed dummy record sequence [D] with the input (non-randomized sequence [A]), and obtains a combined result [A
  • D]: [A]
  • step S114 is executed for all i satisfying i ⁇ .
  • the random permutation unit 114 performs random permutation processing with legitimacy on the combined result [A
  • D] to obtain a randomized sequence [B i ]: [ ⁇ i (A
  • FIG. 5 is a block diagram showing the configuration of the calculation unit 12 of the secret parallel processing device 1 of this embodiment.
  • FIG. 6 is a flowchart showing the operation of the calculation unit 12 of the secret parallel processing device 1 of this embodiment.
  • the calculation unit 12 includes a checksum initial value definition unit 121, a function calculation unit 122, a checksum update unit 123, a function-processed series definition unit 124, and a function-processed dummy record concealment unit. 125 and an output checksum generation unit 126.
  • a desired function F is calculated in parallel with three sequences of a non-randomized sequence, a randomized sequence, and a dummy record sequence. At that time, all output is stored as a checksum.
  • ,..., [C B ⁇ 1 ]: 0 ⁇ ⁇ ([R] 0 ) N +
  • , [C D ]: 0 ⁇ ⁇ ( [R] 0 )
  • the function calculation unit 122 performs a semi-honest secret calculation on the ⁇ + 1 sequence of the non-randomized sequence [A], the randomized sequence [B 0 ],..., [B v ⁇ 1 ], and
  • plaintext is calculated, and a desired function F is calculated for each sub-protocol f i : [R] mi ⁇ [R] ⁇ i , and [F N (A)] ⁇ ([R] ⁇ ) N is calculated.
  • m i and ⁇ i are the number of inputs and the number of outputs of the sub-protocol f i , respectively.
  • the checksum update unit 123 updates the checksum for each of the sub-protocols f i : [R] mi ⁇ [R] ⁇ i described above (S123).
  • the post-function processing sequence definition unit 124 outputs each output of the ⁇ + 2 sequence to the sub-protocol f i as a non-randomized sequence after function processing [A ′] ⁇ ([R] ⁇ i ) N , a random sequence after function processing [B ′ 0 ],..., [B ′ ⁇ 1 ] ⁇ ([R] ⁇ i ) N +
  • the function-processed dummy record concealment unit 125 conceals the function-processed dummy record sequence D ′ by a method having legitimacy, and acquires the concealed function-processed dummy record sequence [D ′] (S 125).
  • FIG. 7 is a block diagram showing the configuration of the validity proving unit 13 of the secret parallel processing device 1 of this embodiment.
  • FIG. 8 is a flowchart showing the operation of the validity proving unit 13 of the secret parallel processing device 1 of this embodiment.
  • the validity proof unit 13 includes a first data reception signal transmission / reception unit 130, a random replacement disclosure unit 131, a difference value calculation unit 132, a vertical division unit 133, and a random number variance value generation unit 134.
  • the first data reception signal transmission / reception unit 130 executes the above-described SYNC process (S130). Specifically, the first data reception signal transmission / reception unit 130 transmits a data reception signal, which is a signal indicating that all data to be received by step S130 has been received, to all other devices in the group, and the group The signals from all other devices are received (S130).
  • a data reception signal which is a signal indicating that all data to be received by step S130 has been received
  • the following steps S131 to S135 are executed for all i satisfying i ⁇ .
  • the random replacement disclosure unit 131 discloses the concealed random replacement data [ ⁇ i ] and acquires the decrypted value ⁇ i (S131).
  • the difference value calculation unit 132 combines the output checksum [C A ] of the non-randomized sequence and the output checksum [C D ] of the dummy record sequence from the output checksum [C Bi ] of the randomized sequence ([C A ]).
  • the vertical division unit 133 vertically divides each record of the difference value [ ⁇ i ] for each division unit ⁇ element (S133).
  • the vertical division unit 133 acquires the difference division value [ ⁇ ′ i ] ⁇ ([R] ⁇ ) (N +
  • the random number variance generation unit 134 generates a random value variance [ ⁇ i ] ⁇ ([R] ⁇ ) (N +
  • the product-sum unit 135 uses the product-sum protocol to calculate the product-sum value based on the difference variance value and the random number variance value. Is calculated (S135).
  • the second data reception signal transmission / reception unit 136 executes the SYNC process (S136). Specifically, the second data reception signal transmission / reception unit 136 transmits a data reception signal, which is a signal indicating that all data to be received up to step S136 has been received, to all the other devices in the group. The signals from all the other devices are received (S136).
  • the product-sum value disclosing unit 137 discloses the product-sum value [ ⁇ ] and acquires the decrypted value ⁇ (S137).
  • the final verification result output unit 139 outputs a final verification result that becomes ⁇ if there is a defect in the verification results from all the other devices in the group, otherwise it becomes a defect (S139).
  • the communication amount can be reduced in the secret parallel processing. Specifically, when calculating the data parallel number N, the communication amount can be O (/ ⁇ / logN ⁇ C) bits, and the communication amount is improved by log N compared to the conventional method.
  • ⁇ Points of the present invention Conventionally, the property of a field that is an algebraic structure has been used to guarantee the correctness of the processing result.
  • the security parameter ⁇ is approximately the same as the bit length of the body.
  • the data parallel number N can be incorporated into the security strength by using random replacement processing. Dummy records are also important in that security is not achieved without dummy records, regardless of the contents.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • a computer-readable recording medium any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
  • this program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device.
  • the computer reads a program stored in its own recording medium and executes a process according to the read program.
  • the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer.
  • the processing according to the received program may be executed sequentially.
  • the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by an execution instruction and result acquisition. It is good.
  • the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
  • the present apparatus is configured by executing a predetermined program on a computer.
  • a predetermined program on a computer.
  • at least a part of these processing contents may be realized by hardware.

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)

Abstract

 秘密並列処理において通信量を削減することができる秘密並列処理装置を提供する。入力列である非ランダム化系列を取得して、非ランダム化系列と公開値からなるダミーレコード列とを結合してランダム置換処理したランダム化系列と、利用されたランダム置換データを秘匿した秘匿済みランダム置換データを出力するランダム化部と、非ランダム化系列と、ランダム化系列と、ダミーレコード列を取得して、これらに所定の関数を施して、当該関数を施す処理における計算過程のデータを用いて各系列の出力チェックサムを生成する計算部と、各系列の出力チェックサムと、秘匿済みランダム置換データを取得して、各系列の出力チェックサムを評価して、非ランダム化系列に所定の関数が正しく施されたか否かの最終検証結果を出力する正当性証明部とを含む。

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 JPOXMLDOC01-appb-M000003
を計算する(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の元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に記載の秘密並列処理装置であって、
     0は空ベクトルを表すものとし、
     前記計算部が、
     前記非ランダム化系列、前記ランダム化系列、前記ダミーレコード列のチェックサムの初期値をそれぞれ[C]:=0∈([R],[CB0]:=0∈([R]N+|D|,…,[CBν-1]:=0∈([R]N+|D|,[C]:=0∈([R]|D|と定義するチェックサム初期値定義部と、
     m,μをそれぞれサブプロトコル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 JPOXMLDOC01-appb-M000001
    を計算する積和部と、
     受信すべき全データを受信したことを伝える信号であるデータ受信信号を、前記グループを構成する他の全秘密並列処理装置に送信し、前記グループを構成する他の全秘密並列処理装置からの当該信号を受信する第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の元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|と定義するチェックサム初期値定義ステップと、
     m,μをそれぞれサブプロトコル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 JPOXMLDOC01-appb-M000002
    を計算する積和ステップと、
     受信すべき全データを受信したことを伝える信号であるデータ受信信号を、前記グループを構成する他の全秘密並列処理装置に送信し、前記グループを構成する他の全秘密並列処理装置からの当該信号を受信する第2データ受信信号送受信ステップと、
     前記積和値[φ]を公開してその復号値φを取得する積和値公開ステップと、
     前記積和値の復号値φ=0を確認し、真ならば┬、偽ならば┴となる検証結果を前記グループを構成する他の全秘密並列処理装置に送信し、前記グループを構成する他の全秘密並列処理装置から前記検証結果を受信する検証結果送受信ステップと、
     前記グループを構成する他の全秘密並列処理装置からの検証結果に┴が存在すれば┴、そうでなければ┬となる最終検証結果を出力する最終検証結果出力ステップと、
    を含む秘密並列処理方法。
  9.  コンピュータを、請求項1から4のいずれかに記載の秘密並列処理装置として機能させるためのプログラム。
PCT/JP2014/076531 2013-10-10 2014-10-03 秘密並列処理装置、秘密並列処理方法、プログラム WO2015053184A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US15/025,486 US10083314B2 (en) 2013-10-10 2014-10-03 Secret parallel processing device, secret parallel processing method, and program
CN201480054280.2A CN105593918B (zh) 2013-10-10 2014-10-03 秘密并行处理装置、秘密并行处理方法、程序
EP14852876.3A EP3057079A4 (en) 2013-10-10 2014-10-03 Secret parallel processing device, secret parallel processing method, and program
EP21171879.6A EP3893229B1 (en) 2013-10-10 2014-10-03 Secret parallel processing device, secret parallel processing method, and program
JP2015541550A JP6040320B2 (ja) 2013-10-10 2014-10-03 秘密並列処理装置、秘密並列処理方法、プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-213026 2013-10-10
JP2013213026 2013-10-10

Publications (1)

Publication Number Publication Date
WO2015053184A1 true WO2015053184A1 (ja) 2015-04-16

Family

ID=52813000

Family Applications (1)

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

Country Status (5)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019039381A1 (ja) 2017-08-22 2019-02-28 日本電信電話株式会社 秘密計算装置、秘密計算方法、プログラム、および記録媒体
CN114218616A (zh) * 2021-11-17 2022-03-22 鹏城实验室 一种归一化指数函数安全计算方法及系统

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018008543A1 (ja) * 2016-07-06 2018-01-11 日本電信電話株式会社 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
JP6534778B2 (ja) * 2016-07-06 2019-06-26 日本電信電話株式会社 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
AU2018295722B2 (en) * 2017-07-05 2020-11-19 Nippon Telegraph And Telephone Corporation Secure computation system, secure computation apparatus, secure computation method, program, and recording medium
AU2018321008B2 (en) * 2017-08-22 2021-05-20 Nippon Telegraph And Telephone Corporation Share generating device, reconstructing device, secure computation system, share generation method, reconstruction method, program, and recording medium
AU2018349997B2 (en) * 2017-10-13 2021-07-22 Nippon Telegraph And Telephone Corporation Confidential sort system and method
WO2019176831A1 (ja) * 2018-03-12 2019-09-19 日本電信電話株式会社 秘密表参照システム、方法、秘密計算装置及びプログラム
US11868510B2 (en) * 2018-05-17 2024-01-09 Nippon Telegraph And Telephone Corporation Secure cross tabulation system, secure computation apparatus, secure cross tabulation method, and program
US20220138338A1 (en) * 2019-03-11 2022-05-05 Nippon Telegraph And Telephone Corporation Data replacement apparatus, data replacement method, and program
CN111666063B (zh) * 2020-04-22 2023-09-26 南京惟心光电系统有限公司 一种基于随机计算的增函数实现装置

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
US5703952A (en) * 1992-12-30 1997-12-30 Telstra Corporation Limited Method and apparatus for generating a cipher stream
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
AU2001227892A1 (en) * 2000-01-14 2001-07-24 Parthus Technologies Plc An 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 키 생성방법,이를 이용한 연산 방법 및암호화 방법
WO2014136386A1 (ja) * 2013-03-04 2014-09-12 日本電気株式会社 タグ生成装置、タグ生成方法およびタグ生成プログラム

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 (6)

* Cited by examiner, † Cited by third party
Title
DAI IGARASHI ET AL.: "Hijo ni Kokoritsu na n?2k-1malicious Model Jo Himitsu Bunsan Base Multi Party Keisan no Koseiho", 2013 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY KOEN RONBUNSHU, 22 January 2013 (2013-01-22), pages 1 - 8, XP008180067 *
DAI IGARASHI ET AL.: "Sho Party Su no Himitsu Bunsan Base Himitsu Keisan ni Okeru Koritsuteki na malicious Model Jo SIMD Keisan no Koseiho", COMPUTER SECURITY SYMPOSIUM 2013 KOEN RONBUNSHU, 21 October 2013 (2013-10-21), pages 793 - 800, XP008183241 *
DAI IKARASHI; KOKI HAMADA; RYO KIKUCHI; KOJI CHIDA: "An Extremely Efficient Secret-sharing-based Multi-Party Computation against Malicious Adversary", SCIS 2013 (SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY), CRYPTOGRAPHIC PROTOCOL SESSION (3C3-2
KOKI HAMADA; DAI IKARASHI; KOJI CHIDA; KATSUMI TAKAHASHI: "A Random Permutation Protocol on Three-Party Secure Function Evaluation", INFORMATION PROCESSING SOCIETY OF JAPAN SYMPOSIUM SERIES, vol. 2010, no. 9, 12 October 2010 (2010-10-12), pages 561 - 566, XP008170364
S. LAUR; J. WILLEMSON; B. ZHANG: "Lecture Notes in Computer Science", vol. 7001, 2011, SPRINGER, article "Round-efficient oblivious database manipulation", pages: 262 - 277
See also references of EP3057079A4

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019039381A1 (ja) 2017-08-22 2019-02-28 日本電信電話株式会社 秘密計算装置、秘密計算方法、プログラム、および記録媒体
US11515998B2 (en) 2017-08-22 2022-11-29 Nippon Telegraph And Telephone Corporation Secure computation device, secure computation method, program, and recording medium
CN114218616A (zh) * 2021-11-17 2022-03-22 鹏城实验室 一种归一化指数函数安全计算方法及系统

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6040320B2 (ja) 秘密並列処理装置、秘密並列処理方法、プログラム
CN110971405B (zh) 多方协同的sm2签名、解密方法及其系统
Li et al. Privacy preserving cloud data auditing with efficient key update
JP6016948B2 (ja) 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム
JP6009697B2 (ja) 秘密計算方法、秘密計算システム、ソート装置及びプログラム
JP2018007168A (ja) 監査装置、監査機能付匿名送金方法及びプログラム
CN105721156B (zh) 对数据进行编码和数字签名的方法和相关设备
JP6583970B2 (ja) 秘密乱数合成装置、秘密乱数合成方法、およびプログラム
WO2016104476A1 (ja) 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム
JP2012151756A (ja) 復号システム、鍵装置、復号方法、及びプログラム
Yu et al. Public cloud data auditing with practical key update and zero knowledge privacy
JP5732429B2 (ja) 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム
JP6053238B2 (ja) 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム
WO2018216512A1 (ja) 秘密改ざん検知システム、秘密改ざん検知装置、秘密改ざん検知方法、およびプログラム
JP6467063B2 (ja) 秘密認証符号付加装置、秘密認証符号付加方法、およびプログラム
JP5964460B2 (ja) データの暗号化記憶システム
WO2020260151A1 (en) Zero-knowledge contingent payments protocol for granting access to encrypted assets
JPWO2018008547A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
WO2013153628A1 (ja) 演算処理システムおよび演算結果認証方法
JP5227201B2 (ja) ビットコミットメントシステム、ビットコミットメント方法、ビットコミットメント送信装置、ビットコミットメント受信装置、ビットコミットメント送信方法、ビットコミットメント受信方法、ビットコミットメントプログラム
JP2015135380A (ja) シェア変換システム、シェア変換方法、プログラム
CN113645022A (zh) 一种确定隐私集合交集方法、装置、电子设备及存储介质
JP6881588B2 (ja) 秘密計算装置、秘密計算方法、プログラム、および記録媒体
JP6059160B2 (ja) シェア変換システム、シェア変換方法、プログラム
JP2013235535A (ja) データ管理システムおよびデータ管理用プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14852876

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15025486

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2015541550

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2014852876

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014852876

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE