WO2018008547A1 - 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム - Google Patents

秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム Download PDF

Info

Publication number
WO2018008547A1
WO2018008547A1 PCT/JP2017/024149 JP2017024149W WO2018008547A1 WO 2018008547 A1 WO2018008547 A1 WO 2018008547A1 JP 2017024149 W JP2017024149 W JP 2017024149W WO 2018008547 A1 WO2018008547 A1 WO 2018008547A1
Authority
WO
WIPO (PCT)
Prior art keywords
array
secret
text
concealed
less
Prior art date
Application number
PCT/JP2017/024149
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 JP2018526339A priority Critical patent/JP6585846B2/ja
Priority to EP17824152.7A priority patent/EP3483867B1/en
Priority to CN201780038693.5A priority patent/CN109416894B/zh
Priority to US16/313,233 priority patent/US11200346B2/en
Publication of WO2018008547A1 publication Critical patent/WO2018008547A1/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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • 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

Definitions

  • This invention relates to cryptographic application technology, and more particularly to technology for reading from an array without revealing input data.
  • Non-Patent Document 1 As a method of obtaining a specific calculation result without restoring the encrypted numerical value, there is a method called secret calculation (for example, see Non-Patent Document 1).
  • encryption is performed such that numerical fragments are distributed to three secret calculation devices, and the three secret calculation devices perform cooperative calculation, so that addition / subtraction and constant addition are performed without restoring the numerical values.
  • Multiplication, constant multiplication, logical operation (negation, logical product, logical sum, exclusive logical sum), data format conversion (integer, binary number) results distributed to three secret computing devices, ie encrypted Can be held as is.
  • the element ⁇ a> at the position of the number ⁇ x> encrypted from the encrypted array ( ⁇ a [0]>, ⁇ a [1]>,..., ⁇ a [n-1]>)
  • [x]> is read, there is a method realized by comparing the encrypted number ⁇ x> with the positions 0, 1, ..., n-1 of all elements of the array.
  • An object of the present invention is to provide a secret calculation technique capable of efficiently reading a plurality of elements from a concealed array in view of the above points.
  • the secret part ⁇ x> of integer x less than or less than 0 and less than n integers i 0 ,..., i m-1 and the secret sentence array ⁇ a> are kept secret by ⁇ x>
  • a plurality of elements can be efficiently read from a concealed array.
  • a value obtained by concealing a value a by encryption, secret sharing, or the like is called a secret sentence of a, and is expressed as ⁇ a>.
  • A is called the plaintext of ⁇ a>.
  • the concealment is secret sharing, a set of secret sharing fragments of each party is referred to by ⁇ a>.
  • ⁇ a '> ( ⁇ a [d + 1]>,..., ⁇ a [n-1]>
  • the process of calculating ⁇ a [0]>, ⁇ a [1]>, ..., ⁇ a [d-1]>) is called a concealment shift and is described by the following equation.
  • the secret calculation system includes n ( ⁇ 3) secret calculation devices 1 1 ,..., 1 n as illustrated in FIG.
  • the secret computing devices 1 1 ,..., 1 n are each connected to the communication network 2.
  • the communication network 2 is a circuit-switching or packet-switching-type communication network configured such that the secret computing devices 1 1 ,..., 1 n can communicate with each other, for example, the Internet, a LAN (Local Area Network), A WAN (Wide Area Network) or the like can be used.
  • Each device does not necessarily need to be able to communicate online via the communication network 2.
  • information input to the secret computing device 1 i i ⁇ ⁇ 1,..., N ⁇
  • a portable recording medium such as a magnetic tape or a USB memory, and is input offline from the portable recording medium. It may be configured.
  • the secret computing device 1 includes an input unit 11, a concealment shift unit 12, an array generation unit 13, and an output unit 14.
  • the secret calculation apparatus 1 performs the process of each step illustrated in FIG. 3 to realize the secret calculation method of the first embodiment.
  • the secret computing device 1 is, for example, a special computer configured by reading a special program into a known or dedicated computer having a central processing unit (CPU: Central Processing Unit), a main storage device (RAM: Random Access Memory), and the like. Device.
  • the secret computing device 1 executes each process under the control of the central processing unit.
  • the data input to the secret computing device 1 and the data obtained in each process are stored in, for example, the main storage device, and the data stored in the main storage device is read out to the central processing unit as necessary. Used for other processing.
  • At least a part of each processing unit of the secret computing device 1 may be configured by hardware such as an integrated circuit.
  • a secret sentence ⁇ x> of integer x between 0 and less than n and m integers between 0 and less than n 0 ,..., i m-1 are input.
  • the secret text array ⁇ a> and the secret text ⁇ x> are sent to the secret shift unit 12.
  • the integers i 0 ,..., I m ⁇ 1 are sent to the array generation unit 13.
  • step S12 the secret shift unit 12 secretly shifts the array ⁇ a> of the secret text by ⁇ x> and shifts the array a to the left by x.
  • the secret text array ⁇ a ′> is sent to the array generator 13.
  • step S14 the secret text array ⁇ b> is output from the output unit 14.
  • an array of size n ( ⁇ a [0]>, ⁇ a [1]>, ..., ⁇ a [n-1]>), which is concealed by a secret calculation or encryption,
  • the secret text ⁇ x> to be expressed and the plain text m to indicate the output size are input, and the value of x and a [0], a [1],..., a [n-1] is not clarified.
  • This is a method for obtaining a secret text ( ⁇ a [x mod n]>, ⁇ a [x + 1 mod n]>,..., ⁇ A [x + m-1 mod n]>).
  • a secret sentence ⁇ x> of an integer x not less than 0 and less than n and a natural number m are input.
  • the secret text array ⁇ a> and the secret text ⁇ x> are sent to the secret shift unit 12.
  • the natural number m is sent to the array generation unit 13.
  • step S12 the secret shift unit 12 secretly shifts the secret text array ⁇ a> by ⁇ x> and shifts the array a by x to the left as in the first embodiment.
  • [0], a '[1],..., a' [n-1]) (a [x], a [x + 1],..., a [n-1], a [0], a [ 1],..., a [x-1])
  • Anonymized sequence ⁇ a '> ( ⁇ a' [0]>, ⁇ a '[1]>,..., ⁇ a' [n- 1]>) That is, ⁇ a '> ⁇ Shift ( ⁇ a>, ⁇ x>) is executed.
  • the secret text array ⁇ a ′> is sent to the array generator 13.
  • step S14 the secret text array ⁇ b> is output from the output unit 14.
  • the point of this invention is that, in the past, it was necessary to read all the sequences of the secret text m times in order to compare all the sequences of the secret text, so the relative position of the read position of m times may be disclosed. In some cases, this is realized by only shifting the secret sentence once. By first shifting the secret text array to the left by x, reading the x + i j th element is realized simply by taking out the ij th element of the shifted array.
  • the secret sentence of the x + i 0 , x + i 1 ,..., X + i m ⁇ 1 element from the array of n secret sentences Can be realized by one secret shift operation.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • a computer-readable recording medium for example, 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, for example, 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. When executing the process, this computer reads the program stored in its own recording device and executes the 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. Each time, 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 processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good.
  • ASP Application Service Provider
  • 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.
  • the secret calculation technique of the present invention can be applied to, for example, genome information analysis, statistical calculation, database processing, medical information analysis, customer information analysis, sales analysis and the like while keeping information secret.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Image Processing (AREA)

Abstract

秘匿化された配列から複数の要素を効率よく読み出す。入力部11へ大きさnの配列a=(a[0], …, a[n-1])を秘匿化した秘匿文の配列<a>=(<a[0]>, …, <a[n-1]>)、0以上n未満の整数xの秘匿文<x>、およびm個の0以上n未満の整数i0, …, im-1が入力される。秘匿シフト部12は、秘匿文の配列<a>を<x>だけ秘匿シフトして、配列aをxだけ左シフトした配列a'=(a'[0], …, a'[n-1])を秘匿化した秘匿文の配列<a'>=(<a'[0]>, …, <a'[n-1]>)を求める。配列生成部13は、秘匿文の配列<a'>から秘匿文の配列< b>=(<a'[i0]>, …, <a'[im-1]>)を生成する。

Description

秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
 この発明は、暗号応用技術に関し、特に、入力データを明かすことなく配列から読み込みを行う技術に関する。
 暗号化された数値を復元すること無く特定の演算結果を得る方法として、秘密計算と呼ばれる方法がある(例えば非特許文献1参照)。非特許文献1の方法では、3つの秘密計算装置に数値の断片を分散させるという暗号化を行い、3つの秘密計算装置が協調計算を行うことにより、数値を復元すること無く、加減算、定数加算、乗算、定数倍、論理演算(否定、論理積、論理和、排他的論理和)、データ形式変換(整数、二進数)の結果を3つの秘密計算装置に分散された状態、すなわち暗号化されたまま保持させることができる。
 秘密計算等で暗号化された配列(<a[0]>, <a[1]>, …, <a[n-1]>)から暗号化された番号<x>の位置の要素<a[x]>の読み込みを行う場合に、暗号化された番号<x>と配列のすべての要素の位置0, 1, …, n-1との比較を行って実現する方法がある。
千田浩司、濱田浩気、五十嵐大、高橋克巳、"軽量検証可能3パーティ秘匿関数計算の再考"、CSS2010、2010
 しかしながら、従来技術では、大きさnの秘匿化された配列からm回の読み込みを行うためには、Ω(mn)回の比較が必要となり効率が悪かった。
 この発明の目的は、上述のような点に鑑みて、秘匿化された配列から複数の要素を効率よく読み出すことができる秘密計算技術を提供することである。
 上記の課題を解決するために、この発明の第一の態様の秘密計算システムは、3台以上の秘密計算装置を含む秘密計算システムであって、秘密計算装置は、大きさnの配列a=(a[0], …, a[n-1])を秘匿化した秘匿文の配列<a>=(<a[0]>, …, <a[n-1]>)、0以上n未満の整数xの秘匿文<x>、およびm個の0以上n未満の整数i0, …, im-1を入力する入力部と、秘匿文の配列<a>を<x>だけ秘匿シフトして、配列aをxだけ左シフトした配列a'=(a'[0], …,a'[n-1])を秘匿化した秘匿文の配列<a'>=(<a'[0]>, …, <a'[n-1]>)を求める秘匿シフト部と、秘匿文の配列<a'>から秘匿文の配列<b>=(<a'[i0]>, …, <a'[im-1]>)を生成する配列生成部と、を含むものである。
 この発明の第二の態様の秘密計算システムは、3台以上の秘密計算装置を含む秘密計算システムであって、秘密計算装置は、大きさnの配列a=(a[0], …, a[n-1])を秘匿化した秘匿文の配列<a>=(<a[0]>, …, <a[n-1]>)、0以上n未満の整数xの秘匿文<x>、および自然数mを入力する入力部と、秘匿文の配列<a>を<x>だけ秘匿シフトして、配列aをxだけ左シフトした配列a'=(a'[0], …, a'[n-1])を秘匿化した秘匿文の配列<a'>=(<a'[0]>, …, <a'[n-1]>)を求める秘匿シフト部と、秘匿文の配列<a'>から秘匿文の配列<b>=(<a'[0]>, …, <a'[m-1]>)を生成する配列生成部と、を含むものである。
 この発明の秘密計算技術によれば、秘匿化された配列から複数の要素を効率よく読み出すことができる。
図1は、秘密計算システムの機能構成を例示する図である。 図2は、秘密計算装置の機能構成を例示する図である。 図3は、秘密計算方法の処理手続きを例示する図である。 図4は、秘密計算方法の処理手続きを例示する図である。
 実施形態の説明に先立ち、この明細書における表記方法およびこの明細書において用いる用語の定義について説明する。
 <表記方法>
 ある値aを暗号化や秘密分散などにより秘匿化した値をaの秘匿文と呼び、<a>と表記する。また、aを<a>の平文と呼ぶ。秘匿化が秘密分散である場合は、<a>により各パーティが持つ秘密分散の断片の集合を参照する。
 <秘匿シフト>
 大きさnの秘匿文の配列<a>=(<a[0]>, <a[1]>, …, <a[n-1]>)とシフト量dの秘匿文<d>とを入力とし、<a>を左にdだけシフトした秘匿文の配<a'>=(<a[d]>, <a[d+1]>, …, <a[n-1]>, <a[0]>, <a[1]>, …, <a[d-1]>)を計算する処理を秘匿シフトと呼び、次式で記述する。
Figure JPOXMLDOC01-appb-M000001
 秘匿シフトを実現する方法は、下記参考文献1に記載されている。
〔参考文献1〕濱田浩気、桐淵直人、五十嵐大、“ラウンド効率のよい秘密計算パターンマッチング”、コンピュータセキュリティシンポジウム2014論文集、第2014巻、pp. 674-681、2014年10月
 以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
 <第一実施形態>
 この発明の第一実施形態は、秘密計算や暗号化などにより秘匿化された大きさnの配列(<a[0]>, <a[1]>, …, <a[n-1]>)、位置を表す自然数xの秘匿文<x>、およびxからの相対的な位置を表すm個の平文i0, i1, …, im-1を入力とし、xやa[0], a[1], …, a[n-1]の値を明らかにすることなく、m個の秘匿文(<a[x+i0 mod n]>, <a[x+i1 mod n]>, …, <a[x+im-1mod n]>)を得る方法である。
 第一実施形態の秘密計算システムは、図1に例示するように、n(≧3)台の秘密計算装置11, …, 1nを含む。この実施形態では、秘密計算装置11, …, 1nはそれぞれ通信網2へ接続される。通信網2は、秘密計算装置11, …, 1nそれぞれが相互に通信可能なように構成された回線交換方式もしくはパケット交換方式の通信網であり、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などを用いることができる。なお、各装置は必ずしも通信網2を介してオンラインで通信可能である必要はない。例えば、秘密計算装置1i(i∈{1, …, n})へ入力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体からオフラインで入力するように構成してもよい。
 秘密計算装置1は、図2に例示するように、入力部11、秘匿シフト部12、配列生成部13、および出力部14を含む。この秘密計算装置1が、図3に例示する各ステップの処理を行うことにより第一実施形態の秘密計算方法が実現される。
 秘密計算装置1は、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。秘密計算装置1は、例えば、中央演算処理装置の制御のもとで各処理を実行する。秘密計算装置1に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。秘密計算装置1の各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
 図3を参照して、第一実施形態の秘密計算方法の処理手続きを説明する。
 ステップS11において、入力部11へ、大きさnの配列a=(a[0], a[1], …, a[n-1])を秘匿化した秘匿文の配列<a>=(<a[0]>, <a[1]>, …, <a[n-1]>)、0以上n未満の整数xの秘匿文<x>、およびm個の0以上n未満の整数i0, …, im-1が入力される。秘匿文の配列<a>および秘匿文<x>は秘匿シフト部12へ送られる。整数i0, …, im-1は配列生成部13へ送られる。
 ステップS12において、秘匿シフト部12は、秘匿文の配列<a>を<x>だけ秘匿シフトして、配列aをxだけ左シフトした配列a'=(a'[0], a'[1], …, a'[n-1])=(a[x], a[x+1], …, a[n-1], a[0], a[1], …, a[x-1])を秘匿化した秘匿文の配列<a'>=(<a'[0]>, <a'[1]>, …, <a'[n-1]>)を求める。すなわち、<a'>←Shift(<a>, <x>)を実行する。秘匿文の配列<a'>は配列生成部13へ送られる。
 ステップS13において、配列生成部13は、秘匿文の配列<a'>から、<b[j]>=<a'[ij]>(0≦j<m)として、配列b=(b[0], b[1], …, b[m-1])=(a'[i0], a'[i1], …, a'[im-1])を秘匿化した秘匿文の配列<b>=(<b[0]>, <b[1]>, …, <b[m-1]>)=(<a'[i0]>, <a'[i1]>, …, <a'[im-1]>)を生成する。
 ステップS14において、出力部14から、秘匿文の配列<b>が出力される。
 <第二実施形態>
 この発明の第二実施形態は、第一実施形態においてij=jとした構成、すなわち位置xから続くm個の要素を読み込む構成である。第二実施形態は、秘密計算や暗号化により秘匿化された大きさnの配列(<a[0]>, <a[1]>, …, <a[n-1]>)、位置を表す秘匿文<x>、および出力の大きさを表す平文mを入力とし、xやa[0], a[1], …, a[n-1]の値を明らかにすることなく、m個の秘匿文(<a[x mod n]>, <a[x+1 mod n]>, …, <a[x+m-1 mod n]>)を得る方法である。
 図4を参照して、第二実施形態の秘密計算方法の処理手続きを説明する。以下では、上述の第一実施形態との相違点を中心に説明する。
 ステップS11において、入力部11へ、大きさnの配列a=(a[0], a[1], …, a[n-1])を秘匿化した秘匿文の配列<a>=(<a[0]>, <a[1]>, …, <a[n-1]>)、0以上n未満の整数xの秘匿文<x>、および自然数mが入力される。秘匿文の配列<a>および秘匿文<x>は秘匿シフト部12へ送られる。自然数mは配列生成部13へ送られる。
 ステップS12において、秘匿シフト部12は、第一実施形態と同様に、秘匿文の配列<a>を<x>だけ秘匿シフトして、配列aをxだけ左シフトした配列a'=(a'[0], a'[1], …, a'[n-1])=(a[x], a[x+1], …, a[n-1], a[0], a[1], …, a[x-1])を秘匿化した秘匿文の配列<a'>=(<a'[0]>, <a'[1]>, …, <a'[n-1]>)を求める。すなわち、<a'>←Shift(<a>, <x>)を実行する。秘匿文の配列<a'>は配列生成部13へ送られる。
 ステップS13において、配列生成部13は、秘匿文の配列<a'>から、配列b=(b[0], b[1], …, b[m-1])=(a'[0], a'[1], …, a'[m-1])を秘匿化した秘匿文の配列<b>=(<b[0]>,<b[1]>, …, <b[m-1]>)=(<a'[0]>, <a'[1]>, …, <a'[m-1]>)を生成する。
 ステップS14において、出力部14から、秘匿文の配列<b>が出力される。
 この発明のポイントは、従来は秘匿文の配列すべてに対して比較を行うためにm回ずつ秘匿文の配列すべてを読み込む必要があったところ、m回の読み込み位置の相対位置を公開してよい場合に、1回の秘匿文のシフトのみで実現したことである。最初にxだけ秘匿文の配列を左にシフトしておくことで、x+ij番目の要素の読み込みはシフト後の配列のij番目の要素を取り出すだけで実現している。
 このように構成することにより、この発明の秘密計算技術によれば、n個の秘匿文の配列からx+i0, x+i1, …, x+im-1番目の要素の秘匿文を読み込む処理を、1回の秘匿シフト演算により実現することができる。相対位置が明らかになってよい秘匿読み込みを行う際に、従来の秘匿読み込みを繰り返し独立に行う場合はΩ(mn)の秘匿文の比較が必要だったが、この発明によれば1回の秘匿文の配列のシフト演算で実現できる。
 以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[プログラム、記録媒体]
 上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
 この発明の秘密計算技術は、情報を秘匿したまま、例えば、ゲノム情報の解析、統計計算、データベース処理、医療情報分析、顧客情報分析、売り上げ分析などを行うことに適用することが可能である。

Claims (7)

  1.  3台以上の秘密計算装置を含む秘密計算システムであって、
     上記秘密計算装置は、
      大きさnの配列a=(a[0], …, a[n-1])を秘匿化した秘匿文の配列<a>=(<a[0]>, …, <a[n-1]>)、0以上n未満の整数xの秘匿文<x>、およびm個の0以上n未満の整数i0, …, im-1を入力する入力部と、
      上記秘匿文の配列<a>を<x>だけ秘匿シフトして、上記配列aをxだけ左シフトした配列a'=(a'[0], …, a'[n-1])を秘匿化した秘匿文の配列<a'>=(<a'[0]>, …, <a'[n-1]>)を求める秘匿シフト部と、
      上記秘匿文の配列<a'>から秘匿文の配列<b>=(<a'[i0]>, …, <a'[im-1]>)を生成する配列生成部と、
     を含むものである秘密計算システム。
  2.  3台以上の秘密計算装置を含む秘密計算システムであって、
     上記秘密計算装置は、
      大きさnの配列a=(a[0], …, a[n-1])を秘匿化した秘匿文の配列<a>=(<a[0]>, …, <a[n-1]>)、0以上n未満の整数xの秘匿文<x>、および自然数mを入力する入力部と、
      上記秘匿文の配列<a>を<x>だけ秘匿シフトして、上記配列aをxだけ左シフトした配列a'=(a'[0], …, a'[n-1])を秘匿化した秘匿文の配列<a'>=(<a'[0]>, …, <a'[n-1]>)を求める秘匿シフト部と、
      上記秘匿文の配列<a'>から秘匿文の配列<b>=(<a'[0]>, …, <a'[m-1]>)を生成する配列生成部と、
     を含むものである秘密計算システム。
  3.  大きさnの配列a=(a[0], …, a[n-1])を秘匿化した秘匿文の配列<a>=(<a[0]>, …, <a[n-1]>)、0以上n未満の整数xの秘匿文<x>、およびm個の0以上n未満の整数i0, …, im-1を入力する入力部と、
     上記秘匿文の配列<a>を<x>だけ秘匿シフトして、上記配列aをxだけ左シフトした配列a'=(a'[0], …, a'[n-1])を秘匿化した秘匿文の配列<a'>=(<a'[0]>, …, <a'[n-1]>)を求める秘匿シフト部と、
     上記秘匿文の配列<a'>から秘匿文の配列<b>=(<a'[i0]>, …, <a'[im-1]>)を生成する配列生成部と、
     秘密計算装置。
  4.  大きさnの配列a=(a[0], …, a[n-1])を秘匿化した秘匿文の配列<a>=(<a[0]>, …, <a[n-1]>)、0以上n未満の整数xの秘匿文<x>、および自然数mを入力する入力部と、
     上記秘匿文の配列<a>を<x>だけ秘匿シフトして、上記配列aをxだけ左シフトした配列a'=(a'[0], …, a'[n-1])を秘匿化した秘匿文の配列<a'>=(<a'[0]>, …, <a'[n-1]>)を求める秘匿シフト部と、
     上記秘匿文の配列<a'>から秘匿文の配列<b>=(<a'[0]>, …, <a'[m-1]>)を生成する配列生成部と、
     秘密計算装置。
  5.  入力部へ、大きさnの配列a=(a[0], …, a[n-1])を秘匿化した秘匿文の配列<a>=(<a[0]>, …, <a[n-1]>)、0以上n未満の整数xの秘匿文<x>、およびm個の0以上n未満の整数i0, …, im-1が入力され、
     秘匿シフト部が、上記秘匿文の配列<a>を<x>だけ秘匿シフトして、上記配列aをxだけ左シフトした配列a'=(a'[0], …, a'[n-1])を秘匿化した秘匿文の配列<a'>=(<a'[0]>, …, <a'[n-1]>)を求め、
     配列生成部が、上記秘匿文の配列<a'>から秘匿文の配列<b>=(<a'[i0]>, …, <a'[im-1]>)を生成する、
     秘密計算方法。
  6.  入力部へ、大きさnの配列a=(a[0], …, a[n-1])を秘匿化した秘匿文の配列<a>=(<a[0]>, …, <a[n-1]>)、0以上n未満の整数xの秘匿文<x>、および自然数mが入力され、
     秘匿シフト部が、上記秘匿文の配列<a>を<x>だけ秘匿シフトして、上記配列aをxだけ左シフトした配列a'=(a'[0], …, a'[n-1])を秘匿化した秘匿文の配列<a'>=(<a'[0]>, …, <a'[n-1]>)を求め、
     配列生成部が、上記秘匿文の配列<a'>から秘匿文の配列<b>=(<a'[0]>, …, <a'[m-1]>)を生成する、
     秘密計算方法。
  7.  請求項3または4に記載の秘密計算装置としてコンピュータを機能させるためのプログラム。
PCT/JP2017/024149 2016-07-06 2017-06-30 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム WO2018008547A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018526339A JP6585846B2 (ja) 2016-07-06 2017-06-30 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
EP17824152.7A EP3483867B1 (en) 2016-07-06 2017-06-30 System, device, method, and program for indexing a secret-shared array with secure multiparty computations
CN201780038693.5A CN109416894B (zh) 2016-07-06 2017-06-30 秘密计算系统、秘密计算装置、秘密计算方法及记录介质
US16/313,233 US11200346B2 (en) 2016-07-06 2017-06-30 Secure computation for reading multiple elements from a secure text array

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016134090 2016-07-06
JP2016-134090 2016-07-06

Publications (1)

Publication Number Publication Date
WO2018008547A1 true WO2018008547A1 (ja) 2018-01-11

Family

ID=60901342

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/024149 WO2018008547A1 (ja) 2016-07-06 2017-06-30 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム

Country Status (5)

Country Link
US (1) US11200346B2 (ja)
EP (1) EP3483867B1 (ja)
JP (1) JP6585846B2 (ja)
CN (1) CN109416894B (ja)
WO (1) WO2018008547A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11456862B2 (en) * 2017-07-05 2022-09-27 Nippon Telegraph And Telephone Corporation Secure computation system, secure computation apparatus, secure computation method, and recording medium
JP7205623B2 (ja) * 2019-06-07 2023-01-17 日本電信電話株式会社 秘密共役勾配法計算システム、秘密計算装置、共役勾配法計算装置、秘密共役勾配法計算方法、共役勾配法計算方法、およびプログラム
AU2019461061B2 (en) * 2019-08-14 2023-03-30 Nippon Telegraph And Telephone Corporation Secure gradient descent computation method, secure deep learning method, secure gradient descent computation system, secure deep learning system, secure computation apparatus, and program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2816496A1 (en) * 2013-06-19 2014-12-24 Sophia Genetics S.A. Method to manage raw genomic data in a privacy preserving manner in a biobank
WO2016056503A1 (ja) * 2014-10-08 2016-04-14 日本電信電話株式会社 部分文字列位置検出装置、部分文字列位置検出方法及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5060119B2 (ja) * 2006-12-19 2012-10-31 株式会社富士通ビー・エス・シー 暗号処理プログラム、暗号処理方法および暗号処理装置
JP5337411B2 (ja) * 2008-06-13 2013-11-06 京セラドキュメントソリューションズ株式会社 情報秘匿化方法および情報秘匿化装置
JP5408608B2 (ja) * 2009-03-02 2014-02-05 公立大学法人大阪市立大学 暗号トラヒック識別装置及びそれを備える暗号トラヒック識別システム
US9292258B2 (en) * 2011-01-24 2016-03-22 Nippon Telegraph And Telephone Corporation Secure sum-of-product computation method, secure sum-of-product computation system, computation apparatus and programs therefor
US20130305033A1 (en) * 2011-02-01 2013-11-14 Francis Gerard Lacson Data encryption method
WO2012121333A1 (ja) * 2011-03-10 2012-09-13 日本電信電話株式会社 秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラム
ITTO20120462A1 (it) * 2012-05-28 2013-11-29 Alenia Aermacchi Spa Sistema e metodo di protezione di dati informativi
CN104429019B (zh) * 2012-07-05 2017-06-20 日本电信电话株式会社 秘密分散系统、数据分散装置、分散数据变换装置以及秘密分散方法
US20130204780A1 (en) 2013-01-10 2013-08-08 Sriram Karri System and method for purchasing socially
WO2014109066A1 (ja) * 2013-01-12 2014-07-17 三菱電機株式会社 鍵生成装置、鍵生成プログラム、秘匿検索システム及び鍵配布方法
US9628266B2 (en) * 2014-02-26 2017-04-18 Raytheon Bbn Technologies Corp. System and method for encoding encrypted data for further processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2816496A1 (en) * 2013-06-19 2014-12-24 Sophia Genetics S.A. Method to manage raw genomic data in a privacy preserving manner in a biobank
WO2016056503A1 (ja) * 2014-10-08 2016-04-14 日本電信電話株式会社 部分文字列位置検出装置、部分文字列位置検出方法及びプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
KOKI HAMADA ET AL.: "Privacy Preserving Fisher's Exact Test(2) For Large Samples", IEICE TECHNICAL REPORT, vol. 116, no. 132, 7 July 2016 (2016-07-07), pages 2546 - 2553, XP033508541 *
KOKI HAMADA; NAOTO KIRIBUCHI; DAI IKARASHI: "A round-efficient pattern matching algorithm for secure multi-party computation", COMPUTER SECURITY SYMPOSIUM, vol. 2014, October 2014 (2014-10-01), pages 674 - 681, XP003032484
See also references of EP3483867A4
YUJI WATANABE ET AL.: "Reducing the Message Size in Oblivious Automata Evaluation", IEICE TECHNICAL REPORT, vol. 111, no. 454, 23 February 2012 (2012-02-23), pages 31 - 35, XP055588295 *

Also Published As

Publication number Publication date
CN109416894B (zh) 2021-12-31
EP3483867A4 (en) 2020-01-22
JPWO2018008547A1 (ja) 2019-04-04
EP3483867B1 (en) 2022-04-20
CN109416894A (zh) 2019-03-01
US11200346B2 (en) 2021-12-14
JP6585846B2 (ja) 2019-10-02
EP3483867A1 (en) 2019-05-15
US20190163933A1 (en) 2019-05-30

Similar Documents

Publication Publication Date Title
CN107683502B (zh) 根据紧凑源代码生成加密函数参数
JP6534778B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
JP6583970B2 (ja) 秘密乱数合成装置、秘密乱数合成方法、およびプログラム
US20210125051A1 (en) Private transfer learning
JP7067632B2 (ja) 秘密シグモイド関数計算システム、秘密ロジスティック回帰計算システム、秘密シグモイド関数計算装置、秘密ロジスティック回帰計算装置、秘密シグモイド関数計算方法、秘密ロジスティック回帰計算方法、プログラム
JP6585846B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
Ibarrondo et al. Banners: Binarized neural networks with replicated secret sharing
JP5972181B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
JP7060115B2 (ja) 秘密配列アクセス装置、秘密配列アクセス方法、およびプログラム
JP6977882B2 (ja) 秘密一括近似システム、秘密計算装置、秘密一括近似方法、およびプログラム
JP6367959B2 (ja) 部分文字列位置検出装置、部分文字列位置検出方法及びプログラム
Lapworth Parallel encryption of input and output data for HPC applications
JP6467063B2 (ja) 秘密認証符号付加装置、秘密認証符号付加方法、およびプログラム
US11514192B2 (en) Secure reading apparatus, secure writing apparatus, method thereof, and program for reading and writing data in a sequence without revealing an access position
Temirbekova et al. Improving teachers’ skills to integrate the microcontroller technology in computer engineering education
WO2018008543A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
Schmid et al. Towards Private Deep Learning-Based Side-Channel Analysis Using Homomorphic Encryption: Opportunities and Limitations
JP7173328B2 (ja) 秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム
WO2019059069A1 (ja) 秘密読み書き装置、秘密読み書き方法、およびプログラム
JP7359225B2 (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: 17824152

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2018526339

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017824152

Country of ref document: EP

Effective date: 20190206