WO2023062834A1 - 秘密分割装置、秘密分割方法、及びプログラム - Google Patents

秘密分割装置、秘密分割方法、及びプログラム Download PDF

Info

Publication number
WO2023062834A1
WO2023062834A1 PCT/JP2021/038294 JP2021038294W WO2023062834A1 WO 2023062834 A1 WO2023062834 A1 WO 2023062834A1 JP 2021038294 W JP2021038294 W JP 2021038294W WO 2023062834 A1 WO2023062834 A1 WO 2023062834A1
Authority
WO
WIPO (PCT)
Prior art keywords
secret
vector
value
teacher data
permutation
Prior art date
Application number
PCT/JP2021/038294
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 PCT/JP2021/038294 priority Critical patent/WO2023062834A1/ja
Priority to JP2023553887A priority patent/JPWO2023062834A1/ja
Publication of WO2023062834A1 publication Critical patent/WO2023062834A1/ja

Links

Images

Classifications

    • 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

Definitions

  • the present invention relates to a secret division device, a secret division method, and a program.
  • a method called secure calculation is known as a method for obtaining a specific calculation result without restoring encrypted numerical values (for example, Non-Patent Document 1).
  • encryption is performed by distributing numerical fragments to three secure computing devices, and the three secure computing devices perform cooperative calculations to restore the numerical values without restoring them.
  • the results of addition and subtraction, constant addition, multiplication, constant multiplication, logical operations (negative, logical product, logical sum, exclusive logical sum), data format conversion (integer and binary numbers), etc. are distributed to three secure computing devices. can be obtained as
  • y[i], z[i], xj [i] and wj [i] represent the i-th elements of vectors y, z, xj and wj, respectively.
  • vector y, vector v j , permutation ⁇ j and vector b are input, and vector y', vector v j ' and permutation ⁇ j ' are repeatedly calculated.
  • v j is a vector obtained by rearranging the elements of x j in ascending order within the group
  • ⁇ j is a permutation of the elements of x j into v j
  • b is the division of each sample into groups under a certain condition.
  • a vector obtained by permuting the elements of z and w j , v j ' is a vector obtained by permuting the elements of x j ' in ascending order within the group, and ⁇ j ' is permuting the elements of x j ' to v j ' Substitution.
  • the vector x j is calculated, and the elements of the vector y and the elements of the vector x j are arranged in a new group according to the vector b.
  • the vector xj is calculated, and the elements of the vector y and the elements of the vector x j are arranged in a new group according to the vector b.
  • find a permutation that sorts the elements of vector xj ' within each group to be ⁇ j ' find a permutation that sorts the elements of vector xj ' within each group to be ⁇ j ', and permutes the elements of vector xj ' according to the permutation ⁇ j '. to obtain the vector v j '.
  • An embodiment of the present invention has been made in view of the above points, and aims to reduce the calculation cost when grouping data that has been grouped by secure calculation.
  • FIG. 11 is a flowchart showing an example of the flow of secret partitioning processing according to an embodiment
  • a value a that has been made confidential by encryption, secret sharing, etc. is called a confidential value of a, and is denoted as [[a]].
  • [[a]] refers to a set of secret sharing fragments possessed by each secure computing device.
  • An inverse mapping of a permutation ⁇ is called an inverse permutation and denoted by ⁇ ⁇ 1 .
  • FIG. 1 shows the hardware configuration of the secret splitting device 10 according to this embodiment.
  • the secret splitting device 10 according to the present embodiment is realized by the hardware configuration of a general computer or computer system. /F 104 , processor 105 and memory device 106 . Each of these pieces of hardware is communicably connected via a bus 107 .
  • the input device 101 is, for example, a keyboard, mouse, touch panel, physical button, or the like.
  • the display device 102 is, for example, a display, a display panel, or the like. Note that the secret splitting device 10 may not have at least one of the input device 101 and the display device 102, for example.
  • the external I/F 103 is an interface with an external device such as the recording medium 103a.
  • the secret partitioning device 10 can perform reading and writing of the recording medium 103 a via the external I/F 103 .
  • the recording medium 103a includes, for example, a CD (Compact Disc), a DVD (Digital Versatile Disk), an SD memory card (Secure Digital memory card), a USB (Universal Serial Bus) memory card, and the like.
  • the communication I/F 104 is an interface for connecting the secret splitting device 10 to the communication network.
  • the processor 105 is, for example, various arithmetic units such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit).
  • the memory device 106 is, for example, various storage devices such as HDD (Hard Disk Drive), SSD (Solid State Drive), RAM (Random Access Memory), ROM (Read Only Memory), and flash memory.
  • the secret partitioning device 10 has the hardware configuration shown in FIG. 1, so that secret partitioning processing, which will be described later, can be realized.
  • the hardware configuration shown in FIG. 1 is an example, and the secret splitting device 10 may have other hardware configurations.
  • the secret splitting device 10 may have multiple processors 105 and may have multiple memory devices 106 .
  • the input unit 201 inputs the confidential value of the grouped data.
  • the secret dividing unit 202 further groups the secret values input by the input unit 201 to calculate secret values of data by secret calculation.
  • the output unit 203 outputs the secret value calculated by the secret division unit 202.
  • FIG. The storage unit 204 stores data such as a secret value input by the input unit 201, a secret value output by the output unit 203, a secret value of calculation results (including intermediate calculation results) by the secret dividing unit 202, and the like.
  • StableSort([[x]]) represents the process of calculating the hidden value [[ ⁇ ]] of permutation ⁇ that stably sorts vector x from the hidden value [[x]] of vector x. and Note that sorting means rearranging in ascending order.
  • the explanatory variables have m attributes (m ⁇ 1) and the training data consisting of n samples is composed of a vector z of the objective variable of size n and a vector w j of m explanatory variables of size n ( j ⁇ [1, m]) is given to the secret splitting device 10 .
  • the elements of the vector z and the elements of each vector wj are rearranged while maintaining the correspondence between the objective variable and each explanatory variable so that the samples of the teacher data are grouped and the samples of the same group are consecutive. Let these be the vectors y and xj , respectively.
  • a vector representing the result of division In addition, y' and x j ' maintain the correspondence between the objective variable and each explanatory variable so that the samples in the same group are adjacent in new grouping after each group is further divided into groups according to b.
  • a vector obtained by permuting the elements of z and w j , v j ' is a vector obtained by permuting the elements of x j ' in ascending order within the group, and ⁇ j ' is permuting the elements of x j ' to v j ' Substitution.
  • Input vector of grouped explanatory variables [[y]], permutation [[ ⁇ j ]] that stably sorts the grouped explanatory variables within groups, stably sorted the grouped explanatory variables within groups vector [[v j ]], vector [[b]] representing the division result
  • Output vector of objective variables [[y']] newly grouped according to the splitting result, permutation [[ ⁇ j ']] that stably sorts the explanatory variables newly grouped according to the splitting result within the group, splitting A vector [[v j ']] stably sorted within groups of explanatory variables newly grouped according to the results
  • a decision tree can be learned by means of secure computation by repeatedly executing this secure partitioning process with inputs and outputs.
  • Step S101 The input unit 201 generates a vector of grouped objective variables [[y]], a permutation [[ ⁇ j ]] for stably sorting the grouped explanatory variables within the group, and a grouped explanation A vector [[v j ]] obtained by stably sorting variables within a group and a vector [[b]] representing the division result are input.
  • Step S104 The secret splitting unit 202 calculates a permutation [ [ ⁇ j ]] that stably sorts the vector [[b j ]] by [[ ⁇ j ]] ⁇ StableSort([[b j ]]).
  • Step S105 The secret splitting unit 202 replaces [[ ⁇ j ]] with vector [[v j ]] by [ [v j ′]] ⁇ Apply([[ ⁇ j ]], [[v j ]] ) to compute the vector of explanatory variables [[v j ']] stably sorted within the group after division.
  • Step S106 The secret splitting unit 202
  • Step S107 The secret splitting unit 202 applies the permutation [[ ⁇ ]] to the vector [[y]] by [[y′]] ⁇ Apply([[ ⁇ ]], [[y]]), A vector of grouped objective variables after division (that is, a vector of objective variables obtained by further grouping the grouped objective variables) [[y′]] is calculated.
  • Step S108 The output unit 203 stably sorts the target variable vector [[y′]] newly grouped according to the division result and the explanatory variables newly grouped according to the division result within the group.
  • ⁇ j ′]] and the vector [[v j ′]] obtained by stably sorting the explanatory variables newly grouped according to the division result within the group are output to a predetermined output destination (for example, the storage unit 204 or the like). .
  • explanatory variables grouped by secure calculation can be further grouped.
  • the secret values of y', vj ', and ⁇ j ' can be calculated without sorting xj .
  • This is based on the property that when new grouping by division is performed by stable sorting by division, the group configuration does not change even after permuting the order within each group.
  • the stability of the sorting guarantees that the variables will be sorted even within the new group after splitting. is. Therefore, in this embodiment, when grouping predictor variables grouped by secure calculation, the calculation cost can be reduced compared to the conventional method.
  • the secret splitting process of further grouping the data grouped by the secure calculation has been described. may execute a process of learning the decision tree by repeating the above-described secret partitioning process.
  • the secret splitting device 10 utilizes learned decision trees to perform various data analyzes and data classifications, and device control based on the analysis or classification results (for example, device control based on anomaly detection results). , etc.) may be executed.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

一実施形態に係る秘密分割装置は、m個の説明変数を持つ複数のサンプルで構成される教師データが、各サンプルの目的変数の値を要素とする目的変数ベクトルzと各サンプルのj番目の説明変数の値を要素とする説明変数ベクトルwj(j∈[1,m])の秘匿値として与えられ、前記教師データを構成するサンプルをグループに分割し、かつ、同一グループのサンプルが連続するように並べ替えるグループ化を秘密計算により実行する秘密分割装置であって、グループ化された前記教師データの目的変数ベクトルyの秘匿値と、グループ化された前記教師データのj番目の説明変数ベクトルをグループ内で安定ソートする置換σjの秘匿値と、グループ化された前記教師データのj番目の説明変数ベクトルをグループ内で安定ソートした説明変数ベクトルvjの秘匿値と、所定の条件で前記教師データをグループに分割したときの分割結果を表す分割結果ベクトルbの秘匿値とを入力する入力部と、前記分割結果ベクトルが表す分割結果に従って新たにグループ化された前記教師データの目的変数ベクトルy'の秘匿値と、前記分割結果に従って新たにグループ化された前記教師データのj番目の説明変数ベクトルをグループ内で安定ソートする置換σj'の秘匿値と、前記分割結果に従って新たにグループ化された前記教師データのj番目の説明変数ベクトルをグループ内で安定ソートした説明変数ベクトルvj'の秘匿値とを秘密計算により計算する秘密分割部と、を有する。

Description

秘密分割装置、秘密分割方法、及びプログラム
 本発明は、秘密分割装置、秘密分割方法、及びプログラムに関する。
 暗号化された数値を復元すること無く特定の演算結果を得る方法として、秘密計算(又は秘匿計算)と呼ばれる方法が知られている(例えば、非特許文献1)。非特許文献1に記載されている方法では、3つの秘密計算装置に数値の断片を分散させるという暗号化を行い、3つの秘密計算装置が協調計算を行うことにより、数値を復元すること無く、加減算、定数加算、乗算、定数倍、論理演算(否定、論理積、論理和、排他的論理和)、データ形式変換(整数と二進数)等の結果を3つの秘密計算装置に分散された状態として得ることができる。
 ここで、秘密計算により決定木の学習を行う場合、与えられた教師データを再帰的に分割しながら学習(すなわち、グループ分けされた教師データを更にグループ分けすることを再帰的に繰り返しながら学習)することが一般的である。
 例えば、説明変数がm属性(m≧1)でn個のサンプルからなる教師データが、大きさnの目的変数のベクトルzとm個の大きさnの説明変数のベクトルw(j∈[1,m])として与えられているものとする。また、教師データのサンプルをグループ分けして同じグループのサンプルが連続するように、目的変数と各説明変数との対応関係を維持したままベクトルzの要素と各ベクトルwの要素とを並べ替えたものをそれぞれベクトルy及びxとする。すなわち、大きさnの或る置換πが存在して、すべてのi∈[1,n]に対して、y[π(i)]=z[i]、かつ、すべてのj∈[1,m]に対してx[π(i)]=w[i]であり、更に並べ替え後のi番目のサンプルとj番目のサンプル(ただし、i<j)が同一グループであるならば任意のk∈[i,j]に対してk番目のサンプルも同一グループである。なお、y[i]、z[i]、x[i]、w[i]はそれぞれベクトルy、z、x、wのi番目の要素を表す。
 このとき、秘密計算による決定木の学習では、ベクトルy、ベクトルv、置換σ、ベクトルbを入力として、ベクトルy'、ベクトルv'、置換σ'を計算することを繰り返し行う。ただし、vはxの要素をグループ内で昇順に並べ替えたベクトル、σはxの要素を並べ替えてvにする置換、bは或る条件で各サンプルをグループに分割したときの分割結果を表すベクトルである。また、y'及びx'はbに従って各グループを更にグループに分割した後の新たなグループ分けで同じグループのサンプルが隣接するように、目的変数と各説明変数との対応関係を維持したままzとwの要素を並べ替えたベクトル、v'はx'の要素をグループ内で昇順に並べ替えたベクトル、σ'はx'の要素を並べ替えてv'にする置換である。
 また、ベクトルy'、ベクトルv'、置換σ'を計算する際には、ベクトルxを計算しておき、ベクトルyの要素とベクトルxの要素とをベクトルbに従って新しいグループに並べ替えてベクトルy'及びx'を得た後、ベクトルx'の要素を各グループ内でソートする置換を求めてσ'とし、置換σ'に従ってベクトルx'の要素を並べ替えることでベクトルv'を得る、といった手法が用いられる。
千田浩司, 濱田浩気, 五十嵐大, 高橋克巳. 軽量検証可能3 パーティ秘匿関数計算の再考. In CSS, 2010.
 しかしながら、上記の従来手法では、置換σ'を計算するときにベクトルx'の要素をソートする必要があるため、計算コストが大きいという問題点がある。
 本発明の一実施形態は、上記の点に鑑みてなされたもので、秘密計算によりグループ分けされたデータを更にグループ分けする場合の計算コストを削減することを目的とする。
 上記目的を達成するため、一実施形態に係る秘密分割装置は、m個の説明変数を持つ複数のサンプルで構成される教師データが、各サンプルの目的変数の値を要素とする目的変数ベクトルzと各サンプルのj番目の説明変数の値を要素とする説明変数ベクトルw(j∈[1,m])の秘匿値として与えられ、前記教師データを構成するサンプルをグループに分割し、かつ、同一グループのサンプルが連続するように並べ替えるグループ化を秘密計算により実行する秘密分割装置であって、グループ化された前記教師データの目的変数ベクトルyの秘匿値と、グループ化された前記教師データのj番目の説明変数ベクトルをグループ内で安定ソートする置換σの秘匿値と、グループ化された前記教師データのj番目の説明変数ベクトルをグループ内で安定ソートした説明変数ベクトルvの秘匿値と、所定の条件で前記教師データをグループに分割したときの分割結果を表す分割結果ベクトルbの秘匿値とを入力する入力部と、前記分割結果ベクトルが表す分割結果に従って新たにグループ化された前記教師データの目的変数ベクトルy'の秘匿値と、前記分割結果に従って新たにグループ化された前記教師データのj番目の説明変数ベクトルをグループ内で安定ソートする置換σ'の秘匿値と、前記分割結果に従って新たにグループ化された前記教師データのj番目の説明変数ベクトルをグループ内で安定ソートした説明変数ベクトルv'の秘匿値とを秘密計算により計算する秘密分割部と、を有する。
 秘密計算によりグループ分けされたデータを更にグループ分けする場合の計算コストを削減することができる。
本実施形態に係る秘密分割装置のハードウェア構成の一例を示す図である。 本実施形態に係る秘密分割装置の機能構成の一例を示す図である。 一実施例に係る秘密分割処理の流れの一例を示すフローチャートである。
 以下、本発明の一実施形態について説明する。本実施形態では、秘密計算によりグループ分けされたデータを更にグループ分けする場合にその計算コストを削減することができる秘密分割装置10について説明する。
 <記法、定義等>
 以下、本実施形態で用いる記法や定義等を説明する。
 値aを暗号化や秘密分散等により秘匿化したものをaの秘匿値と呼び、[[a]]と表記する。aが秘密分散により秘匿化された場合は、[[a]]により各秘密計算装置が持つ秘密分散の断片の集合を参照するものとする。
 ベクトルvのi番目の要素をv[i]により参照する。すなわち、ベクトルvが大きさnのとき、v=(v[1],v[2],・・・,v[n])である。
 大きさnの置換は{1,2,・・・,n}→{1,2,・・・,n}の全単射であり、大きさnの置換αが各i∈[1,・・・,n]についてα(i)=bを満たしているとき、
Figure JPOXMLDOC01-appb-M000001
と表記する。
 大きさnのベクトルvの要素を大きさnの置換αによってv'[α(i)]=v[i]となるように並べ替えたベクトルv'を作る操作を「適用」と呼び、v'=αvと表記する。また、以下では、混同が生じない場合には、ベクトルvの要素を並び替えることを単に「ベクトルvを並び替える」等と表記することがある。
 大きさnの置換π,σと各i∈[1,n]に対して、ρ(i)=π(σ(i))を満たすような大きさnの置換ρを置換πと置換σの合成と呼び、
Figure JPOXMLDOC01-appb-M000002
と表記する。
 置換πの逆写像を逆置換と呼び、π-1と表記する。
 <秘密分割装置10のハードウェア構成>
 本実施形態に係る秘密分割装置10のハードウェア構成を図1に示す。図1に示すように、本実施形態に係る秘密分割装置10は一般的なコンピュータ又はコンピュータシステムのハードウェア構成で実現され、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、プロセッサ105と、メモリ装置106とを有する。これら各ハードウェアは、それぞれがバス107を介して通信可能に接続される。
 入力装置101は、例えば、キーボード、マウス、タッチパネル、物理ボタン等である。表示装置102は、例えば、ディスプレイ、表示パネル等である。なお、秘密分割装置10は、例えば、入力装置101及び表示装置102のうちの少なくとも一方を有していなくてもよい。
 外部I/F103は、記録媒体103a等の外部装置とのインタフェースである。秘密分割装置10は、外部I/F103を介して、記録媒体103aの読み取りや書き込み等を行うことができる。なお、記録媒体103aには、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
 通信I/F104は、秘密分割装置10を通信ネットワークに接続するためのインタフェースである。プロセッサ105は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。メモリ装置106は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。
 本実施形態に係る秘密分割装置10は、図1に示すハードウェア構成を有することにより、後述する秘密分割処理を実現することができる。なお、図1に示すハードウェア構成は一例であって、秘密分割装置10は、他のハードウェア構成を有していてもよい。例えば、秘密分割装置10は、複数のプロセッサ105を有していてもよいし、複数のメモリ装置106を有していてもよい。
 <秘密分割装置10の機能構成>
 本実施形態に係る秘密分割装置10の機能構成を図2に示す。図2に示すように、本実施形態に係る秘密分割装置10は、入力部201と、秘密分割部202と、出力部203とを有する。これら各部は、例えば、秘密分割装置10にインストールされた1以上のプログラムが、プロセッサ105に実行させる処理により実現される。また、本実施形態に係る秘密分割装置10は、記憶部204を有する。記憶部204は、例えば、メモリ装置106により実現される。
 入力部201は、グループ化されたデータの秘匿値を入力する。秘密分割部202は、入力部201によって入力された秘匿値を更にグループ分けしたデータの秘匿値を秘密計算により計算する。出力部203は、秘密分割部202によって計算された秘匿値を出力する。記憶部204は、入力部201によって入力される秘匿値、出力部203によって出力された秘匿値、秘密分割部202による計算結果(途中の計算結果も含む)の秘匿値等といったデータを記憶する。
 <実施例>
 以下、一実施例について説明する。以下では、秘密分割装置10への入力、出力、途中の計算結果も含めデータはいずれも秘匿値であるものとするが、「の秘匿値」との記載を省略して表記することがあるものとする。例えば、置換πの秘匿値[[π]]を「置換[[π]]」といったように表記することがある。
 また、説明変数の属性数をm≧1とし、j∈[1,m]とする。更に、以下、いくつかの処理を定義する。
 [[π]]←StableSort([[x]])により、ベクトルxの秘匿値[[x]]からベクトルxを安定ソートする置換πの秘匿値[[π]]を計算する処理を表すものとする。なお、ソートは昇順に並べ替えることを意味するものとする。
 [[y]]←Apply([[π]],[[x]])により、ベクトルxの秘匿値[[x]]と置換πの秘匿値[[π]]からベクトルy=πxの秘匿値[[y]]を計算する処理を表すものとする。
 [[σ]]←[[π]]-1により、置換πの秘匿値[[π]]から置換σ=π-1の秘匿値[[σ]]を計算する処理を表すものとする。
Figure JPOXMLDOC01-appb-M000003
により、置換πの秘匿値[[π]]と置換σの秘匿値[[σ]]から置換
Figure JPOXMLDOC01-appb-M000004
の秘匿値[[ρ]]を計算する処理を表すものとする。
 本実施例では、説明変数がm属性(m≧1)でn個のサンプルからなる教師データが、大きさnの目的変数のベクトルzとm個の大きさnの説明変数のベクトルw(j∈[1,m])として秘密分割装置10に与えられているものとする。また、教師データのサンプルをグループ分けして同じグループのサンプルが連続するように、目的変数と各説明変数との対応関係を維持したままベクトルzの要素と各ベクトルwの要素とを並べ替えたものをそれぞれベクトルy及びxとする。すなわち、大きさnの或る置換πが存在して、すべてのi∈[1,n]に対して、y[π(i)]=z[i]、かつ、すべてのj∈[1,m]に対してx[π(i)]=w[i]であり、更に並べ替え後のi番目のサンプルとj番目のサンプル(ただし、i<j)が同一グループであるならば任意のk∈[i,j]に対してk番目のサンプルも同一グループである。
 このとき、本実施例に係る秘密分割装置10は、ベクトルyとベクトルvと置換σとベクトルbとを入力として、ベクトルy'とベクトルv'と置換σ'とを秘密計算により計算(つまり、各入出力の値や途中の計算結果を秘匿したままで計算)し、その計算結果を出力する秘密分割処理を実行する。ただし、vはxの要素をグループ内で昇順に並べ替えたベクトル、σはxの要素を並べ替えてvにする置換、bは或る所定の条件で各サンプルをグループに分割したときの分割結果を表すベクトルである。また、y'及びx'はbに従って各グループを更にグループに分割した後の新たなグループ分けで同じグループのサンプルが隣接するように、目的変数と各説明変数との対応関係を維持したままzとwの要素を並べ替えたベクトル、v'はx'の要素をグループ内で昇順に並べ替えたベクトル、σ'はx'の要素を並べ替えてv'にする置換である。
 すなわち、本実施例に係る秘密分割装置10が実行する秘密分割処理の入力及び出力は以下である。
 入力:グループ化された目的変数のベクトル[[y]]、グループ化された説明変数をグループ内で安定ソートする置換[[σ]]、グループ化された説明変数をグループ内で安定ソートしたベクトル[[v]]、分割結果を表すベクトル[[b]]
 出力:分割結果に従って新たにグループ化された目的変数のベクトル[[y']]、分割結果に従って新たにグループ化された説明変数をグループ内で安定ソートする置換[[σ']]、分割結果に従って新たにグループ化された説明変数をグループ内で安定ソートしたベクトル[[v']]
 この入出力を持つ秘密分割処理を繰り返し実行することで、秘密計算により決定木を学習することができる。
 以下、本実施例に係る秘密分割処理について、図3を参照しながら説明する。
 ステップS101:入力部201は、グループ化された目的変数のベクトル[[y]]と、グループ化された説明変数をグループ内で安定ソートする置換[[σ]]と、グループ化された説明変数をグループ内で安定ソートしたベクトル[[v]]と、分割結果を表すベクトル[[b]]とを入力する。
 ステップS102:秘密分割部202は、[[π]]←StableSort([[b]])により、分割結果を表すベクトル[[b]]を安定ソートする置換[[π]]を計算する。
 ステップS103:秘密分割部202は、[[b]]←Apply([[σ]],[[b]])により、グループ化された説明変数をグループ内で安定ソートする置換[[σ]]をベクトル[[b]]に適用して、グループ化された説明変数をグループ内で安定ソートしたベクトル[[v]]と同じ並びにしたベクトル[[b]]を計算する。
 ステップS104:秘密分割部202は、[[ρ]]←StableSort([[b]])により、ベクトル[[b]]を安定ソートする置換[[ρ]]を計算する。
 ステップS105:秘密分割部202は、[[v']]←Apply([[ρ]],[[v]])により、置換[[ρ]]をベクトル[[v]]に適用して、分割後のグループ内で安定ソートした説明変数のベクトル[[v']]を計算する。
 ステップS106:秘密分割部202は、
Figure JPOXMLDOC01-appb-M000005
により、分割後のグループ内で説明変数を安定ソートする置換[[σ']]を計算する。
 ステップS107:秘密分割部202は、[[y']]←Apply([[π]],[[y]])により、置換[[π]]をベクトル[[y]]に適用して、分割後のグループ化された目的変数のベクトル(つまり、グループ化された目的変数を更にグループ化した目的変数のベクトル)[[y']]を計算する。
 ステップS108:出力部203は、分割結果に従って新たにグループ化された目的変数のベクトル[[y']]と、分割結果に従って新たにグループ化された説明変数をグループ内で安定ソートする置換[[σ']]と、分割結果に従って新たにグループ化された説明変数をグループ内で安定ソートしたベクトル[[v']]とを所定の出力先(例えば、記憶部204等)に出力する。
 以上により、秘密計算によりグループ化された説明変数を更にグループ化することができる。しかも、このとき、本実施例では、xをソートすることなく、y'、v'、及びσ'の秘匿値を計算することができる。これは、分割による新たなグループ分けを分割による安定ソートで行う場合、各グループ内で順序を入れ替えた後に行ってもグループの構成が変わらないという性質を利用したものである。すなわち、分割前にグループ内でソート済みの説明変数を、分割による安定ソートで並べ替えを行うことで、ソートの安定性により分割後の新たなグループ内でもソート済みになることが保証されるためである。このため、本実施例では、秘密計算によりグループ化された説明変数を更にグループ化する際に、従来手法と比較して計算コストを削減することができる。
 ・具体例
 以下、具体的な分割例について説明する。なお、以下では、各数式内の縦棒「|」はグループ間の境界を表す。
 m=2、n=8として、ベクトルz及びw(j=1,2)を以下とする。
Figure JPOXMLDOC01-appb-M000006
 また、2番目、3番目、5番目、7番目、及び8番目のサンプルと1番目、4番目、及び6番目のサンプルでそれぞれグループ化され、この順序で並べ替えられて以下のベクトルy、x及びxが得られているものとする。
Figure JPOXMLDOC01-appb-M000007
 このとき、置換σ、ベクトルv、置換σ、及びベクトルvは、
Figure JPOXMLDOC01-appb-M000008
である。
 或る所定の条件で各サンプルをグループに分割したときの分割結果を表すベクトルbを以下とする。
Figure JPOXMLDOC01-appb-M000009
 ここで、ベクトルbは、i番目のサンプルとj番目のサンプルが現在同じグループに含まれていて、かつ、b[i]=b[j]であるときに分割後も同じグループに含まれることを表すベクトルであるものとする。
 ベクトルy'と同じ並びにベクトルxの要素を並べ替えたものをベクトルx'とすると、上記の秘密分割処理では、
Figure JPOXMLDOC01-appb-M000010
と計算される。
 <効果>
 秘密計算により決定木を学習する場合にはグループ化された教師データを分割して新たなグループ化で整列された教師データを作成する必要があり、そのためには、従来手法では、説明変数を新たな各グループ内で昇順にソートする必要があった。これに対して、本実施形態によれば、説明変数を新たな各グループ内で昇順にソートする必要がなくなり、分割結果のソート、置換の適用、置換の合成、及び逆置換の計算を行えばよく、その結果、計算コストが削減される。
 なお、本実施形態では、秘密計算により決定木を学習する場合を想定し、秘密計算によりグループ分けされたデータを更にグループ分けする秘密分割処理について説明したが、本実施形態に係る秘密分割装置10は、上記の秘密分割処理を繰り返すことにより当該決定木を学習する処理を実行してもよい。更に、本実施形態に係る秘密分割装置10は、学習された決定木を活用して、種々のデータ分析やデータ分類、それらの分析又は分類結果に基づく機器制御(例えば、異常検知結果に基づく機器の停止等の制御)等といった処理を実行してもよい。
 本発明は、具体的に開示された上記の実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
 10    秘密分割装置
 101   入力装置
 102   表示装置
 103   外部I/F
 103a  記録媒体
 104   通信I/F
 105   プロセッサ
 106   メモリ装置
 107   バス
 201   入力部
 202   秘密分割部
 203   出力部
 204   記憶部

Claims (5)

  1.  m個の説明変数を持つ複数のサンプルで構成される教師データが、各サンプルの目的変数の値を要素とする目的変数ベクトルzと各サンプルのj番目の説明変数の値を要素とする説明変数ベクトルw(j∈[1,m])の秘匿値として与えられ、前記教師データを構成するサンプルをグループに分割し、かつ、同一グループのサンプルが連続するように並べ替えるグループ化を秘密計算により実行する秘密分割装置であって、
     グループ化された前記教師データの目的変数ベクトルyの秘匿値と、グループ化された前記教師データのj番目の説明変数ベクトルをグループ内で安定ソートする置換σの秘匿値と、グループ化された前記教師データのj番目の説明変数ベクトルをグループ内で安定ソートした説明変数ベクトルvの秘匿値と、所定の条件で前記教師データをグループに分割したときの分割結果を表す分割結果ベクトルbの秘匿値とを入力する入力部と、
     前記分割結果ベクトルが表す分割結果に従って新たにグループ化された前記教師データの目的変数ベクトルy'の秘匿値と、前記分割結果に従って新たにグループ化された前記教師データのj番目の説明変数ベクトルをグループ内で安定ソートする置換σ'の秘匿値と、前記分割結果に従って新たにグループ化された前記教師データのj番目の説明変数ベクトルをグループ内で安定ソートした説明変数ベクトルv'の秘匿値とを秘密計算により計算する秘密分割部と、
     を有する秘密分割装置。
  2.  前記秘密分割部は、
     前記分割結果ベクトルbの要素を安定ソートする置換πの秘匿値を計算し、
     前記分割結果ベクトルbの要素を前記置換σで並べ替えた分割結果ベクトルbの秘匿値を計算し、
     前記分割結果ベクトルbの要素を安定ソートする置換ρの秘匿値を計算し、
     前記説明変数ベクトルvの要素を前記置換ρで並べ替えることで、前記説明変数ベクトルv'の秘匿値を計算し、
     前記置換ρと前記置換σと前記置換πの逆置換とを合成することで、前記置換σ'の秘匿値を計算し、
     前記目的変数ベクトルyの要素を前記置換πで並べ替えることで、前記目的変数ベクトルy'の秘匿値を計算する、請求項1に記載の秘密分割装置。
  3.  前記教師データは決定木を学習するためのデータであり、
     前記秘密分割装置は、
     前記入力部による入力と、前記秘密分割部による計算とを繰り返すことで、前記決定木を学習する、請求項1又は2に記載の秘密分割装置。
  4.  m個の説明変数を持つ複数のサンプルで構成される教師データが、各サンプルの目的変数の値を要素とする目的変数ベクトルzと各サンプルのj番目の説明変数の値を要素とする説明変数ベクトルw(j∈[1,m])の秘匿値として与えられ、前記教師データを構成するサンプルをグループに分割し、かつ、同一グループのサンプルが連続するように並べ替えるグループ化を秘密計算により実行する秘密分割装置が、
     グループ化された前記教師データの目的変数ベクトルyの秘匿値と、グループ化された前記教師データのj番目の説明変数ベクトルをグループ内で安定ソートする置換σの秘匿値と、グループ化された前記教師データのj番目の説明変数ベクトルをグループ内で安定ソートした説明変数ベクトルvの秘匿値と、所定の条件で前記教師データをグループに分割したときの分割結果を表す分割結果ベクトルbの秘匿値とを入力する入力手順と、
     前記分割結果ベクトルが表す分割結果に従って新たにグループ化された前記教師データの目的変数ベクトルy'の秘匿値と、前記分割結果に従って新たにグループ化された前記教師データのj番目の説明変数ベクトルをグループ内で安定ソートする置換σ'の秘匿値と、前記分割結果に従って新たにグループ化された前記教師データのj番目の説明変数ベクトルをグループ内で安定ソートした説明変数ベクトルv'の秘匿値とを秘密計算により計算する秘密分割手順と、
     を実行する秘密分割方法。
  5.  コンピュータを、請求項1乃至3の何れか一項に記載の秘密分割装置として機能させるプログラム。
PCT/JP2021/038294 2021-10-15 2021-10-15 秘密分割装置、秘密分割方法、及びプログラム WO2023062834A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/038294 WO2023062834A1 (ja) 2021-10-15 2021-10-15 秘密分割装置、秘密分割方法、及びプログラム
JP2023553887A JPWO2023062834A1 (ja) 2021-10-15 2021-10-15

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/038294 WO2023062834A1 (ja) 2021-10-15 2021-10-15 秘密分割装置、秘密分割方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2023062834A1 true WO2023062834A1 (ja) 2023-04-20

Family

ID=85988187

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/038294 WO2023062834A1 (ja) 2021-10-15 2021-10-15 秘密分割装置、秘密分割方法、及びプログラム

Country Status (2)

Country Link
JP (1) JPWO2023062834A1 (ja)
WO (1) WO2023062834A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019225401A1 (ja) * 2018-05-25 2019-11-28 日本電信電話株式会社 秘密集約関数計算システム、秘密計算装置、秘密集約関数計算方法、およびプログラム
WO2021144840A1 (ja) * 2020-01-14 2021-07-22 日本電信電話株式会社 暗号化データ分析装置、暗号化データ分析方法、プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019225401A1 (ja) * 2018-05-25 2019-11-28 日本電信電話株式会社 秘密集約関数計算システム、秘密計算装置、秘密集約関数計算方法、およびプログラム
WO2021144840A1 (ja) * 2020-01-14 2021-07-22 日本電信電話株式会社 暗号化データ分析装置、暗号化データ分析方法、プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HAMADA, KOKI: "An efficient decision tree training algorithm for secure multiparty computation", COMPUTER SECURITY SYMPOSIUM 2020; OCTOBER 26-29, 2020, INFORMATION PROCESSING SOCIETY OF JAPAN (IPSJ), 19 October 2020 (2020-10-19) - 29 October 2020 (2020-10-29), pages 1126 - 1133, XP009545547 *

Also Published As

Publication number Publication date
JPWO2023062834A1 (ja) 2023-04-20

Similar Documents

Publication Publication Date Title
Shao et al. Online multi-view clustering with incomplete views
Yang et al. A unified semi-supervised community detection framework using latent space graph regularization
Matthew et al. Bayesian and empirical Bayesian forests
Bergamaschi et al. Homomorphic training of 30,000 logistic regression models
Christensen et al. Comparing community detection algorithms in psychometric networks: A Monte Carlo simulation
Kostov et al. TBA and tree expansion
JP2014164145A (ja) 秘密集合演算装置及び方法
JP7505570B2 (ja) 秘密決定木テスト装置、秘密決定木テストシステム、秘密決定木テスト方法、及びプログラム
Xu et al. Bayesian grouped horseshoe regression with application to additive models
WO2023062834A1 (ja) 秘密分割装置、秘密分割方法、及びプログラム
Grzegorowski Governance of the redundancy in the feature selection based on rough sets’ reducts
Hiraishi et al. BDD operations for quantum graph states
WO2022079909A1 (ja) 秘密グループ分け装置、秘密グループ分けシステム、秘密グループ分け方法、及びプログラム
CN105917400A (zh) 元素复制装置、元素复制方法、以及程序
WO2021214833A1 (ja) 学習装置、異常検知装置、学習方法及び異常検知方法
Cui et al. Multi-modes cascade svms: Fast support vector machines in distributed system
Gushanskiy et al. Development of a scheme of a hardware accelerator of quantum computing for correction quantum types of errors
CN111133495B (zh) 秘密读取装置、秘密写入装置、它们的方法以及记录介质
JP6682105B2 (ja) フィッシャー正確検定計算装置、方法及びプログラム
Tran et al. Synthesis of reversible circuits based on EXORs of products of EXORs
JP7494932B2 (ja) 秘密決定木テスト装置、秘密決定木テストシステム、秘密決定木テスト方法、及びプログラム
JP2014203182A (ja) フーリエ変換計算方法、量子回路
US20230376790A1 (en) Secret decision tree learning apparatus, secret decision tree learning system, secret decision tree learning method, and program
Heusinger et al. Random Projection in supervised non-stationary environments.
WO2022264237A1 (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: 21960687

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023553887

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE