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

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

Info

Publication number
WO2019221108A1
WO2019221108A1 PCT/JP2019/019092 JP2019019092W WO2019221108A1 WO 2019221108 A1 WO2019221108 A1 WO 2019221108A1 JP 2019019092 W JP2019019092 W JP 2019019092W WO 2019221108 A1 WO2019221108 A1 WO 2019221108A1
Authority
WO
WIPO (PCT)
Prior art keywords
share
secret
group
vector
restored
Prior art date
Application number
PCT/JP2019/019092
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 US17/052,214 priority Critical patent/US11868510B2/en
Priority to AU2019270715A priority patent/AU2019270715B2/en
Priority to CN201980032242.XA priority patent/CN112119441B/zh
Priority to EP19804444.8A priority patent/EP3796290B1/en
Priority to JP2020519650A priority patent/JP7017178B2/ja
Publication of WO2019221108A1 publication Critical patent/WO2019221108A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • GPHYSICS
    • 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
    • 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 calculation technique, and more particularly to a technique for calculating an aggregate function while maintaining confidentiality.
  • the aggregate function is an operation for obtaining a statistical value grouped based on the value of the key attribute when the table has the key attribute and the value attribute.
  • Aggregate functions are also called group-by operations.
  • the key attribute is an attribute used for grouping the records in the table, and examples thereof include a job title and sex.
  • the value attribute is an attribute used to calculate a statistical value, and examples thereof include salary and height.
  • the group-by operation is, for example, an operation for obtaining an average height for each gender when the key attribute is gender.
  • the key attribute may be a composite key with a plurality of attributes. For example, when the key attribute is gender and age, the average height of males in teens, the average height of males in their 20s, etc. There may be.
  • Non-Patent Document 1 describes a method of performing a group-by operation by a secret calculation.
  • the cross tabulation is one of the aggregation functions, and is an operation for counting the number of records in each group when the table is grouped based on the value of the key attribute.
  • Cross tabulation is also called group-by count.
  • the group-by count is, for example, an operation for obtaining the number of males in their teens, the number of males in their 20s, and so on when the key attributes are sex and age.
  • An object of the present invention is to provide a technique capable of efficiently obtaining a group-by count while keeping confidentiality in view of the above technical problems.
  • the group-by count can be efficiently obtained from the number of communication times O (1) while maintaining the secrecy.
  • FIG. 1 is a diagram illustrating a functional configuration of the secret cross tabulation system.
  • FIG. 2 is a diagram illustrating a functional configuration of the secret computing device.
  • FIG. 3 is a diagram illustrating a processing procedure of the secret cross tabulation method.
  • FIG. 4 is a diagram illustrating a functional configuration of a secret computing device according to a modification.
  • [x] ⁇ [F] represents that a certain value x is concealed by secret sharing on an arbitrary ring F.
  • ⁇ b ⁇ ⁇ ⁇ B ⁇ represents that a certain value b of 1 bit is concealed by secret sharing on ring B that can represent 1 bit.
  • ⁇ s ⁇ ⁇ ⁇ S m ⁇ represents that a certain substitution s belonging to the m element substitution set S m is concealed by secret sharing or the like.
  • the secret-distributed value is also referred to as “share”.
  • the sort described in Reference Document 1 below can be used.
  • the hybrid substitution ⁇ described in Reference Document 1 below may be used.
  • the secret cross tabulation system 100 includes N ( ⁇ 2) secret computing devices 1 1 ,..., 1 N.
  • the secret computing devices 1 1 ,..., 1 N are each connected to the communication network 2.
  • the communication network 2 is a circuit-switched or packet-switched communication network configured such that connected devices can communicate with each other.
  • the Internet a LAN (Local Area Network), or a WAN (Wide Area Network). Etc. can be used.
  • Each device does not necessarily need to be able to communicate online via the communication network 2.
  • secure computing apparatus 1 1, ..., and stores information to be input to the 1 N in a portable recording medium such as a magnetic tape or a USB memory, secure computing apparatus 1 1 from the portable recording medium, ..., offline to 1 N You may comprise so that it may input.
  • a portable recording medium such as a magnetic tape or a USB memory
  • the secret calculation device 1 n includes, for example, an input unit 10, a flag conversion unit 11, a boundary number setting unit 12, a sort unit 13, a count calculation unit 14, and an output unit 15, as shown in FIG.
  • the secret cross tabulation method of the embodiment is realized.
  • the secret computing device 1 n is configured, for example, by loading a special program into a known or dedicated computer having a central processing unit (CPU), a main storage (RAM), and the like. It is a special device.
  • the secret computing device 1 n executes each process under the control of the central processing unit.
  • the data input to the secret computing device 1 n and the data obtained by each processing 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 n may be configured by hardware such as an integrated circuit.
  • step S10 the input unit 10 of each secret computing device 1 n uses the share ⁇ e ⁇ ⁇ ⁇ B ⁇ m in which the flag e ⁇ B m is concealed by secret sharing and the share ⁇ in which the substitution ⁇ is concealed by secret sharing.
  • ⁇ ⁇ ⁇ S m ⁇ and the maximum number of groups g are received as inputs.
  • m is an integer of 2 or more.
  • the input unit 10 outputs the share ⁇ e ⁇ of the flag e to the flag conversion unit 11. Further, the input unit 10 outputs the replacement ⁇ share ⁇ to the sorting unit 13.
  • the flag e is a flag representing a group boundary.
  • the flag e is a value corresponding to the last element of each group (that is, the element immediately before the boundary of the group) with records having the same key attribute value as the same group when the table is stably sorted by the key attribute. Is a flag that becomes true (for example, 1) and values corresponding to other elements are false (for example, 0).
  • the stable sort is an operation that preserves the order of elements having the same value when elements having the same value exist in the sort operation. For example, if a table sorted in order of employee numbers is stably sorted by gender, a sort result in which the order of employee numbers is maintained in each gender is obtained.
  • the replacement ⁇ is a replacement in which the key attribute values of each group are arranged one by one from the top.
  • the replacement ⁇ when the table is stably sorted by the key attribute, records having the same key attribute value are grouped in the same group, the last element of each group is arranged in order from the top, and the other elements are arranged in order. Is a replacement that moves to
  • the maximum group number g is the number of combinations of values that the key attribute can take, that is, the number of types of values that the key attribute can take.
  • step S11 the flag conversion unit 11 of each secret computing device 1 n converts the share ⁇ e ⁇ ⁇ ⁇ B ⁇ m of the flag e into a share [e] ⁇ [F] m by secret sharing on an arbitrary ring F To do.
  • the flag conversion unit 11 outputs the share [e] of the flag e to the boundary number setting unit 12.
  • “?” Is a conditional operator (or ternary operator).
  • step S13 the sorting unit 13 of each secret computing device 1 n uses the share [x] of the vector x and the share ⁇ of the replacement ⁇ , and after sorting, sorts the vector x by the replacement ⁇ .
  • a share [ ⁇ (x)] ⁇ [F] m that is a vector ⁇ (x) is generated.
  • the sorting unit 13 outputs the share [ ⁇ (x)] of the sorted vector ⁇ (x) to the count calculation unit 14.
  • step S14 the count calculation unit 14 of each secret computing device 1 n uses the share [ ⁇ (x)] of the sorted vector ⁇ (x) to each integer between 1 and min (g, m) ⁇ 1.
  • step S15 the output unit 15 of each secret computing device 1 n outputs a share [c] of the number of records c.
  • a bit decomposition unit 21, a group sort generation unit 22, a bit string sort unit 23, a flag generation unit 24, and a key aggregation sort generation unit 25 are included. Only differences from the secret cross tabulation system of the embodiment will be described below.
  • the input unit 10 of each secret computing device 3 n has shares [k 0 ],..., [K nk-1 , in which n k key attributes k 0 , ..., k nk-1 ⁇ F m are concealed by secret sharing. ] ⁇ [F] m and, n a number of value attributes v 0, ..., v na- 1 ⁇ F m share was concealed respectively by secret dispersion [v 0], ..., [ v na-1] ⁇ [F ] Takes m as input. However, n k, n a represents an integer of 1 or more.
  • Input unit 10 key attribute k 0, ..., k nk- 1 share [k 0], ..., and outputs the bit decomposition section 21 [k nk-1].
  • ⁇ b i ⁇ is the i-th element [k 0, i ],..., each of the shares [k 0 ],..., [k nk-1 ] of the key attributes k 0 ,..., k nk-1 . It is a bit string that combines the bit representations of [k nk-1, i ].
  • the bit decomposition unit 21 outputs the share ⁇ b ⁇ of the bit string b to the group sort generation unit 22.
  • the group sort generation unit 22 of each secret computing device 3 n uses the share ⁇ b ⁇ of the bit string b to restore a share ⁇ 0 ⁇ ⁇ that becomes a replacement ⁇ 0 for stable sorting of the bit string b in ascending order when restored. Generate ⁇ S m ⁇ . Since the bit string b is a combination of the bit representations of the key attributes k 0 ,..., k nk ⁇ 1 , the replacement ⁇ 0 is made so that records having the same value of the key attributes k 0 ,..., k nk-1 are consecutive. It can be said that it is an operation of rearranging and grouping. The group sort generation unit 22 outputs the share ⁇ b ⁇ of the bit string b and the share ⁇ 0 ⁇ of the replacement ⁇ 0 to the bit string sort unit 23.
  • the bit string sorting unit 23 outputs the share ⁇ b ′ ⁇ of the sorted bit string b ′ to the flag generation unit 24.
  • Flag e i because true is set when the sorted bit sequence b 'i th element b of' i is i + 1 th element b 'i + 1 is different from the last element of each group (i.e., Group It is a flag indicating the element immediately before the boundary between them.
  • the flag generation unit 24 outputs the share ⁇ e ⁇ of the flag e to the key aggregation sort generation unit 25. Further, the flag generation unit 24 outputs the share ⁇ e ⁇ of the flag e to the flag conversion unit 11.
  • the key aggregation / sort generation unit 25 of each secret computing device 3 n first uses the share ⁇ e ⁇ of the flag e to restore a share ⁇ e ′ ⁇ ⁇ ⁇ which becomes a flag e ′ which is a negative e of the flag e when restored.
  • the key aggregation / sort generation unit 25 uses the share ⁇ e ′ ⁇ of the flag e ′ to restore a share ⁇ ⁇ ⁇ that becomes a replacement ⁇ for stably sorting the flag e ′ in ascending order when restored.
  • S m The key aggregation sort generation unit 25 outputs the share ⁇ of the replacement ⁇ to the sorting unit 13.
  • 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.
  • the computer reads the program stored in its own storage device, and executes the process according to the read program.
  • the computer may directly read the program from the 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 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.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

秘匿性を保ったままクロス集計を効率的に求める。フラグ変換部(11)は、グループの境界を表すフラグのシェアを形式変換する。境界番号設定部(12)は、グループの境界を表すフラグが真のとき次の要素番号を設定し、フラグが偽のときレコード数を設定したベクトルのシェアを生成する。ソート部(13)は、ベクトルを各グループの最後の要素を先頭から順に並ぶように移動する置換でソートしたソート済みベクトルのシェアを生成する。カウント計算部(14)は、ソート済みベクトルのある要素の値と前の要素の値との差を設定して各グループのレコード数を表すベクトルのシェアを生成する。

Description

秘密クロス集計システム、秘密計算装置、秘密クロス集計方法、およびプログラム
 この発明は秘密計算技術に関し、特に、秘匿性を保ったまま集約関数を計算する技術に関する。
 集約関数は、テーブルにキー属性とバリュー属性があるときに、キー属性の値に基づいてグループ分けした統計値を得る演算である。集約関数は、group-by演算とも呼ばれる。キー属性は、テーブルのレコードをグループ分けするために用いる属性であり、例えば、役職や性別などが挙げられる。バリュー属性は、統計値を計算するために用いる属性であり、例えば、給料や身長などが挙げられる。group-by演算は、例えば、キー属性が性別のときに、男女別の平均身長を求める演算などである。キー属性は複数の属性による複合キーであってもよく、例えば、キー属性が性別と年齢のときに、10代男性の平均身長、20代男性の平均身長、・・・を得るような演算であってもよい。非特許文献1には、group-by演算を秘密計算で行う方法が記載されている。
 クロス集計は、集約関数の一つであり、テーブルをキー属性の値に基づいてグループ分けしたときに、各グループのレコード数を集計する演算である。クロス集計は、group-byカウントとも呼ばれる。group-byカウントは、例えば、キー属性が性別と年齢のときに、10代男性の人数、20代男性の人数、・・・を得るような演算である。
