WO2022079909A1 - 秘密グループ分け装置、秘密グループ分けシステム、秘密グループ分け方法、及びプログラム - Google Patents

秘密グループ分け装置、秘密グループ分けシステム、秘密グループ分け方法、及びプログラム Download PDF

Info

Publication number
WO2022079909A1
WO2022079909A1 PCT/JP2020/039125 JP2020039125W WO2022079909A1 WO 2022079909 A1 WO2022079909 A1 WO 2022079909A1 JP 2020039125 W JP2020039125 W JP 2020039125W WO 2022079909 A1 WO2022079909 A1 WO 2022079909A1
Authority
WO
WIPO (PCT)
Prior art keywords
vector
group
secret
classification destination
grouping
Prior art date
Application number
PCT/JP2020/039125
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 CN202080106010.7A priority Critical patent/CN116324711A/zh
Priority to AU2020472129A priority patent/AU2020472129B2/en
Priority to US18/246,928 priority patent/US20230401263A1/en
Priority to EP20957738.6A priority patent/EP4231275A4/en
Priority to JP2022556818A priority patent/JP7491390B2/ja
Priority to PCT/JP2020/039125 priority patent/WO2022079909A1/ja
Publication of WO2022079909A1 publication Critical patent/WO2022079909A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • 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/602Providing cryptographic facilities or services
    • 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
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/06Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
    • G06F7/08Sorting, i.e. grouping record carriers in numerical or other ordered sequence according to the classification of at least some of the information they carry
    • 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 grouping device, a secret grouping system, a secret grouping method, and a program.
  • a method called secret calculation is known as a method of obtaining a specific calculation result without restoring an encrypted numerical value (for example, Non-Patent Document 1).
  • encryption is performed by distributing numerical fragments among three secret computing devices, and the three secret computing devices perform cooperative calculation without recovering the numerical values.
  • a state in which the results of addition / subtraction, constant addition, multiplication, constant multiplication, logical operation (negative, logical product, logical sum, exclusive logical sum), data format conversion (integer and binary number), etc. are distributed to three secret computing devices. Can be obtained as.
  • the calculation time may be long.
  • the size including the elements belonging to the group in each group is concealed in order to conceal the size of each group. It is necessary to create a vector of n. Therefore, it is necessary to create a vector of magnitude ⁇ (n) ⁇ (n) times, which requires a total calculation time of ⁇ (n 2 ).
  • One embodiment of the present invention has been made in view of the above points, and an object thereof is to reduce the calculation time when grouping by secret calculation.
  • the secret grouping device is a secret grouping device that classifies a plurality of elements into one or more groups by secret calculation, so that the elements belonging to the same group are continuous.
  • An input unit for inputting an object vector in which the plurality of elements are arranged, a group information vector representing the last element in the group, and a classification destination vector representing the classification destination of each element in the group, and the target.
  • a detection vector calculation unit that calculates a detection vector representing the last element among the elements classified into the same classification destination in the group by using the vector, the group information vector, and the classification destination vector, and the target. By stably sorting the vector and the detection vector with respect to the classification destination vector, the target vector after classifying each element into the classification destination in the group and the group representing the last element in the group after the classification. It has a classification unit that creates an information vector.
  • the grouping when the data grouped by the secret calculation (that is, the data grouped by concealing the input and the output) is further grouped by the secret calculation, the grouping can be efficiently performed.
  • a possible secret grouping device 10 will be described.
  • grouping in which inputs and outputs are concealed by using secret calculation is also referred to as secret grouping.
  • secret grouping the size of each group (that is, the number of data belonging to each group) is also concealed.
  • a value a that is concealed by encryption, secret sharing, etc. is called a concealed value of a and is described as [a].
  • [a] refers to a set of secret sharing fragments possessed by each secret computing device.
  • the secret value [c] of the truth value c ⁇ ⁇ 0,1 ⁇ and the secret values [a] and [b] of the two values a and b are input.
  • FIG. 1 is a diagram showing an example of a functional configuration of the secret grouping device 10 according to the present embodiment.
  • the secret grouping device 10 includes an input unit 101, a vector calculation unit 102, a stable sort unit 103, an output unit 104, and a storage unit 105.
  • the storage unit 105 stores various data (that is, various concealed data) used for secret grouping.
  • these various data include data composed of a plurality of elements to be grouped, a group information vector indicating which group each element included in this data is classified into, and the data. It is assumed that a classification destination vector representing a classification destination when classifying each contained element into a finer group within the group is included.
  • the data composed of a plurality of elements to be grouped is referred to as a data vector, and it is assumed that the elements belonging to the same group are arranged at continuous positions in the data vector.
  • the data vector and the group information vector be [v] and [g], respectively, and [v] and [g] are represented by the following, respectively.
  • the first to second elements of the data vector [v] are the first group
  • the third element is the second group
  • the fourth to sixth elements are the third.
  • the group and the 7th to 8th elements belong to the 4th group, respectively.
  • the second element of the data vector [v] is the end point (boundary) of the first group
  • the third element is the end point of the second group
  • the sixth element is the third element.
  • the endpoint of the group, the eighth element means that it is the endpoint of the fourth group.
  • classification destination vector is [f] and [f] is represented by the following.
  • the classification destination of the first element of the data vector [v] is 1, and the classification destination 2 is the second classification destination 2. It represents that there is.
  • the classification destination of the third element is 1
  • the classification destination of the fourth element is 2
  • the classification destination of the fifth element is 2
  • the classification destination of the sixth element is the classification destination of the first and seventh elements. Indicates that the classification destination of the 2nd and 8th elements is 2.
  • the input unit 101 inputs a data vector composed of a plurality of elements to be classified into secret groups and a group information vector representing the current grouping of the plurality of elements. Further, the input unit 101 inputs a classification destination vector representing a classification destination when classifying into a finer group within the group of the plurality of elements.
  • the vector calculation unit 102 has detected the last element of each classification destination (that is, the element that becomes the end point (boundary) at each classification destination) in each group by using the data vector, the group information vector, and the classification destination vector. Calculate the detection vector.
  • the stable sort unit 103 stably sorts the data vector and the detection vector by the classification destination vector. As a result, a classified data vector in which each element of the data vector is classified into a finer group within the group and a classified group information vector representing the grouping (that is, grouping in a finer group) are obtained. Be done.
  • the output unit 104 outputs the classified data vector and the classified group information vector.
  • the output unit 104 may output the classified data vector and the classified group information vector to an arbitrary output destination (for example, a storage unit 105 or the like) determined in advance.
  • FIG. 2 is a diagram showing an example of the hardware configuration of the secret grouping device 10 according to the present embodiment.
  • the secret grouping device 10 is realized by a hardware configuration of a general computer or computer system, and communicates with the input device 201, the display device 202, and the external I / F 203. It has an I / F 204, a processor 205, and a memory device 206. Each of these hardware is communicably connected via bus 207.
  • the input device 201 is, for example, a keyboard, a mouse, a touch panel, or the like.
  • the display device 202 is, for example, a display or the like.
  • the secret grouping device 10 may not have, for example, at least one of the input device 201 and the display device 202.
  • the external I / F 203 is an interface with an external device such as a recording medium 203a.
  • the secret grouping device 10 can read or write the recording medium 203a via the external I / F 203. Even if the recording medium 203a stores, for example, one or more programs that realize each functional unit (input unit 101, vector calculation unit 102, stable sort unit 103, and output unit 104) of the secret grouping device 10. good.
  • the recording medium 203a 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.
  • a CD Compact Disc
  • DVD Digital Versatile Disk
  • SD memory card Secure Digital memory card
  • USB Universal Serial Bus
  • the communication I / F 204 is an interface for connecting the secret grouping device 10 to the communication network. It should be noted that one or more programs that realize each functional unit of the secret grouping device 10 may be acquired (downloaded) from a predetermined server device or the like via the communication I / F 204.
  • the processor 205 is, for example, various arithmetic units such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit). Each functional unit included in the secret grouping device 10 is realized by, for example, a process of causing the processor 205 to execute one or more programs stored in the memory device 206 or the like.
  • a CPU Central Processing Unit
  • GPU Graphics Processing Unit
  • the memory device 206 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 storage unit 105 included in the secret grouping device 10 can be realized by using, for example, the memory device 206.
  • the storage unit 105 may be realized by using, for example, a storage device connected to the secret grouping device 10 via a communication network.
  • the secret grouping device 10 can realize various processes by having the hardware configuration shown in FIG.
  • the hardware configuration shown in FIG. 2 is an example, and the secret grouping device 10 may have another hardware configuration.
  • the secret grouping device 10 may have a plurality of processors 205 or a plurality of memory devices 206.
  • FIG. 3 is a flowchart showing an example of the flow of the secret grouping process according to the present embodiment. If each element of the data vector has not been grouped yet (that is, when secret grouping is performed for the first time), it is considered that each element is grouped into one group, and the following secret group is considered.
  • the division process may be performed.
  • the group information vector is a vector in which only the last element is 1 and the other elements are 0.
  • the input unit 101 inputs the data vector and the group information vector (step S101).
  • the input unit 101 inputs the classification destination vector (step S102).
  • the vector calculation unit 102 calculates a detection vector that detects an element that is an end point of each classification destination in each group among each element of the data vector (step S103). This detection vector is calculated by the following steps 1 and 2.
  • Procedure 1 For each value that can be taken as the classification destination, calculate the classification destination unit detection vector that detects the element that is the end point of the classification destination in the same group.
  • the classification destination unit detection vector is a vector in which the element at the same position as the end point of the classification destination in the same group is 1 and the other elements are 0 among the elements of the data vector.
  • the vector calculation unit 102 first calculates [e 2 ] ⁇ EQ ([f], 2) and obtains the following [e 2 ].
  • the vector calculation unit 102 calculates the cumulative sum from the bottom in the group represented by the group information vector [g], and obtains the following [x 2 ].
  • calculating the cumulative sum from the bottom in the group means calculating the cumulative sum from the bottom element (rear element) in the group toward the top (front).
  • the vector calculation unit 102 obtains the following [k 2 ] by [e 2 ] ⁇ [x 2 ].
  • [K 2 ] (0,1,0,2,1,0,2,1) T
  • the vector calculation unit 102 calculates [t 2 ] ⁇ EQ ([k 2 ], 1) and obtains the following [t 2 ].
  • This [t 2 ] is a classification destination unit detection vector corresponding to the classification destination “2”.
  • This classification destination unit detection vector [t 2 ] is a vector in which the end points (that is, the last element) of the elements classified into the classification destination “2” in each group among the elements of the data vector are detected. That is, in the above-mentioned classification destination unit detection vector [t 2 ], the second element of the data vector [v] is the last element (that is, the end point) of the element classified into the classification destination "2" in the first group. ). Similarly, it indicates that the fifth element of the data vector [v] is the last element of the element classified into the classification destination "2" in the third group. Similarly, it indicates that the eighth element of the data vector [v] is the last element of the element classified into the classification destination "2" in the fourth group.
  • the vector calculation unit 102 first calculates [e 1 ] ⁇ EQ ([f], 1), and then performs the following [e 1 ]. obtain.
  • [E 1 ] (1,0,1,0,0,1,0,0) T
  • the vector calculation unit 102 calculates the cumulative sum from the bottom in the group represented by the group information vector [g], and obtains the following [x 1 ].
  • [X 1 ] (1,0,1,1,1,1,0,0) T
  • the vector calculation unit 102 obtains the following [k 1 ] by [e 1 ] ⁇ [x 1 ].
  • [K 1 ] (1,0,1,0,0,1,0,0) T
  • the vector calculation unit 102 calculates [t 1 ] ⁇ EQ ([k 1 ], 1) and obtains the following [t 1 ].
  • This [t 1 ] is a classification destination unit detection vector corresponding to the classification destination “1”.
  • This classification destination unit detection vector [t 1 ] is a vector in which the end points (that is, the last element) of the elements classified into the classification destination “1” in each group among the elements of the data vector are detected. That is, in the above-mentioned classification destination unit detection vector [t 1 ], the first element of the data vector [v] is the last element (that is, the end point) of the element classified into the classification destination "1" in the first group. ).
  • the third element of the data vector [v] is the last element of the element classified into the classification destination "1" in the second group.
  • the sixth element of the data vector [v] is the last element of the element classified into the classification destination "1" in the third group.
  • Step 2 Calculate the sum of all classification destination unit detection vectors as the detection vector.
  • This detection vector [t] is a vector in which the elements that are the end points of the classification destinations “1” and “2” in each group are detected among the elements of the data vector.
  • the stable sorting unit 103 stably sorts the data vector and the detection vector by the classification destination vector, respectively, and obtains the classified data vector and the group information vector (step S104).
  • the stable sort unit 103 stably sorts the data vector [v] in ascending order of the elements of the classification destination vector [f] to obtain the following [v'].
  • the stable sort unit 103 stably sorts the detection vector [t] in ascending order of the elements of the classification destination vector [f] to obtain the following [g'].
  • the output unit 104 outputs the data vector after classification and the group information vector after classification (step S105).
  • the secret grouping device 10 holds the grouped elements at continuous positions and represents the boundaries of each group when grouping a plurality of elements by secret calculation. Information is also retained. Then, when classifying into finer groups, the endpoints of each classification destination are detected in each group, and the detection results are stably sorted according to the classification destination, so that information representing the boundaries of a finer new group can be obtained. obtain. As a result, the secret grouping device 10 according to the present embodiment can reduce the calculation time when grouping a plurality of elements by secret calculation.
  • the secret grouping device 10 when each element of a vector composed of n elements is grouped by secret calculation, the calculation time of ⁇ (n 2 ) is required as a whole in the conventional technique, whereas this book In the secret grouping device 10 according to the embodiment, the number can be reduced to ⁇ (nlogn).
  • the secret grouping device 10 according to the present embodiment can be applied to grouping of data sets at each node when learning a decision tree by secret calculation, for example.

Landscapes

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

Abstract

一実施形態に係る秘密グループ分け装置は、秘密計算により複数の要素を1以上のグループに分類する秘密グループ分け装置であって、同一グループに属する要素が連続するように前記複数の要素が配置された対象ベクトルと、前記グループ内で最後の要素を表すグループ情報ベクトルと、前記グループ内で各要素の分類先を表す分類先ベクトルとを入力する入力部と、前記対象ベクトルと前記グループ情報ベクトルと前記分類先ベクトルとを用いて、前記グループ内で同一の分類先に分類される要素のうちの最後の要素を表す検出ベクトルを計算する検出ベクトル計算部と、前記対象ベクトルと前記検出ベクトルとを前記分類先ベクトルに関して安定ソートすることで、前記グループ内で前記分類先に各要素を分類した後の対象ベクトルと、前記分類後のグループ内で最後の要素を表すグループ情報ベクトルとを作成する分類部と、を有する。

Description

秘密グループ分け装置、秘密グループ分けシステム、秘密グループ分け方法、及びプログラム
 本発明は、秘密グループ分け装置、秘密グループ分けシステム、秘密グループ分け方法、及びプログラムに関する。
 暗号化された数値を復元すること無く特定の演算結果を得る方法として、秘密計算と呼ばれる方法が知られている(例えば、非特許文献1)。非特許文献1に記載されている方法では、3つの秘密計算装置に数値の断片を分散させるという暗号化を行い、3つの秘密計算装置が協調計算を行うことにより、数値を復元すること無く、加減算、定数加算、乗算、定数倍、論理演算(否定、論理積、論理和、排他的論理和)、データ形式変換(整数と二進数)等の結果を3つの秘密計算装置に分散された状態として得ることができる。
 ところで、複数の要素を複数のグループに分類(つまり、グループ分け)したい場合が様々な技術で存在する。また、すでにグループ分けされている複数の要素をさらに細かいグループに分類したい場合も存在する。例えば、決定木の学習を行う際には、ある属性値の集合のグループ分けが各節点で再帰的に行われる。
千田浩司,濱田浩気,五十嵐大,高橋克巳,「軽量検証可能3パーティ秘匿関数計算の再考」,In CSS, 2010.
 しかしながら、秘密計算によりグループ分けを行う場合、その計算時間が大きくなることがあった。例えば、グループ分けされたn個の要素で構成されているベクトルの各要素をさらに細かいグループに分類する場合、各グループの大きさを秘匿するため、各グループでそのグループに属する要素を含む大きさnのベクトルを作成する必要がある。したがって、大きさΘ(n)のベクトルをΘ(n)回作成する必要があり、全体でΘ(n)の計算時間が必要となる。
 本発明の一実施形態は、上記の点に鑑みてなされたもので、秘密計算によるグループ分けを行う場合の計算時間を削減することを目的とする。
 上記目的を達成するため、一実施形態に係る秘密グループ分け装置は、秘密計算により複数の要素を1以上のグループに分類する秘密グループ分け装置であって、同一グループに属する要素が連続するように前記複数の要素が配置された対象ベクトルと、前記グループ内で最後の要素を表すグループ情報ベクトルと、前記グループ内で各要素の分類先を表す分類先ベクトルとを入力する入力部と、前記対象ベクトルと前記グループ情報ベクトルと前記分類先ベクトルとを用いて、前記グループ内で同一の分類先に分類される要素のうちの最後の要素を表す検出ベクトルを計算する検出ベクトル計算部と、前記対象ベクトルと前記検出ベクトルとを前記分類先ベクトルに関して安定ソートすることで、前記グループ内で前記分類先に各要素を分類した後の対象ベクトルと、前記分類後のグループ内で最後の要素を表すグループ情報ベクトルとを作成する分類部と、を有する。
 秘密計算によるグループ分けを行う場合の計算時間を削減することができる。
本実施形態に係る秘密グループ分け装置の機能構成の一例を示す図である。 本実施形態に係る秘密グループ分け装置のハードウェア構成の一例を示す図である。 本実施形態に係る秘密グループ分け処理の流れの一例を示すフローチャートである。
 以下、本発明の一実施形態について説明する。本実施形態では、秘密計算によりグループ分けされたデータ(つまり、入力や出力を秘匿してグループ分けされたデータ)をさらに秘密計算によりグループ分けする際に、そのグループ分けを効率的に行うことが可能な秘密グループ分け装置10について説明する。なお、本実施形態では、秘密計算を利用して入力や出力を秘匿したグループ分けを秘密グループ分けともいう。秘密グループ分けでは各グループの大きさ(つまり、各グループに属するデータ数)も秘匿される。
 <記法>
 まず、各種記法について説明する。なお、以下では、本実施形態で必ずしも用いるとは限らない記法についても説明している。
 ある値aを暗号化や秘密分散等により秘匿化した値をaの秘匿値と呼び、[a]と記述する。aが秘密分散により秘匿化された場合は、[a]により各秘密計算装置が持つ秘密分散の断片の集合を参照するものとする。
 ・復元
 aの秘匿値[a]を入力とし、c=aとなる値cを計算する処理を
 c←Open([a])
と記述する。
 ・算術演算
 加算、減算、乗算の各演算は2つの値a、bの秘匿値[a]、[b]を入力とし、それぞれa+b、a-b、abの計算結果c、c、cの秘匿値[c]、[c]、[c]を計算する。加算、減算、乗算の各演算の実行をそれぞれ
 [c]←Add([a],[b])
 [c]←Sub([a],[b])
 [c]←Mul([a],[b])
と記述する。誤解を招く恐れのない場合は、Add([a],[b])、Sub([a],[b])、Mul([a],[b])をそれぞれ[a]+[b]、[a]-[b]、[a]×[b]と略記する。
 ・比較
 比較の演算は2つの値a、bの秘匿値[a]、[b]を入力とし、a=b、a≦b、a<bの真偽値c∈{0,1}の秘匿値[c]、[c]、[c]を計算する。真偽値は真のとき1、偽のとき0とする。a=b、a≦b、a<bの比較演算の実行をそれぞれ
 [c]←EQ([a],[b])
 [c]←LE([a],[b])
 [c]←LT([a],[b])
と記述する。
 ・選択
 選択の演算は、真偽値c∈{0,1}の秘匿値[c]と2つの値a、bの秘匿値[a]、[b]とを入力とし、
Figure JPOXMLDOC01-appb-M000001
を満たすdの秘匿値[d]を計算する。この演算の実行を
 [d]←IfElse([c],[a],[b])
と記述する。この演算は、
 [d]←[c]×([a]-[b])+[b]
により実現できる。
 <機能構成>
 次に、本実施形態に係る秘密グループ分け装置10の機能構成について、図1を参照しながら説明する。図1は、本実施形態に係る秘密グループ分け装置10の機能構成の一例を示す図である。
 図1に示すように、本実施形態に係る秘密グループ分け装置10は、入力部101と、ベクトル計算部102と、安定ソート部103と、出力部104と、記憶部105とを有する。
 記憶部105には、秘密グループ分けに用いられる各種データ(つまり、秘匿化された各種データ)が記憶されている。ここで、これらの各種データには、グループ分けの対象となる複数の要素で構成されるデータと、このデータに含まれる各要素がどのグループに分類されたかを表すグループ情報ベクトルと、当該データに含まれる各要素をグループ内でより細かいグループに分類する際の分類先を表す分類先ベクトルとが含まれるものとする。以降では、グループ分けの対象となる複数の要素で構成されるデータをデータベクトルといい、データベクトルには同一グループに属する要素が連続する位置に配置されているものとする。また、グループ情報ベクトルにはデータベクトルの各要素がグループの端点(境界)であるか否かを表す情報が配置されており、同一位置にあるデータベクトルの要素がグループの端点であれば1、そうでなければ0が配置されているものとする。
 例えば、データベクトル及びグループ情報ベクトルをそれぞれ[v]及び[g]として、[v]及び[g]はそれぞれ以下で表されているものとする。
 [v]=(3,2,4,5,1,6,3,2)
 [g]=(0,1,1,0,0,1,0,1)
 なお、Tは転置を表す記号である。
 この場合、データベクトル[v]の1番目の要素から2番目の要素は1つ目のグループ、3番目の要素は2つ目のグループ、4番目の要素から6番目の要素は3つ目のグループ、7番目の要素から8番目の要素は4つ目のグループにそれぞれ属することを意味している。また、データベクトル[v]の2番目の要素は1つ目のグループの端点(境界)であり、同様に3番目の要素は2つ目のグループの端点、6番目の要素は3つ目のグループの端点、8番目の要素は4つ目のグループの端点であることを意味している。
 また、例えば、分類先ベクトルを[f]として、[f]は以下で表されているものとする。
 [f]=(1,2,1,2,2,1,2,2)
 この場合、分類先ベクトル[f]は、現在のグループ内でより細かいグループに分類する際に、データベクトル[v]の1番目の要素の分類先は1であり、2番目の分類先2であることを表している。同様に、3番目の要素の分類先は1、4番目の要素の分類先は2、5番目の要素の分類先は2、6番目の要素の分類先は1、7番目の要素の分類先は2、8番目の要素の分類先は2であることをそれぞれ表している。
 入力部101は、秘密グループ分けの対象となる複数の要素で構成されるデータベクトルと、それら複数の要素の現在のグループ分けを表すグループ情報ベクトルとを入力する。また、入力部101は、それら複数の要素のグループ内でより細かいグループに分類する際の分類先を表す分類先ベクトルを入力する。
 ベクトル計算部102は、データベクトルとグループ情報ベクトルと分類先ベクトルとを用いて、各グループ内で各分類先の最後の要素(つまり、各分類先で端点(境界)となる要素)を検出した検出ベクトルを計算する。
 安定ソート部103は、データベクトル及び検出ベクトルを分類先ベクトルで安定ソートする。これにより、データベクトルの各要素をグループ内でより細かいグループに分類した分類後のデータベクトルと、そのグループ分け(つまり、より細かいグループでのグループ分け)を表す分類後のグループ情報ベクトルとが得られる。
 出力部104は、分類後のデータベクトルと分類後のグループ情報ベクトルとを出力する。なお、出力部104は予め決められた任意の出力先(例えば、記憶部105等)に分類後のデータベクトルと分類後のグループ情報ベクトルとを出力すればよい。
 <ハードウェア構成>
 次に、本実施形態に係る秘密グループ分け装置10のハードウェア構成について、図2を参照しながら説明する。図2は、本実施形態に係る秘密グループ分け装置10のハードウェア構成の一例を示す図である。
 図2に示すように、本実施形態に係る秘密グループ分け装置10は一般的なコンピュータ又はコンピュータシステムのハードウェア構成で実現され、入力装置201と、表示装置202と、外部I/F203と、通信I/F204と、プロセッサ205と、メモリ装置206とを有する。これら各ハードウェアは、それぞれがバス207を介して通信可能に接続される。
 入力装置201は、例えば、キーボードやマウス、タッチパネル等である。表示装置202は、例えば、ディスプレイ等である。なお、秘密グループ分け装置10は、例えば、入力装置201及び表示装置202のうちの少なくとも一方を有していなくてもよい。
 外部I/F203は、記録媒体203a等の外部装置とのインタフェースである。秘密グループ分け装置10は、外部I/F203を介して、記録媒体203aの読み取りや書き込み等を行うことができる。記録媒体203aには、例えば、秘密グループ分け装置10が有する各機能部(入力部101、ベクトル計算部102、安定ソート部103及び出力部104)を実現する1以上のプログラムが格納されていてもよい。
 なお、記録媒体203aには、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
 通信I/F204は、秘密グループ分け装置10を通信ネットワークに接続するためのインタフェースである。なお、秘密グループ分け装置10が有する各機能部を実現する1以上のプログラムは、通信I/F204を介して、所定のサーバ装置等から取得(ダウンロード)されてもよい。
 プロセッサ205は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。秘密グループ分け装置10が有する各機能部は、例えば、メモリ装置206等に格納されている1以上のプログラムがプロセッサ205に実行させる処理により実現される。
 メモリ装置206は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。秘密グループ分け装置10が有する記憶部105は、例えば、メモリ装置206を用いて実現可能である。なお、記憶部105は、例えば、秘密グループ分け装置10と通信ネットワークを介して接続される記憶装置等を用いて実現されていてもよい。
 本実施形態に係る秘密グループ分け装置10は、図2に示すハードウェア構成を有することにより、各種処理を実現することができる。なお、図2に示すハードウェア構成は一例であって、秘密グループ分け装置10は、他のハードウェア構成を有していてもよい。例えば、秘密グループ分け装置10は、複数のプロセッサ205を有していてもよいし、複数のメモリ装置206を有していてもよい。
 <秘密グループ分け処理>
 次に、データベクトルの各要素が秘密グループ分けされているものとして、これらの各要素をより細かいグループに秘密グループ分けする場合の秘密グループ分け処理について、図3を参照しながら説明する。図3は、本実施形態に係る秘密グループ分け処理の流れの一例を示すフローチャートである。なお、データベクトルの各要素が未だグループ分けされていない場合(つまり、初めて秘密グループ分けを行う場合)は、これらの各要素が1つのグループにグループ分けされているものとみなして以下の秘密グループ分け処理を行えばよい。この場合、グループ情報ベクトルは最後の要素のみが1、それ以外の要素は0のベクトルである。
 まず、入力部101は、データベクトルと、グループ情報ベクトルとを入力する(ステップS101)。以降では、一例として、データベクトルは、
 [v]=(3,2,4,5,1,6,3,2)
であるものとする。また、グループ情報ベクトルは、
 [g]=(0,1,1,0,0,1,0,1)
であるものとする。
 次に、入力部101は、分類先ベクトルを入力する(ステップS102)。以降では、一例として、分類先ベクトルは、
 [f]=(1,2,1,2,2,1,2,2)
であるものとする。
 次に、ベクトル計算部102は、データベクトルの各要素のうち、各グループ内で各分類先の端点となる要素を検出した検出ベクトルを計算する(ステップS103)。この検出ベクトルは以下の手順1~手順2により計算される。
 手順1:分類先として取り得る値ごとに、同一グループ内で当該分類先の端点となる要素を検出した分類先単位検出ベクトルを計算する。分類先単位検出ベクトルとは、データベクトルの各要素のうち、同一グループ内で当該分類先の端点となる要素と同一位置の要素を1、それ以外の要素を0としたベクトルである。
 例えば、分類先として取り得る値が「2」の場合、まず、ベクトル計算部102は、[e]←EQ([f],2)を計算し、以下の[e]を得る。
 [e]=(0,1,0,1,1,0,1,1)
 次に、ベクトル計算部102は、グループ情報ベクトル[g]が表すグループ内で下から累積和を計算し、以下の[x]を得る。
 [x]=(1,1,0,2,1,0,2,1)
 なお、グループ内で下から累積和を計算するとは、グループ内の下の要素(後ろの要素)から順に上(前)に向かって累積和を計算することを意味する。
 次に、ベクトル計算部102は、[e]×[x]により以下の[k]を得る。
 [k]=(0,1,0,2,1,0,2,1)
 そして、ベクトル計算部102は、[t]←EQ([k],1)を計算し、以下の[t]を得る。
 [t]=(0,1,0,0,1,0,0,1)
 この[t]が分類先「2」に対応する分類先単位検出ベクトルである。この分類先単位検出ベクトル[t]は、データベクトルの各要素のうち、各グループ内で分類先「2」に分類される要素の端点(つまり、最後の要素)を検出したベクトルである。すなわち、上記の分類先単位検出ベクトル[t]は、データベクトル[v]の2番目の要素が、1番目のグループで分類先「2」に分類される要素の最後の要素(つまり、端点)であることを表している。同様に、データベクトル[v]の5番目の要素が、3番目のグループで分類先「2」に分類される要素の最後の要素であることを表している。同様に、データベクトル[v]の8番目の要素が、4番目のグループで分類先「2」に分類される要素の最後の要素であることを表している。
 同様に、例えば、分類先として取り得る値が「1」の場合、まず、ベクトル計算部102は、[e]←EQ([f],1)を計算し、以下の[e]を得る。
 [e]=(1,0,1,0,0,1,0,0)
 次に、ベクトル計算部102は、グループ情報ベクトル[g]が表すグループ内で下から累積和を計算し、以下の[x]を得る。
 [x]=(1,0,1,1,1,1,0,0)
 次に、ベクトル計算部102は、[e]×[x]により以下の[k]を得る。
 [k]=(1,0,1,0,0,1,0,0)
 そして、ベクトル計算部102は、[t]←EQ([k],1)を計算し、以下の[t]を得る。
 [t]=(1,0,1,0,0,1,0,0)
 この[t]が分類先「1」に対応する分類先単位検出ベクトルである。この分類先単位検出ベクトル[t]は、データベクトルの各要素のうち、各グループ内で分類先「1」に分類される要素の端点(つまり、最後の要素)を検出したベクトルである。すなわち、上記の分類先単位検出ベクトル[t]は、データベクトル[v]の1番目の要素が、1番目のグループで分類先「1」に分類される要素の最後の要素(つまり、端点)であることを表している。同様に、データベクトル[v]の3番目の要素が、2番目のグループで分類先「1」に分類される要素の最後の要素であることを表している。同様に、データベクトル[v]の6番目の要素が、3番目のグループで分類先「1」に分類される要素の最後の要素であることを表している。
 手順2:すべての分類先単位検出ベクトルの和を検出ベクトルとして計算する。
 すなわち、例えば、上記の分類先単位検出ベクトル[t]及び[t]が得られた場合、ベクトル計算部102は、[t]=[t]+[t]により以下の検出ベクトル[t]を得る。
 [t]=(1,1,1,0,1,1,0,1)
 この検出ベクトル[t]が、データベクトルの各要素のうち、各グループ内で各分類先「1」及び「2」の端点となる要素を検出したベクトルである。
 次に、安定ソート部103は、データベクトル及び検出ベクトルを分類先ベクトルでそれぞれ安定ソートして、分類後のデータベクトル及びグループ情報ベクトルを得る(ステップS104)。
 すなわち、例えば、安定ソート部103は、データベクトル[v]を分類先ベクトル[f]の要素の昇順に安定ソートして、以下の[v']を得る。
 [v']=(3,4,6,2,5,1,3,2)
 この[v']が分類後のデータベクトルである。
 同様に、例えば、安定ソート部103は、検出ベクトル[t]を分類先ベクトル[f]の要素の昇順に安定ソートして、以下の[g']を得る。
 [g']=(1,1,1,1,0,1,0,1)
 この[g']が分類後のグループ情報ベクトルである。
 そして、出力部104は、分類後のデータベクトルと分類後のグループ情報ベクトルとを出力する(ステップS105)。
 <まとめ>
 以上のように、本実施形態に係る秘密グループ分け装置10は、秘密計算により複数の要素のグループ分けを行う場合に、グループ分けされた要素を連続する位置で保持すると共に各グループの境界を表す情報も保持しておく。そして、より細かいグループに分類する際には、各グループ内で各分類先の端点を検出した上でその検出結果を分類先に従って安定ソートすることで、より細かい新たなグループの境界を表す情報を得る。これにより、本実施形態に係る秘密グループ分け装置10は、秘密計算により複数の要素のグループ分けを行う際の計算時間を削減することができる。具体的には、n個の要素で構成されるベクトルの各要素を秘密計算によりグループ分けする場合、従来技術では全体でΘ(n)の計算時間が必要であったのに対して、本実施形態に係る秘密グループ分け装置10では、Θ(nlogn)に削減することが可能となる。なお、本実施形態に係る秘密グループ分け装置10は、例えば、秘密計算により決定木の学習を行う際における各節点でのデータ集合のグループ分けに応用することが可能である。
 本発明は、具体的に開示された上記の実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
 10    秘密グループ分け装置
 101   入力部
 102   ベクトル計算部
 103   安定ソート部
 104   出力部
 105   記憶部
 201   入力装置
 202   表示装置
 203   外部I/F
 203a  記録媒体
 204   通信I/F
 205   プロセッサ
 206   メモリ装置
 207   バス

Claims (7)

  1.  秘密計算により複数の要素を1以上のグループに分類する秘密グループ分け装置であって、
     同一グループに属する要素が連続するように前記複数の要素が配置された対象ベクトルと、前記グループ内で最後の要素を表すグループ情報ベクトルと、前記グループ内で各要素の分類先を表す分類先ベクトルとを入力する入力部と、
     前記対象ベクトルと前記グループ情報ベクトルと前記分類先ベクトルとを用いて、前記グループ内で同一の分類先に分類される要素のうちの最後の要素を表す検出ベクトルを計算する検出ベクトル計算部と、
     前記対象ベクトルと前記検出ベクトルとを前記分類先ベクトルに関して安定ソートすることで、前記グループ内で前記分類先に各要素を分類した後の対象ベクトルと、前記分類後のグループ内で最後の要素を表すグループ情報ベクトルとを作成する分類部と、
     を有する秘密グループ分け装置。
  2.  前記グループ情報ベクトルは、前記対象ベクトルを構成する各要素の中で同一グループに属する要素の最後の要素と同一位置にある要素を1、前記最後の要素と同一位置にある要素以外の要素を0としたベクトルである、請求項1に記載の秘密グループ分け装置。
  3.  前記検出ベクトル計算部は、
     前記分類先として取り得る値ごとに、前記グループ内で前記取り得る値に対応する分類先に分類される要素のうちの最後の要素を表す分類先単位検出ベクトルを計算し、
     全ての前記取り得る値に関して前記分類先単位検出ベクトルの和を計算することで、前記検出ベクトルを計算する、請求項1又は2に記載の秘密グループ分け装置。
  4.  前記検出ベクトル計算部は、
     前記分類先ベクトルを構成する各要素と前記取り得る値との比較演算を行うことで、前記比較演算の結果を表す第1のベクトルを計算し、
     前記第1のベクトルを構成する各要素に対して、前記グループ内で最後の要素から先頭の要素に向かって順に累積和を計算することで第2のベクトルを計算し、
     前記第1のベクトルと前記第2のベクトルとの積を計算することで第3のベクトルを計算し、
     前記第3のベクトルを構成する各要素と1との比較演算を行うことで、前記分類先単位検出ベクトルを計算する、請求項3に記載の秘密グループ分け装置。
  5.  秘密計算により複数の要素を1以上のグループに分類する秘密グループ分けシステムであって、
     同一グループに属する要素が連続するように前記複数の要素が配置された対象ベクトルと、前記グループ内で最後の要素を表すグループ情報ベクトルと、前記グループ内で各要素の分類先を表す分類先ベクトルとを入力する入力部と、
     前記対象ベクトルと前記グループ情報ベクトルと前記分類先ベクトルとを用いて、前記グループ内で同一の分類先に分類される要素のうちの最後の要素を表す検出ベクトルを計算する検出ベクトル計算部と、
     前記対象ベクトルと前記検出ベクトルとを前記分類先ベクトルに関して安定ソートすることで、前記グループ内で前記分類先に各要素を分類した後の対象ベクトルと、前記分類後のグループ内で最後の要素を表すグループ情報ベクトルとを作成する分類部と、
     を有する秘密グループ分けシステム。
  6.  秘密計算により複数の要素を1以上のグループに分類する秘密グループ分け方法であって、
     同一グループに属する要素が連続するように前記複数の要素が配置された対象ベクトルと、前記グループ内で最後の要素を表すグループ情報ベクトルと、前記グループ内で各要素の分類先を表す分類先ベクトルとを入力する入力手順と、
     前記対象ベクトルと前記グループ情報ベクトルと前記分類先ベクトルとを用いて、前記グループ内で同一の分類先に分類される要素のうちの最後の要素を表す検出ベクトルを計算する検出ベクトル計算手順と、
     前記対象ベクトルと前記検出ベクトルとを前記分類先ベクトルに関して安定ソートすることで、前記グループ内で前記分類先に各要素を分類した後の対象ベクトルと、前記分類後のグループ内で最後の要素を表すグループ情報ベクトルとを作成する分類手順と、
     をコンピュータが実行する秘密グループ分け方法。
  7.  コンピュータを、請求項1乃至4の何れか一項に記載の秘密グループ分け装置として機能させるプログラム。
PCT/JP2020/039125 2020-10-16 2020-10-16 秘密グループ分け装置、秘密グループ分けシステム、秘密グループ分け方法、及びプログラム WO2022079909A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN202080106010.7A CN116324711A (zh) 2020-10-16 2020-10-16 秘密分组装置、秘密分组***、秘密分组方法及程序
AU2020472129A AU2020472129B2 (en) 2020-10-16 2020-10-16 Secret grouping device, secret grouping system, secret grouping method, and program
US18/246,928 US20230401263A1 (en) 2020-10-16 2020-10-16 Secret grouping apparatus, secret grouping system, secret grouping method, and program
EP20957738.6A EP4231275A4 (en) 2020-10-16 2020-10-16 SECRET GROUPING DEVICE, SECRET GROUPING SYSTEM, SECRET GROUPING METHOD, AND PROGRAM
JP2022556818A JP7491390B2 (ja) 2020-10-16 2020-10-16 秘密グループ分け装置、秘密グループ分けシステム、秘密グループ分け方法、及びプログラム
PCT/JP2020/039125 WO2022079909A1 (ja) 2020-10-16 2020-10-16 秘密グループ分け装置、秘密グループ分けシステム、秘密グループ分け方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/039125 WO2022079909A1 (ja) 2020-10-16 2020-10-16 秘密グループ分け装置、秘密グループ分けシステム、秘密グループ分け方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2022079909A1 true WO2022079909A1 (ja) 2022-04-21

Family

ID=81209034

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/039125 WO2022079909A1 (ja) 2020-10-16 2020-10-16 秘密グループ分け装置、秘密グループ分けシステム、秘密グループ分け方法、及びプログラム

Country Status (6)

Country Link
US (1) US20230401263A1 (ja)
EP (1) EP4231275A4 (ja)
JP (1) JP7491390B2 (ja)
CN (1) CN116324711A (ja)
AU (1) AU2020472129B2 (ja)
WO (1) WO2022079909A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019208484A1 (ja) * 2018-04-25 2019-10-31 日本電信電話株式会社 秘密集約総和システム、秘密計算装置、秘密集約総和方法、およびプログラム
JP2020095437A (ja) * 2018-12-12 2020-06-18 Kddi株式会社 クラスタリング装置、クラスタリング方法及びクラスタリングプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5860378B2 (ja) 2012-10-16 2016-02-16 日本電信電話株式会社 秘密計算システム、集約関数装置、秘密計算方法、およびプログラム
JP6973633B2 (ja) * 2018-04-25 2021-12-01 日本電信電話株式会社 秘密集約最大値システム、秘密集約最小値システム、秘密計算装置、秘密集約最大値方法、秘密集約最小値方法、およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019208484A1 (ja) * 2018-04-25 2019-10-31 日本電信電話株式会社 秘密集約総和システム、秘密計算装置、秘密集約総和方法、およびプログラム
JP2020095437A (ja) * 2018-12-12 2020-06-18 Kddi株式会社 クラスタリング装置、クラスタリング方法及びクラスタリングプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4231275A4 *

Also Published As

Publication number Publication date
JPWO2022079909A1 (ja) 2022-04-21
US20230401263A1 (en) 2023-12-14
EP4231275A4 (en) 2024-07-10
AU2020472129B2 (en) 2023-12-07
AU2020472129A1 (en) 2023-05-25
JP7491390B2 (ja) 2024-05-28
CN116324711A (zh) 2023-06-23
EP4231275A1 (en) 2023-08-23

Similar Documents

Publication Publication Date Title
WO2016175785A1 (en) Topic identification based on functional summarization
Hassanat et al. Magnetic force classifier: a Novel Method for Big Data classification
JP7505570B2 (ja) 秘密決定木テスト装置、秘密決定木テストシステム、秘密決定木テスト方法、及びプログラム
CN109635839B (zh) 一种基于机器学***衡数据集的处理方法和装置
Patra et al. Evolutionary hybrid feature selection for cancer diagnosis
CN113591881A (zh) 基于模型融合的意图识别方法、装置、电子设备及介质
Nguyen et al. Learning on hypergraphs with sparsity
WO2022079909A1 (ja) 秘密グループ分け装置、秘密グループ分けシステム、秘密グループ分け方法、及びプログラム
WO2022174499A1 (zh) 文本韵律边界预测的方法、装置、设备及存储介质
CN115544257B (zh) 网盘文档快速分类方法、装置、网盘及存储介质
CN111488400B (zh) 数据分类方法、装置和计算机可读存储介质
CN110427496A (zh) 用于文本处理的知识图谱扩充方法及装置
Grzegorowski Governance of the redundancy in the feature selection based on rough sets’ reducts
Langenkämper et al. Ake-the accelerated k-mer exploration web-tool for rapid taxonomic classification and visualization
CN111133495B (zh) 秘密读取装置、秘密写入装置、它们的方法以及记录介质
CN109478381B (zh) 秘密计算***、秘密计算装置、秘密计算方法以及程序
JP7494932B2 (ja) 秘密決定木テスト装置、秘密決定木テストシステム、秘密決定木テスト方法、及びプログラム
JP6831307B2 (ja) 解算出装置、解算出方法及び解算出プログラム
JP4865449B2 (ja) 差分生成装置及び差分適用装置及び差分生成プログラム及び差分適用プログラム及び差分生成適用システム及び差分生成適用方法
US20230376790A1 (en) Secret decision tree learning apparatus, secret decision tree learning system, secret decision tree learning method, and program
JP4870732B2 (ja) 情報処理装置、名寄せ方法及びプログラム
CN115167913B (zh) 一种操作***的分层方法、计算设备及存储介质
Vasumathi et al. A comparative study on traditional data mining and big data mining classification algorithms
JP5824430B2 (ja) スパム特徴算出装置、スパム特徴算出方法、及びプログラム
WO2022264238A1 (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: 20957738

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022556818

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2020472129

Country of ref document: AU

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020957738

Country of ref document: EP

Effective date: 20230516

ENP Entry into the national phase

Ref document number: 2020472129

Country of ref document: AU

Date of ref document: 20201016

Kind code of ref document: A