五十嵐大,千田浩司,濱田浩気,高橋克巳,"軽量検証可能3パーティ秘匿関数計算の効率化及びこれを用いたセキュアなデータベース処理",2011年暗号と情報セキュリティシンポジウム
 従来の秘密計算技術では、group-byカウントを求めるために、nを計算主体の数としてlog(n)の通信回数が必要となり、効率が悪かった。
 この発明の目的は、上記のような技術的課題に鑑みて、秘匿性を保ったままgroup-byカウントを効率的に求めることができる技術を提供することである。
 上記の課題を解決するために、この発明の一態様の秘密クロス集計システムは、複数の秘密計算装置を含む秘密クロス集計システムであって、mは2以上の整数であり、[e]:=[e0], …, [em-1]はキー属性とバリュー属性とからなるテーブルをキー属性の値に基づいてグループ分けしたときに各グループの最後の要素が真、その他の要素が偽であるフラグe:=e0, …, em-1を秘密分散したシェアであり、{{σ}}はテーブルをキー属性の値に基づいてグループ分けしたときに各グループの最後の要素が先頭から順に並ぶように移動する置換σを秘密分散したシェアであり、gはグループの最大数であり、秘密計算装置は、シェア[e]を用いて、0以上m-1以下の各整数iについて、[ei]が真のとき[xi]:=[i+1]を設定し、[ei]が偽のとき[xi]:=[m]を設定して、復元するとベクトルx:=x0, …, xm-1となるシェア[x]を生成する境界番号設定部と、シェア[x]とシェア{{σ}}とを用いて、復元するとベクトルxを置換σでソートしたソート済みベクトルσ(x)となるシェア[σ(x)]を生成するソート部と、シェア[σ(x)]を用いて、1以上min(g,m)-1以下の各整数iについて[ci]:=[σ(x)i-σ(x)i-1]を設定し、かつ、[c0]:=[σ(x)0]を設定して、復元すると各グループのレコード数を表すベクトルc:=c0, …, cmin(g,m)-1となるシェア[c]を生成するカウント計算部と、を含む。
 この発明の秘密クロス集計技術によれば、秘匿性を保ったままgroup-byカウントをO(1)の通信回数で効率的に求めることができる。
図1は、秘密クロス集計システムの機能構成を例示する図である。 図2は、秘密計算装置の機能構成を例示する図である。 図3は、秘密クロス集計方法の処理手続きを例示する図である。 図4は、変形例の秘密計算装置の機能構成を例示する図である。
 以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
 [x]∈[F]は、ある値xが任意の環F上の秘密分散等により秘匿されていることを表す。{b}∈{B}は、1ビットのある値bが1ビットを表せる環B上の秘密分散等により秘匿されていることを表す。{{s}}∈{{Sm}}は、m個の要素の置換の集合Smに属するある置換sが秘密分散等により秘匿されていることを表す。以下、秘密分散された値を「シェア」とも呼ぶ。
 実施形態中で用いる秘密計算におけるソート処理(安定ソートを含む)は、例えば、下記参考文献1に記載されたソートを用いることができる。置換sのシェア{{s}}については下記参考文献1に記載されたハイブリッド置換{{π}}を用いればよい。
 〔参考文献1〕五十嵐大,濱田浩気,菊池亮,千田浩司,“超高速秘密計算ソートの設計と実装: 秘密計算がスクリプト言語に並ぶ日”,CSS2017
 <実施形態>
 図1を参照して、実施形態の秘密クロス集計システム100の構成例を説明する。秘密クロス集計システム100は、N(≧2)台の秘密計算装置11, …, 1Nを含む。本形態では、秘密計算装置11, …, 1Nはそれぞれ通信網2へ接続される。通信網2は、接続される各装置が相互に通信可能なように構成された回線交換方式もしくはパケット交換方式の通信網であり、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などを用いることができる。なお、各装置は必ずしも通信網2を介してオンラインで通信可能である必要はない。例えば、秘密計算装置11, …, 1Nへ入力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体から秘密計算装置11, …, 1Nへオフラインで入力するように構成してもよい。
 図2を参照して、秘密クロス集計システム100に含まれる秘密計算装置1n(n=1, …, N)の構成例を説明する。秘密計算装置1nは、例えば、図2に示すように、入力部10、フラグ変換部11、境界番号設定部12、ソート部13、カウント計算部14、および出力部15を含む。この秘密計算装置1n(1≦n≦N)が他の秘密計算装置1n'(n'=1, …, N、ただしn≠n')と協調しながら後述する各ステップの処理を行うことにより実施形態の秘密クロス集計方法が実現される。
 秘密計算装置1nは、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。秘密計算装置1nは、例えば、中央演算処理装置の制御のもとで各処理を実行する。秘密計算装置1nに入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。秘密計算装置1nの各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
 図3を参照して、実施形態の秘密クロス集計システム100が実行する秘密クロス集計方法の処理手続きを説明する。
 ステップS10において、各秘密計算装置1nの入力部10は、フラグe∈Bmを秘密分散により秘匿したシェア{e}∈{B}mと、置換σを秘密分散により秘匿したシェア{{σ}}∈{{Sm}}と、最大グループ数gとを入力として受け取る。ただし、mは2以上の整数である。入力部10は、フラグeのシェア{e}をフラグ変換部11へ出力する。また、入力部10は、置換σのシェア{{σ}}をソート部13へ出力する。
 フラグeは、グループの境界を表すフラグである。例えば、フラグeは、テーブルをキー属性で安定ソートしたときに同じキー属性の値をもつレコードを同じグループとして、各グループの最後の要素(すなわち、グループの境界の直前の要素)に該当する値が真(例えば1)となり、その他の要素に該当する値が偽(例えば0)となるフラグである。なお、安定ソートとは、ソート演算のうち、同じ値の要素が存在した場合に、同じ値の要素同士の順序を保存する演算である。例えば、社員番号順でソートされたテーブルに対して性別で安定ソートすると、各性別の中で社員番号順が保たれているソート結果が得られる。以下、{e}∈{B}mの各要素は、{ei}∈{B}(i=0, …, m-1)で参照することもある。
 置換σは、各グループのキー属性の値を先頭から1つずつ並べる置換である。例えば、置換σは、テーブルをキー属性で安定ソートしたときに同じキー属性の値をもつレコードを同じグループとして、各グループの最後の要素が先頭から順に並び、続いて他の要素が順に並ぶように移動する置換である。
 最大グループ数gは、キー属性が取り得る値の組み合わせの数、すなわち、キー属性が取り得る値の種類の数である。
 ステップS11において、各秘密計算装置1nのフラグ変換部11は、フラグeのシェア{e}∈{B}mを任意の環F上の秘密分散によるシェア[e]∈[F]mに変換する。フラグ変換部11は、フラグeのシェア[e]を境界番号設定部12へ出力する。
 ステップS12において、各秘密計算装置1nの境界番号設定部12は、フラグeのシェア[e]を用いて、0以上m-1以下の各整数iについて[xi]:=[ei?i+1:m]を設定し、復元するとベクトルx:=x0, …, xm-1∈Fとなるシェア[x]∈[F]mを生成する。ここで、「?」は条件演算子(または三項演算子)である。すなわち、[ei]が真(例えば、[ei]=[1])のときは[xi]:=[i+1]を設定し、[ei]が偽(例えば、[ei]=[0])のときは[xi]:=[m]を設定する。ベクトルxは、テーブルをキー属性で安定ソートしたときに同じキー属性の値をもつレコードを同じグループとして、各グループの最後の要素には次の要素の先頭からの位置が設定され、その他の要素にはテーブル全体のレコード数が設定されたベクトルとなる。言い替えると、各グループの最後の要素には、先頭のグループからそのグループまでの各グループのレコード数を積み上げた合計値が設定されることになる。境界番号設定部12は、ベクトルxのシェア[x]をソート部13へ出力する。
 ステップS13において、各秘密計算装置1nのソート部13は、ベクトルxのシェア[x]と置換σのシェア{{σ}}とを用いて、復元するとベクトルxを置換σでソートしたソート済みベクトルσ(x)となるシェア[σ(x)]∈[F]mを生成する。以下、[σ(x)]∈[F]mの各要素は、[σ(x)i]∈[F](i=0, …, m-1)で参照することもある。ソート部13は、ソート済みベクトルσ(x)のシェア[σ(x)]をカウント計算部14へ出力する。
 ステップS14において、各秘密計算装置1nのカウント計算部14は、ソート済みベクトルσ(x)のシェア[σ(x)]を用いて、1以上min(g,m)-1以下の各整数iについて[ci]:=[σ(x)i-σ(x)i-1]を設定し、かつ、[c0]:=[σ(x)0]を設定して、復元すると各グループのレコード数を表すベクトルc:=c0, …, cmin(g,m)-1∈Fとなるシェア[c]∈[F]min(g,m)を生成する。ソート済みベクトルσ(x)のi番目の要素σ(x)iは、0番目からi番目までの各グループのレコード数を積み上げた合計値が設定されているため、ベクトルcのi番目の要素ciには、i番目のグループのレコード数が設定されることになる。なお、キー属性は秘匿されているため、min(g,m)はグループ数が取り得る最大値であり、実際のグループ数はmin(g,m)以下の各秘密計算装置1nには知り得ない値(以下、実際のグループ数をg'とする)となる。したがって、min(g,m)個のシェア[ci]の中で実際のグループ数を超えるもの(すなわち、i≧g')には、復元後に有効な値と識別可能となる無効な値を設定しておく必要がある。本形態では、[ei]が偽のシェア[xi]もしくは[ei]が真のうち最後のシェア[xi]には[xi]=mを設定している。これにより、cg', …, cmin(g,m)-1にはσ(x)i-σ(x)i-1=m-m=0が設定される。レコードが存在するグループのカウント数は1以上であるため、0は有効な値と識別可能となる無効な値として成立している。カウント計算部14は、レコード数cのシェア[c]を出力部15へ出力する。
 ステップS15において、各秘密計算装置1nの出力部15は、レコード数cのシェア[c]を出力する。
 <変形例>
 上記の実施形態では、入力部10へフラグeのシェア{e}と置換σのシェア{{σ}}とが入力される構成を説明した。変形例では、入力部10へテーブルを秘密分散等により秘匿したシェアが入力され、フラグeのシェア{e}と置換σのシェア{{σ}}とを求めてから、実施形態で説明した手順に従ってgroup-byカウントを計算する構成を説明する。
 変形例の秘密計算装置3n(n=1, …, N)は、例えば、図4に示すように、実施形態の秘密計算装置1n(n=1, …, N)が備える各処理部に加えて、ビット分解部21、グループソート生成部22、ビット列ソート部23、フラグ生成部24、およびキー集約ソート生成部25を含む。以下、実施形態の秘密クロス集計システムと異なる点についてのみ説明する。
 各秘密計算装置3nの入力部10は、nk個のキー属性k0, …, knk-1∈Fmそれぞれを秘密分散により秘匿したシェア[k0], …, [knk-1]∈[F]mと、na個のバリュー属性v0, …, vna-1∈Fmそれぞれを秘密分散により秘匿したシェア[v0], …, [vna-1]∈[F]mとを入力として受け取る。ただし、nk, naは1以上の整数である。以下、[kj]∈[F]m(j=0, …, nk-1)の各要素は、[kj,i]∈[F](i=0, …, m-1)で参照することもある。入力部10は、キー属性k0, …, knk-1のシェア[k0], …, [knk-1]をビット分解部21へ出力する。
 各秘密計算装置3nのビット分解部21は、キー属性k0, …, knk-1のシェア[k0], …, [knk-1]をビット分解して結合し、復元するとキー属性k0, …, knk-1のビット表現を結合したビット列b:=b0, …, bm-1∈Bλとなるシェア{b}∈{B}λを得る。ただし、λはビット列bのビット長であり、各bi(i=0, …, m-1)のビット長の総和である。言い替えると、{bi}は、キー属性k0, …, knk-1のシェア[k0], …, [knk-1]それぞれのi番目の要素[k0,i], …, [knk-1,i]のビット表現を結合したビット列である。ビット分解部21は、ビット列bのシェア{b}をグループソート生成部22へ出力する。
 各秘密計算装置3nのグループソート生成部22は、ビット列bのシェア{b}を用いて、復元するとビット列bを昇順で安定ソートするための置換σ0となるシェア{{σ0}}∈{{Sm}}を生成する。ビット列bはキー属性k0, …, knk-1のビット表現を結合したものであるため、置換σ0はキー属性k0, …, knk-1の値が等しいレコードを連続するように並び替えてグループ分けする操作であるとも言える。グループソート生成部22は、ビット列bのシェア{b}と置換σ0のシェア{{σ0}}とをビット列ソート部23へ出力する。
 各秘密計算装置3nのビット列ソート部23は、ビット列bのシェア{b}と置換σ0のシェア{{σ0}}とを用いて、復元するとビット列bを置換σ0でソートしたソート済みビット列b':=b'0, …, b'm-1∈Bλとなるシェア{b'}∈{B}λを得る。ビット列ソート部23は、ソート済みビット列b'のシェア{b'}をフラグ生成部24へ出力する。
 各秘密計算装置3nのフラグ生成部24は、ソート済みビット列b'のシェア{b'}を用いて、0以上m-2以下の各整数iについて{ei}:={b'i≠b'i+1}を設定し、かつ、{em-1}:={1}を設定して、復元するとフラグe:=e0, …, em-1∈Bmとなるシェア{e}∈{B}mを生成する。フラグeiはソート済みビット列b'のi番目の要素b'iがi+1番目の要素b'i+1と異なる場合に真が設定されるため、各グループの最後の要素(すなわち、グループ間の境界の直前の要素)を示すフラグとなる。フラグ生成部24は、フラグeのシェア{e}をキー集約ソート生成部25へ出力する。また、フラグ生成部24は、フラグeのシェア{e}をフラグ変換部11へ出力する。
 各秘密計算装置3nのキー集約ソート生成部25は、まず、フラグeのシェア{e}を用いて、復元するとフラグeの否定¬eであるフラグe'となるシェア{e'}∈{B}mを生成する。すなわち、0以上m-1以下の各整数iについて{e'i}:={¬ei}を設定する。次に、キー集約ソート生成部25は、フラグe'のシェア{e'}を用いて、復元するとフラグe'を昇順に安定ソートするための置換σとなるシェア{{σ}}∈{{Sm}}を生成する。キー集約ソート生成部25は、置換σのシェア{{σ}}をソート部13へ出力する。
 以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
 [プログラム、記録媒体]
 上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (5)

  1.  複数の秘密計算装置を含む秘密クロス集計システムであって、
     mは2以上の整数であり、[e]:=[e0], …, [em-1]はキー属性とバリュー属性とからなるテーブルを上記キー属性の値に基づいてグループ分けしたときに各グループの最後の要素が真、その他の要素が偽であるフラグe:=e0, …, em-1を秘密分散したシェアであり、{{σ}}は上記テーブルを上記キー属性の値に基づいてグループ分けしたときに各グループの最後の要素が先頭から順に並ぶように移動する置換σを秘密分散したシェアであり、gは上記グループの最大数であり、
     上記秘密計算装置は、
     上記シェア[e]を用いて、0以上m-1以下の各整数iについて、[ei]が真のとき[xi]:=[i+1]を設定し、[ei]が偽のとき[xi]:=[m]を設定して、復元するとベクトルx:=x0, …, xm-1となるシェア[x]を生成する境界番号設定部と、
     上記シェア[x]と上記シェア{{σ}}とを用いて、復元すると上記ベクトルxを上記置換σでソートしたソート済みベクトルσ(x)となるシェア[σ(x)]を生成するソート部と、
     上記シェア[σ(x)]を用いて、1以上min(g,m)-1以下の各整数iについて[ci]:=[σ(x)i-σ(x)i-1]を設定し、かつ、[c0]:=[σ(x)0]を設定して、復元すると各グループのレコード数を表すベクトルc:=c0, …, cmin(g,m)-1となるシェア[c]を生成するカウント計算部と、
     を含む秘密クロス集計システム。
  2.  請求項1に記載の秘密クロス集計システムであって、
     Fは任意の環であり、nkは1以上の整数であり、[k0], …, [knk-1]はキー属性k0, …, knk-1∈Fmを秘密分散したシェアであり、
     上記秘密計算装置は、
     上記シェア[k0], …, [knk-1]を用いて、復元すると上記キー属性k0, …, knk-1をビット分解して結合したビット列b:=b0, …, bm-1となるシェア{b}から、復元すると上記ビット列bを昇順に安定ソートする置換σ0となるシェア{{σ0}}を生成するグループソート生成部と、
     上記シェア{b}と上記シェア{{σ0}}とを用いて、復元すると上記ビット列bを上記置換σ0でソートしたソート済みビット列b':=b'0, …, b'm-1となるシェア{b'}を生成するビット列ソート部と、
     上記シェア{b'}を用いて、0以上m-2以下の各整数iについて{ei}:={b'i≠b'i+1}を設定し、かつ、{em-1}:={1}を設定して、復元すると上記フラグe:=e0, …, em-1となる上記シェア{e}を生成するフラグ生成部と、
     上記シェア{e}を用いて、復元すると上記フラグeの否定¬eを昇順に安定ソートする上記置換σとなる上記シェア{{σ}}を生成するキー集約ソート生成部と、
     をさらに含む秘密クロス集計システム。
  3.  mは2以上の整数であり、[e]:=[e0], …, [em-1]はキー属性とバリュー属性とからなるテーブルを上記キー属性の値に基づいてグループ分けしたときに各グループの最後の要素が真、その他の要素が偽であるフラグe:=e0, …, em-1を秘密分散したシェアであり、{{σ}}は上記テーブルを上記キー属性の値に基づいてグループ分けしたときに各グループの最後の要素を先頭から順に並ぶように移動する置換σを秘密分散したシェアであり、gは上記グループの最大数であり、
     上記シェア[e]を用いて、0以上m-1以下の各整数iについて、[ei]が真のとき[xi]:=[i+1]を設定し、[ei]が偽のとき[xi]:=[m]を設定して、復元するとベクトルx:=x0, …, xm-1となるシェア[x]を生成する境界番号設定部と、
     上記シェア[x]と上記シェア{{σ}}とを用いて、復元すると上記ベクトルxを上記置換σでソートしたソート済みベクトルσ(x)となるシェア[σ(x)]を生成するソート部と、
     上記シェア[σ(x)]を用いて、1以上min(g,m)-1以下の各整数iについて[ci]:=[σ(x)i-σ(x)i-1]を設定し、かつ、[c0]:=[σ(x)0]を設定して、復元すると各グループのレコード数を表すベクトルc:=c0, …, cmin(g,m)-1となるシェア[c]を生成するカウント計算部と、
     を含む秘密計算装置。
  4.  複数の秘密計算装置を含む秘密クロス集計システムが実行する秘密クロス集計方法であって、
     mは2以上の整数であり、[e]:=[e0], …, [em-1]はキー属性とバリュー属性とからなるテーブルを上記キー属性の値に基づいてグループ分けしたときに各グループの最後の要素が真、その他の要素が偽であるフラグe:=e0, …, em-1を秘密分散したシェアであり、{{σ}}は上記テーブルを上記キー属性の値に基づいてグループ分けしたときに各グループの最後の要素を先頭から順に並ぶように移動する置換σを秘密分散したシェアであり、gは上記グループの最大数であり、
     上記秘密計算装置の境界番号設定部が、上記シェア[e]を用いて、0以上m-1以下の各整数iについて、[ei]が真のとき[xi]:=[i+1]を設定し、[ei]が偽のとき[xi]:=[m]を設定して、復元するとベクトルx:=x0, …, xm-1となるシェア[x]を生成し、
     上記秘密計算装置のソート部が、上記シェア[x]と上記シェア{{σ}}とを用いて、復元すると上記ベクトルxを上記置換σでソートしたソート済みベクトルσ(x)となるシェア[σ(x)]を生成し、
     上記秘密計算装置のカウント計算部が、上記シェア[σ(x)]を用いて、1以上min(g,m)-1以下の各整数iについて[ci]:=[σ(x)i-σ(x)i-1]を設定し、かつ、[c0]:=[σ(x)0]を設定して、復元すると各グループのレコード数を表すベクトルc:=c0, …, cmin(g,m)-1となるシェア[c]を生成する、
     秘密クロス集計方法。
  5.  請求項3に記載の秘密計算装置としてコンピュータを機能させるためのプログラム。
PCT/JP2019/019092 2018-05-17 2019-05-14 秘密クロス集計システム、秘密計算装置、秘密クロス集計方法、およびプログラム WO2019221108A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US17/052,214 US11868510B2 (en) 2018-05-17 2019-05-14 Secure cross tabulation system, secure computation apparatus, secure cross tabulation method, and program
AU2019270715A AU2019270715B2 (en) 2018-05-17 2019-05-14 Secure cross tabulation system, secure computation apparatus, secure cross tabulation method, and program
CN201980032242.XA CN112119441B (zh) 2018-05-17 2019-05-14 秘密交叉累计系统、秘密计算装置、秘密交叉累计方法、以及记录介质
EP19804444.8A EP3796290B1 (en) 2018-05-17 2019-05-14 Secret cross tabulation system, secret calculation device, secret cross tabulation method, and program
JP2020519650A JP7017178B2 (ja) 2018-05-17 2019-05-14 秘密クロス集計システム、秘密計算装置、秘密クロス集計方法、およびプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018095350 2018-05-17
JP2018-095350 2018-05-17

Publications (1)

Publication Number Publication Date
WO2019221108A1 true WO2019221108A1 (ja) 2019-11-21

Family

ID=68540069

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/019092 WO2019221108A1 (ja) 2018-05-17 2019-05-14 秘密クロス集計システム、秘密計算装置、秘密クロス集計方法、およびプログラム

Country Status (6)

Country Link
US (1) US11868510B2 (ja)
EP (1) EP3796290B1 (ja)
JP (1) JP7017178B2 (ja)
CN (1) CN112119441B (ja)
AU (1) AU2019270715B2 (ja)
WO (1) WO2019221108A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023157117A1 (ja) * 2022-02-16 2023-08-24 日本電信電話株式会社 秘密計算装置、秘密計算方法、プログラム
WO2023157118A1 (ja) * 2022-02-16 2023-08-24 日本電信電話株式会社 秘密計算装置、秘密計算方法、プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0581337A (ja) * 1991-09-21 1993-04-02 Toshiba Corp データ処理装置
JP2012154968A (ja) * 2011-01-21 2012-08-16 Nippon Telegr & Teleph Corp <Ntt> セキュア集合関数システム、秘密集合関数装置、セキュア集合関数処理方法、セキュア集合関数プログラム
JP2013156719A (ja) * 2012-01-27 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> 匿名データ提供システム、匿名データ装置、及びそれらが実行する方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6023858B2 (ja) * 1977-12-09 1985-06-10 ラデイスラブ・ジヨセフ・ピアコン 不均質系反応を増進させるための方法および装置
JPS5613196A (en) * 1979-07-05 1981-02-09 Toshin Kogyo Kk Seamless tubular screen for printing and production thereof
JPS5927238Y2 (ja) * 1980-09-19 1984-08-07 株式会社 品川工業所 連続式卵焼装置
JPS6023858U (ja) * 1983-07-26 1985-02-18 コニカ株式会社 複写機の原稿設置装置
US4730259A (en) * 1985-03-01 1988-03-08 Gallant Stephen I Matrix controlled expert system producible from examples
JP2003298570A (ja) * 2002-04-05 2003-10-17 Nippon Telegr & Teleph Corp <Ntt> 秘密証拠供託方法および秘密証拠供託システム
JP4849541B2 (ja) * 2006-10-24 2012-01-11 日本電信電話株式会社 個別情報を秘匿するクロス集計処理方法およびクロス集計装置、並びにプログラム
JP5307678B2 (ja) * 2008-10-03 2013-10-02 日本電信電話株式会社 集計システム、集計処理装置、情報提供者端末、集計方法およびプログラム
US20130212354A1 (en) * 2009-09-20 2013-08-15 Tibet MIMAR Method for efficient data array sorting in a programmable processor
JP5704951B2 (ja) * 2011-02-10 2015-04-22 ソニー株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
JP5594427B2 (ja) * 2011-03-18 2014-09-24 富士通株式会社 秘匿データ処理方法、プログラム及び装置
JP5683425B2 (ja) * 2011-10-04 2015-03-11 日本電信電話株式会社 データ撹乱・再構築システム、データ再構築装置、データ再構築方法、データ再構築プログラム
JP5758315B2 (ja) * 2012-01-27 2015-08-05 日本電信電話株式会社 匿名データ提供システム、匿名データ装置、及びそれらが実行する方法
WO2015053184A1 (ja) * 2013-10-10 2015-04-16 日本電信電話株式会社 秘密並列処理装置、秘密並列処理方法、プログラム
JP6009697B2 (ja) * 2014-01-17 2016-10-19 日本電信電話株式会社 秘密計算方法、秘密計算システム、ソート装置及びプログラム
JP5968484B1 (ja) * 2015-03-18 2016-08-10 日本電信電話株式会社 シェア復旧システム、シェア復旧方法、およびプログラム
JP6023858B1 (ja) * 2015-08-17 2016-11-09 日本電信電話株式会社 計算システム、計算装置、その方法、およびプログラム
US10346347B2 (en) * 2016-10-03 2019-07-09 The Regents Of The University Of Michigan Field-programmable crossbar array for reconfigurable computing
KR102027649B1 (ko) * 2017-09-28 2019-10-02 목포대학교산학협력단 교차점의 상대적 위치 정보를 이용한 보안 인증 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0581337A (ja) * 1991-09-21 1993-04-02 Toshiba Corp データ処理装置
JP2012154968A (ja) * 2011-01-21 2012-08-16 Nippon Telegr & Teleph Corp <Ntt> セキュア集合関数システム、秘密集合関数装置、セキュア集合関数処理方法、セキュア集合関数プログラム
JP2013156719A (ja) * 2012-01-27 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> 匿名データ提供システム、匿名データ装置、及びそれらが実行する方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DAI IKARASHIKOJI CHIDAKOKI HAMADAKATSUMI TAKAHASHI: "Secure Database Operations Using An Improved 3-party Verifiable Secure Function Evaluation", THE 2011 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, 2011
DAI IKARASHIKOKI HAMADARYO KIKUCHIKOJI CHIDA: "A Design and an Implementation of Super-highspeed Multi-party Sorting: The Day When Multi-party Computation Reaches Scripting Languages", COMPUTER SECURITY SYMPOSIUM 2017
KIRIBUCHI, NAOTO ET AL.: "Programmable secure computation library MEVAL3", THE 2018 SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY (SCIS2018, 23 January 2018 (2018-01-23), pages 1 - 8, XP009524184 *
See also references of EP3796290A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023157117A1 (ja) * 2022-02-16 2023-08-24 日本電信電話株式会社 秘密計算装置、秘密計算方法、プログラム
WO2023157118A1 (ja) * 2022-02-16 2023-08-24 日本電信電話株式会社 秘密計算装置、秘密計算方法、プログラム

Also Published As

Publication number Publication date
EP3796290A1 (en) 2021-03-24
JP7017178B2 (ja) 2022-02-08
AU2019270715A1 (en) 2020-12-03
CN112119441A (zh) 2020-12-22
US11868510B2 (en) 2024-01-09
EP3796290A4 (en) 2022-01-26
US20220292223A1 (en) 2022-09-15
EP3796290B1 (en) 2023-07-12
JPWO2019221108A1 (ja) 2021-04-30
AU2019270715B2 (en) 2021-08-26
CN112119441B (zh) 2024-03-22

Similar Documents

Publication Publication Date Title
JP6973632B2 (ja) 秘密集約総和システム、秘密計算装置、秘密集約総和方法、およびプログラム
JP6989006B2 (ja) 秘密集約関数計算システム、秘密計算装置、秘密集約関数計算方法、およびプログラム
JP6973633B2 (ja) 秘密集約最大値システム、秘密集約最小値システム、秘密計算装置、秘密集約最大値方法、秘密集約最小値方法、およびプログラム
JP6973634B2 (ja) 秘密集約中央値システム、秘密計算装置、秘密集約中央値方法、およびプログラム
JP6973629B2 (ja) 秘密集約順位システム、秘密計算装置、秘密集約順位方法、およびプログラム
WO2019221108A1 (ja) 秘密クロス集計システム、秘密計算装置、秘密クロス集計方法、およびプログラム
JP6605746B2 (ja) 秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム
US10469257B2 (en) Matrix and key generation device, matrix and key generation system, matrix coupling device, matrix and key generation method, and program
JP7081663B2 (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: 19804444

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020519650

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

Country of ref document: AU

Date of ref document: 20190514

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2019804444

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2019804444

Country of ref document: EP

Effective date: 20201217