WO2024018504A1 - クライアント装置、秘密テーブル管理システム、レコード登録要求生成方法、レコード登録方法、処理要求実行方法、プログラム - Google Patents

クライアント装置、秘密テーブル管理システム、レコード登録要求生成方法、レコード登録方法、処理要求実行方法、プログラム Download PDF

Info

Publication number
WO2024018504A1
WO2024018504A1 PCT/JP2022/027995 JP2022027995W WO2024018504A1 WO 2024018504 A1 WO2024018504 A1 WO 2024018504A1 JP 2022027995 W JP2022027995 W JP 2022027995W WO 2024018504 A1 WO2024018504 A1 WO 2024018504A1
Authority
WO
WIPO (PCT)
Prior art keywords
attribute
record
value
secret
function
Prior art date
Application number
PCT/JP2022/027995
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/JP2022/027995 priority Critical patent/WO2024018504A1/ja
Publication of WO2024018504A1 publication Critical patent/WO2024018504A1/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 secure computation technique, and particularly to a secure computation technique that targets a table including a composite attribute composed of a plurality of attributes.
  • Secure calculation is a method of obtaining the result of a specified operation without restoring the encrypted numerical value (see, for example, Reference Non-Patent Document 1, Non-Patent Document 1, and Patent Document 1).
  • the method in Reference Non-Patent Document 1 performs encryption by distributing multiple pieces of information from which numerical values can be restored to three secret computing devices, and performs addition/subtraction, constant sum, multiplication, and constant multiplication without restoring numerical values.
  • the results of logical operations (negation, logical product, logical sum, exclusive disjunction) and data format conversion (integer, binary number) are kept in a distributed state, that is, encrypted, in three secret computing devices. Can be done.
  • the number of distributions is not limited to 3, but can be set to W (W is a predetermined constant of 3 or more), and a protocol that realizes secure computation through cooperative computation by W secure computing devices is called a multiparty protocol.
  • attributes that make up a table there is an attribute called a composite attribute that is made up of multiple attributes. For example, it consists of an attribute "major classification” that can take values from 1 to 20, an attribute “medium classification” that can take values from A to J, and an attribute “minor classification” that can take values from 1 to 200. It consists of a complex attribute “classification”, an attribute "year” which can take values from 1900 to 2100, an attribute “month” which can take values from 1 to 12, and an attribute “day” which can take values from 1 to 31. There is a complex attribute “Year, Month, and Date.” Conventionally, this composite attribute is also converted so that the value of the composite attribute and the numerical value simply correspond to each other on a one-to-one basis.
  • an object of the present invention is to provide a table management technique that can efficiently execute secure calculations on a table including complex attributes.
  • A is a composite attribute composed of M attributes A 1 , ..., A M (M is an integer of 2 or more), and T is a composite attribute composed of M attributes A
  • function F m is a function that preserves the ordering relationship
  • W A client device in a secret table calculation system including a secret table management system configured of secret table management server devices (W is an integer of 3 or more) and one or more client devices, the client device having an attribute of complex attribute A.
  • A is a composite attribute composed of M attributes A 1 , ..., A M (M is an integer of 2 or more), and T is a composite attribute composed of M attributes A
  • function F m is a function that preserves the ordering relationship
  • a table [T] that is made secret from table T is managed by W
  • a secret table management system in a secret table calculation system including a secret table management system consisting of a number of secret table management server devices (W is an integer of 3 or more) and one or more client devices, wherein A record that conceals the received record containing the attribute value ( ⁇ 1 , ..., ⁇ M ) of composite attribute A, the attribute value ⁇ 1 , ..., attribute value ⁇ N-1 of attribute B 1 , and the attribute value ⁇ N-1 of attribute B N-1.
  • A is a composite attribute composed of M attributes A 1 , ..., A M (M is an integer of 2 or more), and T is a composite attribute composed of M attributes A
  • F m is a function that preserves the ordering relationship
  • M'G's(M' is an integer between 2 and M)
  • ) is a one-to-one function that converts a set of numbers into a single number (however, the function G is a function that preserves the order relationship), and it manages a table [T] in which table T is concealed.
  • a secret table management system in a secret table calculation system comprising a secret table management server device and one or more client devices, wherein [r] Let r m be a record obtained by concealing record r included in table T, and represent the attribute value of attribute A m of record r , and the processing request from the client device is M' attributes A i_1 that constitute composite attribute A.
  • FIG. 1 is a block diagram showing the configuration of a secret table calculation system 10.
  • FIG. FIG. 2 is a block diagram showing the configuration of a client device 100 v (1 ⁇ v ⁇ V).
  • FIG. 2 is a block diagram showing the configuration of a secret table management server device 200 w (1 ⁇ w ⁇ W). It is a flowchart which shows the operation
  • FIG. 2 is a block diagram showing the configuration of a client device 100 v (1 ⁇ v ⁇ V).
  • FIG. 2 is a block diagram showing the configuration of a secret table management server device 200 w (1 ⁇ w ⁇ W). It is a flowchart which shows the operation
  • 1 is a diagram illustrating an example of a functional configuration of a computer that implements each device in an embodiment of the present invention.
  • ⁇ (caret) represents a superscript.
  • x y ⁇ z indicates that y z is a superscript to x
  • x y ⁇ z indicates that y z is a subscript to x
  • _ (underscore) represents a subscript.
  • x y_z indicates that y z is a superscript to x
  • x y_z indicates that y z is a subscript to x.
  • the secure computation in the invention of this application is constructed by a combination of existing secure computation operations.
  • logical operations nodegation, AND, logical OR, exclusive OR
  • [Anonymization] Let [x] be the value of x concealed by secret sharing (hereinafter referred to as the share of x). Any method can be used as the secret sharing method. For example, Shamir secret sharing on GF(2 61 -1) and replicated secret sharing on Z 2 can be used.
  • Multiple secret sharing methods may be used in combination within one algorithm. In this case, mutual conversion shall be made as appropriate.
  • [ ⁇ x] ([x 1 ], ..., [x N ]).
  • [ ⁇ x] is a vector whose n-th element is the share [x n ] of the n-th element x n of ⁇ x.
  • [A] is the (m, n)th element of A, a m,n Let be a matrix whose (m, n)th element is the share [a m,n ] of
  • Reference Non-Patent Document 1 and Reference Non-Patent Document 2 there are methods described in Reference Non-Patent Document 1 and Reference Non-Patent Document 2 as methods for obtaining [x] from x (concealment) and methods for obtaining x from [x] (restoration).
  • the logical product and([x], [y]) by secure calculation takes [x], [y] as inputs and outputs [and(x, y)].
  • the logical sum or([x], [y]) by secure calculation takes [x], [y] as inputs and outputs [or(x, y)].
  • Exclusive OR xor([x], [y]) by secure calculation takes [x], [y] as inputs and outputs [xor(x, y)].
  • Comparison by secure calculation ⁇ ([x], [y]) takes [x], [y] as input, and outputs [1] if x ⁇ y, otherwise outputs [0]. . Comparison by secure calculation ⁇ ([x], [y]) takes [x], [y] as input, and outputs [1] if x ⁇ y, otherwise outputs [0]. .
  • comparison operation can be easily configured by combining logical operations.
  • a table that secretly sorts table [T] using attribute A of table [T] as a key is a table in which the values of the elements of attribute A are arranged in ascending order from the first record. Let us assume that the table is a table in which each record is replaced so that
  • TL is a table consisting of key attribute Key and attributes B 1 , ..., B M (M is an integer greater than or equal to 1)
  • TR is a table consisting of key attribute Key and attributes C 1 , ..., C N (N is an integer greater than or equal to 1) Let the table consist of .
  • table TC obtained by equijoining table TL and table TR with respect to key attribute Key is: key attribute Key and attribute B 1 , ..., B M , key attribute Key and attribute C 1 , ..., C N It is a table consisting of.
  • Equijoins can be similarly defined for a table [TL] that is a masked table TL and a table [TR] that is a masked table TR.
  • a table [TL] which is made secret of table TL consisting of key attribute Key and attributes B 1 , ..., B M , and table TR made up of key attribute Key and attributes C 1 , ..., C N are made secret.
  • the table [TC] obtained by secretly joining table [TL] and table [TR] with respect to the key attribute Key for the table [TR] is the key attribute Key and the attribute B 1 , ..., B M
  • Reference Patent Document 1 There is a method described in Reference Patent Document 1 as a specific method of secret equivalence binding.
  • the method described in Reference Patent Document 1 is a method that allows the values of the key attribute Key of the table TR to be duplicated.
  • A is a complex attribute composed of M attributes A (M is an integer greater than or equal to 2) A 1 , ..., A M , and T is a complex attribute composed of M attributes A, B (N is an integer greater than or equal to 1) including the complex attribute A.
  • M is an integer greater than or equal to 2
  • T is a complex attribute composed of M attributes A
  • B (N is an integer greater than or equal to 1) including the complex attribute A.
  • the function F m is a function that preserves the order relationship if F m ( a 1 ) ⁇ F m ( This means that a 2 ) holds true.
  • the function F m can be expressed as a table composed of records including the attribute value of the attribute A m and the numerical value corresponding to the attribute value.
  • the secret table computation system 10 is a system that executes secret computation on a table [T] that is a concealed table T.
  • FIG. 1 is a block diagram showing the configuration of a secret table calculation system 10.
  • the secret table calculation system 10 includes V client devices 100 1 , . . . , 100 V (V is an integer of 1 or more) and a secret table management system 20 .
  • the secret table management system 20 includes W (W is an integer of 3 or more) secret table management server devices 200 1 , . . . , 200 W.
  • the client devices 100 1 , . . . , 100 V are connected to the network 800 and can communicate with the secret table management system 20 .
  • the secret table management server devices 200 1 , . . . , 200 W are connected to the network 800 and can communicate with each other.
  • the network 800 may be, for example, a communication network such as the Internet or a broadcast channel.
  • FIG. 2 is a block diagram showing the configuration of the client device 100 v (1 ⁇ v ⁇ V).
  • FIG. 3 is a block diagram showing the configuration of the secret table management server device 200 w (1 ⁇ w ⁇ W).
  • FIG. 4 is a flowchart showing the operation of the client device 100 v (1 ⁇ v ⁇ V) in record registration.
  • FIG. 5 is a flowchart showing the operation of the secret table management system 20 in record registration.
  • FIG. 6 is a flowchart showing the operation of the client device 100 v (1 ⁇ v ⁇ V) in executing a processing request.
  • FIG. 7 is a flowchart showing the operation of the secret table management system 20 in executing a processing request.
  • the client device 100v includes an attribute value conversion section 110v , a record anonymization section 120v , a record registration request generation section 130v , a processing request generation section 140v , and a transmission/reception section 180v . , including a recording section 190v .
  • the recording unit 190v is a component that records information necessary for processing by the client device 100v .
  • the secret table management server device 200w includes a record registration section 210w , a processing request execution section 220w , a transmission/reception section 280w , and a recording section 290w .
  • Each component of the secret table management server device 200 w except for the transmitting/receiving unit 280 w and the recording unit 290 w performs processing such as anonymization, addition, subtraction, multiplication, division, logical operation, comparison operation, and secret sorting.
  • the configuration is such that the calculations necessary for realizing the functions of each component can be executed.
  • the recording unit 290w is a component that records information necessary for processing by the secret table management server device 200w .
  • the recording unit 290w records, for example, a table [T] obtained by concealing the table T.
  • the secret table management system 20 realizes secret calculation related to processing request execution using a multiparty protocol. Therefore, the record registration means 210 (not shown) of the secret table management system 20 is composed of record registration units 210 1 , . 1 , . _
  • the attribute value conversion unit 110 v converts the attribute values (F 1 ( ⁇ 1 ), ..., F M ( ⁇ M ) of the composite attribute A from the attribute values ( ⁇ 1 , ..., ⁇ M ) of the composite attribute A )).
  • the record anonymization unit 120 v sets the attribute value (F 1 ( ⁇ 1 ), ..., F M ( ⁇ M )) of the composite attribute A generated in S110 v , the attribute value ⁇ 1 of the attribute B 1 , ..., a record containing attribute value ⁇ N-1 of attribute B N-1 , a record that conceals the record (([F 1 ( ⁇ 1 )], ..., [F M ( ⁇ M )]), [ ⁇ 1 ], ..., [ ⁇ N-1 ]).
  • the record registration request generation unit 130 v generates the records (([F 1 ( ⁇ 1 )], ..., [F M ( ⁇ M ) ] ), [ ⁇ 1 ], ..., [ A registration request is generated for table [T] of ⁇ N-1 ]), and the registration request is transmitted to the secret table management system 20 using the transmitter/receiver 180v .
  • the record registration means 210 uses the transmitting/receiving means 280 to send records (([ F 1 ( ⁇ 1 )], ..., [F M ( ⁇ M )]), [ ⁇ 1 ], ..., [ ⁇ N-1 ]) is received in table [T], and records (([F 1 ( ⁇ 1 )], ..., [F M ( ⁇ M )]), [ ⁇ 1 ] , ..., [ ⁇ N-1 ]) is registered in table [T].
  • the processing request generating unit 140v generates a processing request for table [T], and transmits the processing request to the secret table management system 20 using the transmitting/receiving unit 180v .
  • the processing request executing means 220 receives a processing request from the client device 100v using the transmitting/receiving means 280, executes the processing request, and transmits the processing result to the client device 100v using the transmitting/receiving means 280 . do.
  • [r] be a record obtained by concealing record r included in table T, and r m represent the attribute value of attribute A m of record r.
  • the processing request is a record where the attribute value of attribute A m is a.
  • the processing request execution means 220 may search for record [r] included in table [T]. , ⁇ ([r m ], [F m (a 1 )]) and ⁇ ([r m ], [F m (a 2 )]), and ⁇ ([r m ], [F m (a 2 )]). 1 )]) and ⁇ ([r m ], [F m (a 2 )]) are both [1], and a processing result including the record is generated.
  • the processing request execution means 220 performs a one-to-one conversion process that converts a set of M' numbers (M' is an integer between 2 and M) into one number.
  • a processing request may be executed using a function G (however, the function G is a function that preserves an order relationship).
  • the function G is a function that preserves the order relationship if G(a 1 ) ⁇ G ( a 2 ) is true.
  • lexicographical ordering can be used as the ordering relationship in the set of M' number pairs.
  • the processing request execution means 220 The value G([F i_1 ( ⁇ i_1 )], ..., of the function G for the attribute value [F i_1 ( ⁇ i_1 )], ..., [F i_M' ( ⁇ i_M' ) ] of A i_1 , ..., A i_M' [F i_M' ( ⁇ i_M' )]) and the attribute value [r i_1 ], ..., [r i_M '
  • G([F i_1 ( ⁇ i_1 )], ..., [F i_M' ( ⁇ i_M' )]) [G(F i_1 ( ⁇ i_1 ), ..., F i_M' ( ⁇ i_M' ))]
  • G([r i_1 ], ..., [r i_M' ]) [G(r i_1 , ..., r i_M' )].
  • the processing request is related to M' attributes A i_1 , ..., A i_M' (i 1 , ..., i M' satisfies 1 ⁇ i 1 ⁇ ... ⁇ i M' ⁇ M) that constitute the composite attribute A.
  • the processing request execution means 220 performs processing for the attribute values [r i_1 ], ..., [r i_M' ] of the attributes A i_1 , ..., A i_M ' of the record [r] included in the table [ T ].
  • the value G([r i_1 ], ..., [r i_M' ]) of the function G may be calculated and secret sorting may be performed.
  • the function G can be a function of the following equation.
  • the cost required for the secret calculation of equation (1) is small, and in general, it is better to calculate the share of the value of the function G to the attribute values of the attributes A i_1 , ..., A i_M' and then execute the processing request.
  • the calculation cost is lower than executing a processing request using shares of attribute values of attributes A i_1 , ..., A i_M' .
  • attribute value conversion is performed in the client device 100v upon record registration, but the secret table management system 20 may also perform the conversion.
  • FIG. 8 is a block diagram showing the configuration of the client device 100 v (1 ⁇ v ⁇ V).
  • FIG. 9 is a block diagram showing the configuration of the secret table management server device 200 w (1 ⁇ w ⁇ W).
  • FIG. 10 is a flowchart showing the operation of the client device 100 v (1 ⁇ v ⁇ V) in record registration.
  • FIG. 11 is a flowchart showing the operation of the secret table management system 20 in record registration.
  • the client device 100v includes a record anonymizing section 120v , a record registration request generating section 130v , a processing request generating section 140v , a transmitting/receiving section 180v , and a recording section 190v .
  • the recording unit 190v is a component that records information necessary for processing by the client device 100v .
  • the secret table management server device 200w includes an attribute value conversion section 205w , a record registration section 210w , a processing request execution section 220w , a transmission/reception section 280w , and a recording section 290w .
  • Each component of the secret table management server device 200 w except for the transmitting/receiving unit 280 w and the recording unit 290 w performs, for example, anonymization, addition, subtraction, multiplication, division, logical operation, comparison operation, secret sorting, secret etc. combination.
  • the controller is configured to be able to execute the calculations required to realize the functions of each component.
  • the recording unit 290w is a component that records information necessary for processing by the secret table management server device 200w .
  • the secret table management system 20 realizes secret calculation related to processing request execution using a multiparty protocol. Therefore, the attribute value conversion means 205 (not shown) of the secret table management system 20 is composed of attribute value conversion units 205 1 , . 1 , ..., 210 W , the processing request execution means 220 (not shown) is composed of processing request execution sections 220 1 , ..., 220 W , and the transmitting/receiving means 280 (not shown) consists of the transmitting/receiving section 280 1 , ..., 280 W.
  • the record anonymization unit 120 v sets the attribute value ( ⁇ 1 , ..., ⁇ M ) of the composite attribute A, the attribute value ⁇ 1 of the attribute B 1 , ..., the attribute value ⁇ N- of the attribute B N-1 From a record containing 1 , a record (([ ⁇ 1 ], ..., [ ⁇ M ]), [ ⁇ 1 ], ..., [ ⁇ N-1 ]) is generated by concealing the record.
  • the record registration request generation unit 130 v generates a table of records (([ ⁇ 1 ], ..., [ ⁇ M ]), [ ⁇ 1 ], ..., [ ⁇ N-1 ]) generated in S120 v . It generates a registration request for [T] and transmits the registration request to the secret table management system 20 using the transmitting/receiving section 180v .
  • the attribute value converting means 205 uses the transmitting/receiving means 280 to convert records (([ ⁇ 1 ], ..., [ ⁇ M ]), [ ⁇ 1 ], ..., [ ⁇ N-1 ]) is received in table [T], and the registration request is received from record (([ ⁇ 1 ], ..., [ ⁇ M ]), [ ⁇ 1 ], ..., [ ⁇ N-1 ]) to record (([ F 1 ( ⁇ 1 )], ..., [F M ( ⁇ M )]), [ ⁇ 1 ], ..., [ ⁇ N-1 ]).
  • the attribute value conversion means 205 converts a table containing records (([ ⁇ 1 ], ..., [ ⁇ M ]), [ ⁇ 1 ], ..., [ ⁇ N-1 ]) and a table representing the function F m .
  • records (([F 1 ( ⁇ 1 )], ..., [F M ( ⁇ M )]), [ ⁇ 1 ], ..., [ ⁇ N -1 ]) can be generated.
  • the record registration means 210 stores the records generated in S205 (([F 1 ( ⁇ 1 )], ..., [F M ( ⁇ M )]), [ ⁇ 1 ], ..., [ ⁇ N-1 ] ) is registered in table [T].
  • the embodiments of the present invention it is possible to efficiently perform secure computation on a table including complex attributes.
  • conversion such that the value of each attribute constituting the composite attribute corresponds to a numerical value on a one-to-one basis, it is possible to suppress the size of the table expressing the function.
  • the complex attribute "classification” it is sufficient to manage three tables: a table containing 20 records, a table containing 10 records, and a table containing 200 records. Furthermore, it is possible to suppress the calculation cost of searching for complex attributes.
  • the device of the present invention as a single hardware entity, includes an input section capable of inputting a signal from outside the hardware entity, an output section capable of outputting a signal outside the hardware entity, and a communication section external to the hardware entity.
  • a communication unit that can be connected to a communication device (for example, a communication cable), a CPU (Central Processing Unit, which may be equipped with cache memory, registers, etc.) that is an arithmetic processing unit, RAM or ROM that is memory, and a hard disk. It has an external storage device, an input section, an output section, a communication section, a CPU, a RAM, a ROM, and a bus that connects the external storage device so that data can be exchanged between them.
  • the hardware entity may be provided with a device (drive) that can read and write a recording medium such as a CD-ROM.
  • a physical entity with such hardware resources includes a general-purpose computer.
  • the external storage device of the hardware entity stores the program required to realize the above-mentioned functions and the data required for processing this program (not limited to the external storage device, for example, when reading the program (It may also be stored in a ROM, which is a dedicated storage device.) Further, data obtained through processing of these programs is appropriately stored in a RAM, an external storage device, or the like.
  • each program stored in an external storage device or ROM, etc.
  • the data required to process each program are read into memory as necessary, and interpreted and executed and processed by the CPU as appropriate.
  • the CPU realizes a predetermined function (each of the components expressed as . . . section, . . . means, etc.). That is, each component in the embodiment of the present invention may be configured by a processing circuit.
  • the processing functions of the hardware entity (device of the present invention) described in the above embodiments are realized by a computer, the processing contents of the functions that the hardware entity should have are described by a program. By executing this program on a computer, the processing functions of the hardware entity are realized on the computer.
  • a program that describes this processing content can be recorded on a computer-readable recording medium.
  • the computer-readable recording medium is, for example, a non-temporary recording medium, specifically a magnetic recording device, an optical disk, or the like.
  • this program is performed, for example, by selling, transferring, lending, etc. portable recording media such as DVDs and CD-ROMs on which the program is recorded. Furthermore, this program may be distributed by storing the program in the 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 for example, first stores a program recorded on a portable recording medium or a program transferred from a server computer into the auxiliary storage unit 2025, which is its own non-temporary storage device. Store. When executing a process, this computer loads the program stored in the auxiliary storage unit 2025, which is its own non-temporary storage device, into the recording unit 2020, and executes the process according to the read program. Further, as another form of execution of this program, the computer may directly load the program from a portable recording medium into the recording unit 2020 and execute processing according to the program. Each time the received program is transferred, processing may be executed in accordance with the received program.
  • ASP Application Service Provider
  • the above-mentioned processing is executed by a so-called ASP (Application Service Provider) type service, which does not transfer programs from the server computer to this computer, but only realizes processing functions by issuing execution instructions and obtaining results.
  • ASP Application Service Provider
  • the present apparatus is configured by executing a predetermined program on a computer, but at least a part of these processing contents may be implemented in hardware.

Landscapes

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

Abstract

複合属性を含むテーブルを対象とする秘密計算を効率的に実行することができるテーブル管理技術を提供する。複合属性Aの属性値(α1, …, αM)(ただし、αm(m=1, …, M)は属性Amの属性値である)から、複合属性Aの属性値(F11), …, FMM))を生成する属性値変換部と、複合属性Aの属性値(F11), …, FMM))、属性B1の属性値β1、…、属性BN-1の属性値βN-1を含むレコードから、当該レコードを秘匿化したレコード(([F11)], …, [FMM)]), [β1], …, [βN-1])を生成するレコード秘匿化部と、レコード(([F11)], …, [FMM)]), [β1], …, [βN-1])のテーブル[T]への登録要求を生成するレコード登録要求生成部とを含む。

Description

クライアント装置、秘密テーブル管理システム、レコード登録要求生成方法、レコード登録方法、処理要求実行方法、プログラム
 本発明は、秘密計算技術に関し、特に複数の属性で構成される複合属性を含むテーブルを対象とする秘密計算技術に関する。
 秘密計算とは、暗号化された数値を復元することなく指定された演算の演算結果を得る方法のことである(例えば参考非特許文献1、非特許文献1、特許文献1を参照)。参考非特許文献1の方法では、数値を復元することのできる複数の情報を3つの秘密計算装置に分散するという暗号化を行い、数値を復元することなく、加減算、定数和、乗算、定数倍、論理演算(否定、論理積、論理和、排他的論理和)、データ形式変換(整数、二進数)の結果を3つの秘密計算装置に分散された状態、すなわち暗号化されたまま保持させることができる。一般に、分散数は3に限らずW(Wは3以上の所定の定数)とすることができ、W個の秘密計算装置による協調計算によって秘密計算を実現するプロトコルはマルチパーティプロトコルと呼ばれる。
(参考非特許文献1:千田浩司, 濱田浩気, 五十嵐大, 高橋克巳, “軽量検証可能3パーティ秘匿関数計算の再考,” In CSS, 2010.)
 テーブルを対象とする秘密計算では、テーブルを構成する属性の値を数値に変換した上で、レコードの登録やテーブルの検索などの演算を実行する。このとき、属性の値と数値とは1対1に対応するように変換する。
 テーブルを構成する属性として、複数の属性で構成される複合属性と呼ばれる属性がある。例えば、1から20までの値を取り得る属性“大分類”、AからJまでの値を取り得る属性“中分類”、1から200までの値を取り得る属性“小分類”で構成される複合属性“分類”や1900から2100までの値を取り得る属性“年”、1から12までの値を取り得る属性“月”、1から31までの値を取り得る属性“日”で構成される複合属性“年月日”がある。この複合属性についても、従来、複合属性の値と数値とが単純に1対1に対応するように変換していた。
千田浩司, 五十嵐大, 濱田浩気, 高橋克巳, "エラー検出可能な軽量3パーティ秘匿関数計算の提案と実装評価," 情報処理学会論文誌, Vol.52, No.9, pp.2674-2685, 2011.
WO2019/203262
 上述のように、複合属性の値と数値とが単純に1対1に対応するように変換すると、例えば、複合属性“分類”では、(属性“大分類”の値の数)×(属性“中分類”の値の数)×(属性“小分類”の値の数)=20×10×200=40000レコードを含むテーブルを用いてその対応関係を管理する必要が生じる。つまり、複合属性については、その対応関係を管理するためのテーブルが大きくなってしまうという問題がある。
 また、例えば、複合属性“分類”に対して、属性“中分類”の値がAとなるレコードを検索する場合、上記テーブルを用いて複合属性“分類”の値(1, A, 1), (1, A, 2), …, (20, A, 200)をそれぞれ数値に変換した上で、変換で得られた4000個の数値を用いて検索を行う必要がある。つまり、複合属性については、検索の計算コストが大きくなってしまうという問題がある。
 すなわち、複合属性の値と数値とが単純に1対1に対応するような変換を用いると、複合属性を含むテーブルを対象とする秘密計算を効率的に実行することができない。
 そこで本発明は、複合属性を含むテーブルを対象とする秘密計算を効率的に実行することができるテーブル管理技術を提供することを目的とする。
 本発明の一態様は、AをM個(Mは2以上の整数)の属性A1, …, AMで構成される複合属性、Tを複合属性Aを含むN個(Nは1以上の整数)の属性A, B1, …, BN-1で構成されるテーブルとし、Fm(m=1, …, M)を属性Amの属性値を数値に変換する1対1関数(ただし、属性Amの属性値の集合に順序関係が定義されている場合、関数Fmは順序関係を保存する関数である)とし、テーブルTを秘匿化したテーブル[T]を管理する、W個(Wは3以上の整数)の秘密テーブル管理サーバ装置で構成される秘密テーブル管理システムと、1個以上のクライアント装置とを含む秘密テーブル計算システムにおけるクライアント装置であって、複合属性Aの属性値(α1, …, αM)(ただし、αm(m=1, …, M)は属性Amの属性値である)から、複合属性Aの属性値(F11), …, FMM))を生成する属性値変換部と、複合属性Aの属性値(F11), …, FMM))、属性B1の属性値β1、…、属性BN-1の属性値βN-1を含むレコードから、当該レコードを秘匿化したレコード(([F11)], …, [FMM)]), [β1], …, [βN-1])を生成するレコード秘匿化部と、レコード(([F11)], …, [FMM)]), [β1], …, [βN-1])のテーブル[T]への登録要求を生成するレコード登録要求生成部と、を含む。
 本発明の一態様は、AをM個(Mは2以上の整数)の属性A1, …, AMで構成される複合属性、Tを複合属性Aを含むN個(Nは1以上の整数)の属性A, B1, …, BN-1で構成されるテーブルとし、Fm(m=1, …, M)を属性Amの属性値を数値に変換する1対1関数(ただし、属性Amの属性値の集合に順序関係が定義されている場合、関数Fmは順序関係を保存する関数である)とし、テーブルTを秘匿化したテーブル[T]を管理する、W個(Wは3以上の整数)の秘密テーブル管理サーバ装置で構成される秘密テーブル管理システムと、1個以上のクライアント装置とを含む秘密テーブル計算システムにおける秘密テーブル管理システムであって、クライアント装置から受信した、複合属性Aの属性値(α1, …, αM)、属性B1の属性値β1、…、属性BN-1の属性値βN-1を含むレコードを秘匿化したレコード(([α1], …, [αM]), [β1], …, [βN-1])のテーブル[T]への登録要求から、レコード(([F11)], …, [FMM)]), [β1], …, [βN-1])を生成する属性値変換手段と、レコード(([F11)], …, [FMM)]), [β1], …, [βN-1])をテーブル[T]に登録するレコード登録手段と、を含む。
 本発明の一態様は、AをM個(Mは2以上の整数)の属性A1, …, AMで構成される複合属性、Tを複合属性Aを含むN個(Nは1以上の整数)の属性A, B1, …, BN-1で構成されるテーブルとし、Fm(m=1, …, M)を属性Amの属性値を数値に変換する1対1関数(ただし、属性Amの属性値の集合に順序関係が定義されている場合、関数Fmは順序関係を保存する関数である)とし、GをM’個(M’は2以上M以下の整数)の数値の組を1個の数値に変換する1対1関数(ただし、関数Gは順序関係を保存する関数である)とし、テーブルTを秘匿化したテーブル[T]を管理する、W個(Wは3以上の整数)の秘密テーブル管理サーバ装置で構成される秘密テーブル管理システムと、1個以上のクライアント装置とを含む秘密テーブル計算システムにおける秘密テーブル管理システムであって、[r]をテーブルTに含まれるレコードrを秘匿化したレコード、rmをレコードrの属性Amの属性値を表すものとし、クライアント装置からの処理要求が複合属性Aを構成するM’個の属性Ai_1, …, Ai_M’(i1, …, iM’は1≦i1<…<iM’≦Mを満たす)の属性値αi_1, …, αi_M’(ただし、αm(m=i1, …, iM’)は属性Amの属性値である)に関する検索である場合は、属性Ai_1, …, Ai_M’の属性値[Fi_1i_1)], …, [Fi_M’i_M’)]に対する関数Gの値G([Fi_1i_1)], …, [Fi_M’i_M’)])とテーブル[T]に含まれるレコード[r]の属性Ai_1, …, Ai_M’の属性値[ri_1], …, [ri_M’]に対する関数Gの値G([ri_1], …, [ri_M’])とを計算し、検索を実行し、クライアント装置からの処理要求が複合属性Aを構成するM’個の属性Ai_1, …, Ai_M’(i1, …, iM’は1≦i1<…<iM’≦Mを満たす)に関するソートである場合は、テーブル[T]に含まれるレコード[r]の属性Ai_1, …, Ai_M’の属性値[ri_1], …, [ri_M’]に対する関数Gの値G([ri_1], …, [ri_M’])を計算し、秘密ソートを実行する処理要求実行手段と、を含む。
 本発明によれば、複合属性を含むテーブルを対象とする秘密計算を効率的に実行することが可能となる。
秘密テーブル計算システム10の構成を示すブロック図である。 クライアント装置100v(1≦v≦V)の構成を示すブロック図である。 秘密テーブル管理サーバ装置200w(1≦w≦W)の構成を示すブロック図である。 レコード登録におけるクライアント装置100v(1≦v≦V)の動作を示すフローチャートである。 レコード登録における秘密テーブル管理システム20の動作を示すフローチャートである。 処理要求実行におけるクライアント装置100v(1≦v≦V)の動作を示すフローチャートである。 処理要求実行における秘密テーブル管理システム20の動作を示すフローチャートである。 クライアント装置100v(1≦v≦V)の構成を示すブロック図である。 秘密テーブル管理サーバ装置200w(1≦w≦W)の構成を示すブロック図である。 レコード登録におけるクライアント装置100v(1≦v≦V)の動作を示すフローチャートである。 レコード登録における秘密テーブル管理システム20の動作を示すフローチャートである。 本発明の実施形態における各装置を実現するコンピュータの機能構成の一例を示す図である。
 以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
 各実施形態の説明に先立って、この明細書における表記方法について説明する。
 ^(キャレット)は上付き添字を表す。例えば、xy^zはyzがxに対する上付き添字であり、xy^zはyzがxに対する下付き添字であることを表す。また、_(アンダースコア)は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
 ある文字xに対するx、^xや~xのような上付き添え字の””、”^”や”~”は、本来”x”の真上に記載されるべきであるが、明細書の記載表記の制約上、x、^xや~xと記載しているものである。
<技術的背景>
<<秘密計算>>
 本願の発明における秘密計算は、既存の秘密計算上の演算の組み合わせで構築される。この秘密計算に必要な演算は、例えば、秘匿化、加算、減算、乗算、除算、論理演算(否定、論理積、論理和、排他的論理和)、比較演算(=, <, >, ≦, ≧)、秘密ソートである。以下、記法も含めいくつかの演算について説明していく。
 なお、テーブルに関する秘密計算は、テーブルを行列、テーブルの属性の値の列を列ベクトル、テーブルのレコードを行ベクトルとみなすことにより、実現することができる。
[秘匿化]
 [x]をxを秘密分散で秘匿した値(以下、xのシェアという)とする。秘密分散方法には、任意の方法を用いることができる。例えば、GF(261-1)上のShamir秘密分散、Z2上の複製秘密分散を用いることができる。
 ある1つのアルゴリズムの中で複数の秘密分散方法を組み合わせて用いてもよい。この場合、適宜相互に変換するものとする。
 また、N次元ベクトルx=(x1, …, xN)に対して、[x]=([x1], …, [xN])とする。つまり、[x]は、xの第n要素xnのシェア[xn]を第n要素とするベクトルである。同様に、M×N行列A=(am,n)(1≦m≦M, 1≦n≦N)に対しても、[A]をAの第(m, n)要素am,nのシェア[am,n]を第(m, n)要素とする行列とする。
 なお、xを[x]の平文という。
 xから[x]を求める方法(秘匿化)、[x]からxを求める方法(復元)として、具体的には、参考非特許文献1、参考非特許文献2に記載の方法がある。
(参考非特許文献2:Shamir, A., “How to share a secret”, Communications of the ACM, Vol.22,  No.11, pp.612-613, 1979.)
[加算、減算、乗算、除算]
 秘密計算による加算[x]+[y]は、[x], [y]を入力とし、[x+y]を出力する。秘密計算による減算[x]-[y]は、[x], [y]を入力とし、[x-y]を出力する。秘密計算による乗算[x]×[y](mul([x], [y])と表すこともある)は、[x], [y]を入力とし、[x×y]を出力する。秘密計算による除算[x]/[y](div([x], [y])と表すこともある)は、[x], [y]を入力とし、[x/y]を出力する。
 加算、減算、乗算、除算の具体的方法として、参考非特許文献3、参考非特許文献4に記載の方法がある。
(参考非特許文献3:Ben-Or, M., Goldwasser, S. and Wigderson, A., “Completeness theorems for non-cryptographic fault-tolerant distributed computation”, Proceedings of the twentieth annual ACM symposium on Theory of computing, ACM, pp. 1-10, 1988.)
(参考非特許文献4:Gennaro, R., Rabin, M. O. and Rabin, T., “Simplied VSS and fast-track multiparty computations with applications to threshold cryptography”, Proceedings of the seventeenth annual ACM symposium on Principles of distributed computing, ACM, pp.101-111, 1998.)
[論理演算]
 秘密計算による否定not[x]は、[x]を入力とし、[not(x)]を出力する。秘密計算による論理積and([x], [y])は、[x], [y]を入力とし、[and(x, y)]を出力する。秘密計算による論理和or([x], [y])は、[x], [y]を入力とし、[or(x, y)]を出力する。秘密計算による排他的論理和xor([x], [y])は、[x], [y]を入力とし、[xor(x, y)]を出力する。
 なお、論理演算は加算、減算、乗算、除算を組み合わせることで容易に構成することができる。
[比較演算]
 秘密計算による等号判定=([x], [y]) (equal([x], [y])と表すこともある)は、[x], [y]を入力とし、x=yである場合は[1]を、それ以外の場合は[0]を出力する。秘密計算による比較<([x], [y])は、[x], [y]を入力とし、x<yである場合は[1]を、それ以外の場合は[0]を出力する。秘密計算による比較>([x], [y])は、[x], [y]を入力とし、x>yである場合は[1]を、それ以外の場合は[0]を出力する。秘密計算による比較≦([x], [y])は、[x], [y]を入力とし、x≦yである場合は[1]を、それ以外の場合は[0]を出力する。秘密計算による比較≧([x], [y])は、[x], [y]を入力とし、x≧yである場合は[1]を、それ以外の場合は[0]を出力する。
 なお、比較演算は論理演算を組み合わせることで容易に構成することができる。
[秘密ソート]
 秘密ソートは、N次元ベクトルx=(x1, …, xN)のシェア[x]を入力とし、[x]の要素[x1], …, [xN]を昇順にソートしたベクトルsort([x]):=([xi_1], …, [xi_N])(ただし、xi_1, …, xi_Nはxi_1≦xi_2≦ … ≦xi_Nを満たす)を出力する。また、テーブルTを秘匿化したテーブル[T]に対して、テーブル[T]の属性Aをキーとしてテーブル[T]を秘密ソートしたテーブルとは、属性Aの要素の値が第1レコードから昇順になるようにレコードごと入れ替えたテーブルのこととする。
 秘密ソートの具体的方法として、参考非特許文献5に記載の方法がある。
(参考非特許文献5:五十嵐大, 濱田浩気, 菊池亮, 千田浩司, “超高速秘密計算ソートの設計と実装:秘密計算がスクリプト言語に並ぶ日,” コンピュータセキュリティシンポジウム(CSS), 2017.)
[秘密等結合]
 TLをキー属性Keyと属性B1, …, BM(Mは1以上の整数)で構成されるテーブル、TRをキー属性Keyと属性C1, …, CN(Nは1以上の整数)で構成されるテーブルとする。このとき、テーブルTLとテーブルTRをキー属性Keyに関して等結合することにより得られるテーブルTCとは、キー属性Keyと属性B1, …, BMとキー属性Keyと属性C1, …, CNで構成されるテーブルのことである。
 テーブルTLを秘匿化したテーブル[TL]、テーブルTRを秘匿化したテーブル[TR]に対しても同様に等結合を定義することができる。すなわち、キー属性Keyと属性B1, …, BMで構成されるテーブルTLを秘匿化したテーブル[TL]とキー属性Keyと属性C1, …, CNで構成されるテーブルTRを秘匿化したテーブル[TR]に対して、テーブル[TL]とテーブル[TR]をキー属性Keyに関して秘密等結合することにより得られるテーブル[TC]とは、キー属性Keyと属性B1, …, BMとキー属性Keyと属性C1, …, CNで構成されるテーブルTCを秘匿化したテーブルのことである。
 秘密等結合の具体的方法として、参考特許文献1に記載の方法がある。参考特許文献1に記載の方法は、テーブルTRのキー属性Keyの値が重複することを許容する方法である。
(参考特許文献1:WO2018/061800)
<第1実施形態>
 AをM個(Mは2以上の整数)の属性A1, …, AMで構成される複合属性、Tを複合属性Aを含むN個(Nは1以上の整数)の属性A, B1, …, BN-1で構成されるテーブルとする。また、Fm(m=1, …, M)を属性Amの属性値を数値に変換する1対1関数(ただし、属性Amの属性値の集合に順序関係が定義されている場合、関数Fmは順序関係を保存する関数である)とする。ここで、関数Fmが順序関係を保存する関数であるとは、a1<a2を満たす属性Amの属性値a1, a2に対して、Fm(a1)<Fm(a2)が成り立つことをいう。関数Fmは、属性Amの属性値と当該属性値に対応する数値を含むレコードで構成されるテーブルとして表現することができる。
 秘密テーブル計算システム10は、テーブルTを秘匿化したテーブル[T]に関する秘密計算を実行するシステムである。
 以下、図1~図7を参照して秘密テーブル計算システム10について説明する。図1は、秘密テーブル計算システム10の構成を示すブロック図である。秘密テーブル計算システム10は、V個(Vは1以上の整数)のクライアント装置1001、…、100Vと秘密テーブル管理システム20とを含む。秘密テーブル管理システム20は、W個(Wは3以上の整数)の秘密テーブル管理サーバ装置2001、…、200Wを含む。クライアント装置1001、…、100Vは、ネットワーク800に接続しており、秘密テーブル管理システム20と通信可能である。秘密テーブル管理サーバ装置2001、…、200Wは、ネットワーク800に接続しており、相互に通信可能である。ネットワーク800は、例えば、インターネットなどの通信網あるいは同報通信路などでよい。図2は、クライアント装置100v(1≦v≦V)の構成を示すブロック図である。図3は、秘密テーブル管理サーバ装置200w(1≦w≦W)の構成を示すブロック図である。図4は、レコード登録におけるクライアント装置100v(1≦v≦V)の動作を示すフローチャートである。図5は、レコード登録における秘密テーブル管理システム20の動作を示すフローチャートである。図6は、処理要求実行におけるクライアント装置100v(1≦v≦V)の動作を示すフローチャートである。図7は、処理要求実行における秘密テーブル管理システム20の動作を示すフローチャートである。
 図2に示すようにクライアント装置100vは、属性値変換部110vと、レコード秘匿化部120vと、レコード登録要求生成部130vと、処理要求生成部140vと、送受信部180vと、記録部190vを含む。記録部190vは、クライアント装置100vの処理に必要な情報を記録する構成部である。記録部190vは、例えば関数Fm(m=1, …, M)を記録する。
 図3に示すように秘密テーブル管理サーバ装置200wは、レコード登録部210wと、処理要求実行部220wと、送受信部280wと、記録部290wを含む。送受信部280wと記録部290wを除く秘密テーブル管理サーバ装置200wの各構成部は、例えば、秘匿化、加算、減算、乗算、除算、論理演算、比較演算、秘密ソートのように、処理要求実行で必要とされる演算のうち、各構成部の機能を実現するうえで必要になる演算を実行できるように構成されている。本発明において個々の演算を実現するための具体的な機能構成は、既存のアルゴリズムを実行できるような構成で十分であり、これらは従来的構成であるから詳細な説明については省略する。また、記録部290wは、秘密テーブル管理サーバ装置200wの処理に必要な情報を記録する構成部である。記録部290wは、例えば、テーブルTを秘匿化したテーブル[T]を記録する。
 W個の秘密テーブル管理サーバ装置200w(1≦w≦W)による協調計算によって、秘密テーブル管理システム20はマルチパーティプロトコルである処理要求実行に関する秘密計算を実現する。よって、秘密テーブル管理システム20のレコード登録手段210(図示していない)はレコード登録部2101、…、210Wで構成され、処理要求実行手段220(図示していない)は処理要求実行部2201、…、220Wで構成され、送受信手段280(図示していない)は送受信部2801、…、280Wで構成される。
[レコード登録]
 ここでは、複合属性Aの属性値(α1, …, αM)(ただし、αm(m=1, …, M)は属性Amの属性値である)、属性B1の属性値β1、…、属性BN-1の属性値βN-1を含むレコードから得られる秘匿化レコードのテーブル[T]への登録について説明する。以下、図4~5に従いクライアント装置100vの動作、秘密テーブル管理システム20の動作について説明する。
 S110vにおいて、属性値変換部110vは、複合属性Aの属性値(α1, …, αM)から、複合属性Aの属性値(F11), …, FMM))を生成する。
 S120vにおいて、レコード秘匿化部120vは、S110vで生成した複合属性Aの属性値(F11), …, FMM))、属性B1の属性値β1、…、属性BN-1の属性値βN-1を含むレコードから、当該レコードを秘匿化したレコード(([F11)], …, [FMM)]), [β1], …, [βN-1])を生成する。
 S130vにおいて、レコード登録要求生成部130vは、S120vで生成したレコード(([F11)], …, [FMM)]), [β1], …, [βN-1])のテーブル[T]への登録要求を生成し、送受信部180vを用いて当該登録要求を秘密テーブル管理システム20に送信する。
 S210において、レコード登録手段210は、送受信手段280を用いてクライアント装置100vからのレコード(([F11)], …, [FMM)]), [β1], …, [βN-1])のテーブル[T]への登録要求を受信し、レコード(([F11)], …, [FMM)]), [β1], …, [βN-1])をテーブル[T]に登録する。
[処理要求実行]
 ここでは、クライアント装置からの処理要求の実行について説明する。以下、図6~7に従いクライアント装置100vの動作、秘密テーブル管理システム20の動作について説明する。
 S140vにおいて、処理要求生成部140vは、テーブル[T]に対する処理要求を生成し、送受信部180vを用いて当該処理要求を秘密テーブル管理システム20に送信する。
 S220において、処理要求実行手段220は、送受信手段280を用いてクライアント装置100vからの処理要求を受信し、当該処理要求を実行し、送受信手段280を用いてクライアント装置100vに処理結果を送信する。
 [r]をテーブルTに含まれるレコードrを秘匿化したレコード、rmをレコードrの属性Amの属性値を表すものとし、例えば、処理要求が属性Amの属性値がaであるレコードの検索である場合、処理要求実行手段220は、テーブル[T]に含まれるレコード[r]に対して、=([rm], [Fm(a)])を計算し、=([rm], [Fm(a)])が[1]となるレコードを抽出し、当該レコードを含む処理結果を生成する。また、例えば、処理要求が属性Amの属性値がa1以上a2以下であるレコードの検索である場合、処理要求実行手段220は、テーブル[T]に含まれるレコード[r]に対して、≧([rm], [Fm(a1)])と≦([rm], [Fm(a2)])を計算し、≧([rm], [Fm(a1)])と≦([rm], [Fm(a2)])の両方が[1]となるレコードを抽出し、当該レコードを含む処理結果を生成する。
 また、処理要求が複合属性Aに関するものである場合、処理要求実行手段220は、M’個(M’は2以上M以下の整数)の数値の組を1個の数値に変換する1対1関数G(ただし、関数Gは順序関係を保存する関数である)を用いて、処理要求を実行するようにしてもよい。ここで、関数Gが順序関係を保存する関数であるとは、a1<a2を満たすM’個の数値の組a1, a2に対して、G(a1)<G(a2)が成り立つことをいう。M’個の数値の組の集合における順序関係としては、例えば、辞書式順序を用いることができる。処理要求が複合属性Aを構成するM’個の属性Ai_1, …, Ai_M’(i1, …, iM’は1≦i1<…<iM’≦Mを満たす)の属性値αi_1, …, αi_M’(ただし、αm(m=i1, …, iM’)は属性Amの属性値である)に関する検索である場合は、処理要求実行手段220は、属性Ai_1, …, Ai_M’の属性値[Fi_1i_1)], …, [Fi_M’i_M’)]に対する関数Gの値G([Fi_1i_1)], …, [Fi_M’i_M’)])とテーブル[T]に含まれるレコード[r]の属性Ai_1, …, Ai_M’の属性値[ri_1], …, [ri_M’]に対する関数Gの値G([ri_1], …, [ri_M’])とを計算し、検索を実行してもよい。ここで、G([Fi_1i_1)], …, [Fi_M’i_M’)])=[G(Fi_1i_1), …, Fi_M’i_M’))], G([ri_1], …, [ri_M’])=[G(ri_1, …, ri_M’)]である。また、処理要求が複合属性Aを構成するM’個の属性Ai_1, …, Ai_M’(i1, …, iM’は1≦i1<…<iM’≦Mを満たす)に関するソートである場合は、処理要求実行手段220は、テーブル[T]に含まれるレコード[r]の属性Ai_1, …, Ai_M’の属性値[ri_1], …, [ri_M’]に対する関数Gの値G([ri_1], …, [ri_M’])を計算し、秘密ソートを実行してもよい。
 関数Gは例えば次式の関数とすることができる。
Figure JPOXMLDOC01-appb-M000001

 ただし、Sm(m=1, …, M)は属性Amの属性値の集合上での関数Fmの最大値を表す。
 式(1)の秘密計算にかかるコストは小さいものであり、一般に、属性Ai_1, …, Ai_M’の属性値に対する関数Gの値のシェアを計算したうえで処理要求を実行する方が、属性Ai_1, …, Ai_M’の属性値のシェアを用いて処理要求を実行するよりも計算コストが小さくなる。
<変形例>
 第1実施形態では、レコード登録に際してクライアント装置100vにおいて属性値変換を行ったが、秘密テーブル管理システム20が行うようにしてもよい。
 以下、図8~図11を参照して変形例におけるクライアント装置100v、秘密テーブル管理システム20について説明する。図8は、クライアント装置100v(1≦v≦V)の構成を示すブロック図である。図9は、秘密テーブル管理サーバ装置200w(1≦w≦W)の構成を示すブロック図である。図10は、レコード登録におけるクライアント装置100v(1≦v≦V)の動作を示すフローチャートである。図11は、レコード登録における秘密テーブル管理システム20の動作を示すフローチャートである。
 図8に示すようにクライアント装置100vは、レコード秘匿化部120vと、レコード登録要求生成部130vと、処理要求生成部140vと、送受信部180vと、記録部190vを含む。記録部190vは、クライアント装置100vの処理に必要な情報を記録する構成部である。記録部190vは、例えば関数Fm(m=1, …, M)を記録する。
 図9に示すように秘密テーブル管理サーバ装置200wは、属性値変換部205wと、レコード登録部210wと、処理要求実行部220wと、送受信部280wと、記録部290wを含む。送受信部280wと記録部290wを除く秘密テーブル管理サーバ装置200wの各構成部は、例えば、秘匿化、加算、減算、乗算、除算、論理演算、比較演算、秘密ソート、秘密等結合のように、処理要求実行で必要とされる演算のうち、各構成部の機能を実現するうえで必要になる演算を実行できるように構成されている。本発明において個々の演算を実現するための具体的な機能構成は、既存のアルゴリズムを実行できるような構成で十分であり、これらは従来的構成であるから詳細な説明については省略する。また、記録部290wは、秘密テーブル管理サーバ装置200wの処理に必要な情報を記録する構成部である。記録部290wは、例えば、テーブルTを秘匿化したテーブル[T]や関数Fm(m=1, …, M)を記録する。
 W個の秘密テーブル管理サーバ装置200w(1≦w≦W)による協調計算によって、秘密テーブル管理システム20はマルチパーティプロトコルである処理要求実行に関する秘密計算を実現する。よって、秘密テーブル管理システム20の属性値変換手段205(図示していない)は属性値変換部2051、…、205Wで構成され、レコード登録手段210(図示していない)はレコード登録部2101、…、210Wで構成され、処理要求実行手段220(図示していない)は処理要求実行部2201、…、220Wで構成され、送受信手段280(図示していない)は送受信部2801、…、280Wで構成される。
[レコード登録]
 ここでは、複合属性Aの属性値(α1, …, αM)(ただし、αm(m=1, …, M)は属性Amの属性値である)、属性B1の属性値β1、…、属性BN-1の属性値βN-1を含むレコードから得られる秘匿化レコードのテーブル[T]への登録について説明する。以下、図10~11に従いクライアント装置100vの動作、秘密テーブル管理システム20の動作について説明する。
 S120vにおいて、レコード秘匿化部120vは、複合属性Aの属性値(α1, …, αM)、属性B1の属性値β1、…、属性BN-1の属性値βN-1を含むレコードから、当該レコードを秘匿化したレコード(([α1], …, [αM]), [β1], …, [βN-1])を生成する。
 S130vにおいて、レコード登録要求生成部130vは、S120vで生成したレコード(([α1], …, [αM]), [β1], …, [βN-1])のテーブル[T]への登録要求を生成し、送受信部180vを用いて当該登録要求を秘密テーブル管理システム20に送信する。
 S205において、属性値変換手段205は、送受信手段280を用いてクライアント装置100vからのレコード(([α1], …, [αM]), [β1], …, [βN-1])のテーブル[T]への登録要求を受信し、レコード(([α1], …, [αM]), [β1], …, [βN-1])からレコード(([F11)], …, [FMM)]), [β1], …, [βN-1])を生成する。属性値変換手段205は、例えば、レコード(([α1], …, [αM]), [β1], …, [βN-1])を含むテーブルと関数Fmを表すテーブルを秘匿化したテーブルに対して秘密等結合を適用することにより、レコード(([F11)], …, [FMM)]), [β1], …, [βN-1])を生成することができる。
 S210において、レコード登録手段210は、S205で生成したレコード(([F11)], …, [FMM)]), [β1], …, [βN-1])をテーブル[T]に登録する。
 本発明の実施形態によれば、複合属性を含むテーブルを対象とする秘密計算を効率的に実行することが可能となる。複合属性を構成する各属性の値と数値とが1対1に対応するような変換を用いることにより、当該関数を表現するテーブルのサイズを抑制することが可能となる。例えば、複合属性“分類”に対しては、20レコードを含むテーブル、10レコードを含むテーブル、200レコードを含むテーブルの3つのテーブルを管理するのでよい。また、複合属性に関する検索の計算コストを抑制することが可能となる。例えば、複合属性“分類”に対して、属性“中分類”の値がAとなるレコードを抽出する検索を行う場合、属性“中分類”の値Aを数値に変換した上で、変換で得られた1個の数値を用いて検索を行うだけでよい。
<補記>
 上述した各装置の各部の処理をコンピュータにより実現してもよく、この場合は各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムを図12に示すコンピュータ2000の記録部2020に読み込ませ、演算処理部2010、入力部2030、出力部2040、補助記録部2025などを動作させることにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
 本発明の装置は、例えば単一のハードウェアエンティティとして、ハードウェアエンティティの外部から信号を入力可能な入力部、ハードウェアエンティティの外部に信号を出力可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、演算処理部であるCPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD-ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
 ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
 ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行、処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成部)を実現する。つまり、本発明の実施形態の各構成部は、処理回路(Processing Circuitry)により構成されてもよい。
 既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体は、例えば、非一時的な記録媒体であり、具体的には、磁気記録装置、光ディスク等である。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の非一時的な記憶装置である補助記録部2025に格納する。そして、処理の実行時、このコンピュータは、自己の非一時的な記憶装置である補助記録部2025に格納されたプログラムを記録部2020に読み込み、読み込んだプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを記録部2020に読み込み、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
 本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。

Claims (8)

  1.  AをM個(Mは2以上の整数)の属性A1, …, AMで構成される複合属性、Tを複合属性Aを含むN個(Nは1以上の整数)の属性A, B1, …, BN-1で構成されるテーブルとし、
     Fm(m=1, …, M)を属性Amの属性値を数値に変換する1対1関数(ただし、属性Amの属性値の集合に順序関係が定義されている場合、関数Fmは順序関係を保存する関数である)とし、
     テーブルTを秘匿化したテーブル[T]を管理する、W個(Wは3以上の整数)の秘密テーブル管理サーバ装置で構成される秘密テーブル管理システムと、1個以上のクライアント装置とを含む秘密テーブル計算システムにおけるクライアント装置であって、
     複合属性Aの属性値(α1, …, αM)(ただし、αm(m=1, …, M)は属性Amの属性値である)から、複合属性Aの属性値(F11), …, FMM))を生成する属性値変換部と、
     複合属性Aの属性値(F11), …, FMM))、属性B1の属性値β1、…、属性BN-1の属性値βN-1を含むレコードから、当該レコードを秘匿化したレコード(([F11)], …, [FMM)]), [β1], …, [βN-1])を生成するレコード秘匿化部と、
     レコード(([F11)], …, [FMM)]), [β1], …, [βN-1])のテーブル[T]への登録要求を生成するレコード登録要求生成部と、
     を含むクライアント装置。
  2.  AをM個(Mは2以上の整数)の属性A1, …, AMで構成される複合属性、Tを複合属性Aを含むN個(Nは1以上の整数)の属性A, B1, …, BN-1で構成されるテーブルとし、
     Fm(m=1, …, M)を属性Amの属性値を数値に変換する1対1関数(ただし、属性Amの属性値の集合に順序関係が定義されている場合、関数Fmは順序関係を保存する関数である)とし、
     テーブルTを秘匿化したテーブル[T]を管理する、W個(Wは3以上の整数)の秘密テーブル管理サーバ装置で構成される秘密テーブル管理システムと、1個以上のクライアント装置とを含む秘密テーブル計算システムにおける秘密テーブル管理システムであって、
     クライアント装置から受信した、複合属性Aの属性値(α1, …, αM)、属性B1の属性値β1、…、属性BN-1の属性値βN-1を含むレコードを秘匿化したレコード(([α1], …, [αM]), [β1], …, [βN-1])のテーブル[T]への登録要求から、レコード(([F11)], …, [FMM)]), [β1], …, [βN-1])を生成する属性値変換手段と、
     レコード(([F11)], …, [FMM)]), [β1], …, [βN-1])をテーブル[T]に登録するレコード登録手段と、
     を含む秘密テーブル管理システム。
  3.  AをM個(Mは2以上の整数)の属性A1, …, AMで構成される複合属性、Tを複合属性Aを含むN個(Nは1以上の整数)の属性A, B1, …, BN-1で構成されるテーブルとし、
     Fm(m=1, …, M)を属性Amの属性値を数値に変換する1対1関数(ただし、属性Amの属性値の集合に順序関係が定義されている場合、関数Fmは順序関係を保存する関数である)とし、
     GをM’個(M’は2以上M以下の整数)の数値の組を1個の数値に変換する1対1関数(ただし、関数Gは順序関係を保存する関数である)とし、
     テーブルTを秘匿化したテーブル[T]を管理する、W個(Wは3以上の整数)の秘密テーブル管理サーバ装置で構成される秘密テーブル管理システムと、1個以上のクライアント装置とを含む秘密テーブル計算システムにおける秘密テーブル管理システムであって、
     [r]をテーブルTに含まれるレコードrを秘匿化したレコード、rmをレコードrの属性Amの属性値を表すものとし、
     クライアント装置からの処理要求が複合属性Aを構成するM’個の属性Ai_1, …, Ai_M’(i1, …, iM’は1≦i1<…<iM’≦Mを満たす)の属性値αi_1, …, αi_M’(ただし、αm(m=i1, …, iM’)は属性Amの属性値である)に関する検索である場合は、属性Ai_1, …, Ai_M’の属性値[Fi_1i_1)], …, [Fi_M’i_M’)]に対する関数Gの値G([Fi_1i_1)], …, [Fi_M’i_M’)])とテーブル[T]に含まれるレコード[r]の属性Ai_1, …, Ai_M’の属性値[ri_1], …, [ri_M’]に対する関数Gの値G([ri_1], …, [ri_M’])とを計算し、検索を実行し、
     クライアント装置からの処理要求が複合属性Aを構成するM’個の属性Ai_1, …, Ai_M’(i1, …, iM’は1≦i1<…<iM’≦Mを満たす)に関するソートである場合は、テーブル[T]に含まれるレコード[r]の属性Ai_1, …, Ai_M’の属性値[ri_1], …, [ri_M’]に対する関数Gの値G([ri_1], …, [ri_M’])を計算し、秘密ソートを実行する処理要求実行手段と、
     を含む秘密テーブル管理システム。
  4.  AをM個(Mは2以上の整数)の属性A1, …, AMで構成される複合属性、Tを複合属性Aを含むN個(Nは1以上の整数)の属性A, B1, …, BN-1で構成されるテーブルとし、
     Fm(m=1, …, M)を属性Amの属性値を数値に変換する1対1関数(ただし、属性Amの属性値の集合に順序関係が定義されている場合、関数Fmは順序関係を保存する関数である)とし、
     テーブルTを秘匿化したテーブル[T]を管理する、W個(Wは3以上の整数)の秘密テーブル管理サーバ装置で構成される秘密テーブル管理システムと、1個以上のクライアント装置とを含む秘密テーブル計算システムにおけるクライアント装置が、
     複合属性Aの属性値(α1, …, αM)(ただし、αm(m=1, …, M)は属性Amの属性値である)から、複合属性Aの属性値(F11), …, FMM))を生成する属性値変換ステップと、
     前記クライアント装置が、複合属性Aの属性値(F11), …, FMM))、属性B1の属性値β1、…、属性BN-1の属性値βN-1を含むレコードから、当該レコードを秘匿化したレコード(([F11)], …, [FMM)]), [β1], …, [βN-1])を生成するレコード秘匿化ステップと、
     前記クライアント装置が、レコード(([F11)], …, [FMM)]), [β1], …, [βN-1])のテーブル[T]への登録要求を生成するレコード登録要求生成ステップと、
     を含むレコード登録要求生成方法。
  5.  AをM個(Mは2以上の整数)の属性A1, …, AMで構成される複合属性、Tを複合属性Aを含むN個(Nは1以上の整数)の属性A, B1, …, BN-1で構成されるテーブルとし、
     Fm(m=1, …, M)を属性Amの属性値を数値に変換する1対1関数(ただし、属性Amの属性値の集合に順序関係が定義されている場合、関数Fmは順序関係を保存する関数である)とし、
     テーブルTを秘匿化したテーブル[T]を管理する、W個(Wは3以上の整数)の秘密テーブル管理サーバ装置で構成される秘密テーブル管理システムと、1個以上のクライアント装置とを含む秘密テーブル計算システムにおける秘密テーブル管理システムが、
     クライアント装置から受信した、複合属性Aの属性値(α1, …, αM)、属性B1の属性値β1、…、属性BN-1の属性値βN-1を含むレコードを秘匿化したレコード(([α1], …, [αM]), [β1], …, [βN-1])のテーブル[T]への登録要求から、レコード(([F11)], …, [FMM)]), [β1], …, [βN-1])を生成する属性値変換ステップと、
     前記秘密テーブル管理システムが、レコード(([F11)], …, [FMM)]), [β1], …, [βN-1])をテーブル[T]に登録するレコード登録ステップと、
     を含むレコード登録方法。
  6.  AをM個(Mは2以上の整数)の属性A1, …, AMで構成される複合属性、Tを複合属性Aを含むN個(Nは1以上の整数)の属性A, B1, …, BN-1で構成されるテーブルとし、
     Fm(m=1, …, M)を属性Amの属性値を数値に変換する1対1関数(ただし、属性Amの属性値の集合に順序関係が定義されている場合、関数Fmは順序関係を保存する関数である)とし、
     GをM’個(M’は2以上M以下の整数)の数値の組を1個の数値に変換する1対1関数(ただし、関数Gは順序関係を保存する関数である)とし、
     テーブルTを秘匿化したテーブル[T]を管理する、W個(Wは3以上の整数)の秘密テーブル管理サーバ装置で構成される秘密テーブル管理システムと、1個以上のクライアント装置とを含む秘密テーブル計算システムにおける秘密テーブル管理システムが、
     [r]をテーブルTに含まれるレコードrを秘匿化したレコード、rmをレコードrの属性Amの属性値を表すものとし、
     クライアント装置からの処理要求が複合属性Aを構成するM’個の属性Ai_1, …, Ai_M’(i1, …, iM’は1≦i1<…<iM’≦Mを満たす)の属性値αi_1, …, αi_M’(ただし、αm(m=i1, …, iM’)は属性Amの属性値である)に関する検索である場合は、属性Ai_1, …, Ai_M’の属性値[Fi_1i_1)], …, [Fi_M’i_M’)]に対する関数Gの値G([Fi_1i_1)], …, [Fi_M’i_M’)])とテーブル[T]に含まれるレコード[r]の属性Ai_1, …, Ai_M’の属性値[ri_1], …, [ri_M’]に対する関数Gの値G([ri_1], …, [ri_M’])とを計算し、検索を実行し、
     クライアント装置からの処理要求が複合属性Aを構成するM’個の属性Ai_1, …, Ai_M’(i1, …, iM’は1≦i1<…<iM’≦Mを満たす)に関するソートである場合は、テーブル[T]に含まれるレコード[r]の属性Ai_1, …, Ai_M’の属性値[ri_1], …, [ri_M’]に対する関数Gの値G([ri_1], …, [ri_M’])を計算し、秘密ソートを実行する処理要求実行ステップと、
     を含む処理要求実行方法。
  7.  請求項1に記載のクライアント装置としてコンピュータを機能させるためのプログラム。
  8.  請求項2または3に記載の秘密テーブル管理システムを構成する秘密テーブル管理サーバ装置としてコンピュータを機能させるためのプログラム。
PCT/JP2022/027995 2022-07-19 2022-07-19 クライアント装置、秘密テーブル管理システム、レコード登録要求生成方法、レコード登録方法、処理要求実行方法、プログラム WO2024018504A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/027995 WO2024018504A1 (ja) 2022-07-19 2022-07-19 クライアント装置、秘密テーブル管理システム、レコード登録要求生成方法、レコード登録方法、処理要求実行方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/027995 WO2024018504A1 (ja) 2022-07-19 2022-07-19 クライアント装置、秘密テーブル管理システム、レコード登録要求生成方法、レコード登録方法、処理要求実行方法、プログラム

Publications (1)

Publication Number Publication Date
WO2024018504A1 true WO2024018504A1 (ja) 2024-01-25

Family

ID=89617457

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/027995 WO2024018504A1 (ja) 2022-07-19 2022-07-19 クライアント装置、秘密テーブル管理システム、レコード登録要求生成方法、レコード登録方法、処理要求実行方法、プログラム

Country Status (1)

Country Link
WO (1) WO2024018504A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013156720A (ja) * 2012-01-27 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> 匿名データ提供システム、匿名データ装置、及びそれらが実行する方法
JP2013156719A (ja) * 2012-01-27 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> 匿名データ提供システム、匿名データ装置、及びそれらが実行する方法
JP2017075994A (ja) * 2015-10-13 2017-04-20 日本電信電話株式会社 名寄せシステム、装置、方法及びプログラム
JP2020109447A (ja) * 2019-01-07 2020-07-16 富士通株式会社 秘密情報検索システム、秘密情報検索プログラム、および秘密情報検索方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013156720A (ja) * 2012-01-27 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> 匿名データ提供システム、匿名データ装置、及びそれらが実行する方法
JP2013156719A (ja) * 2012-01-27 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> 匿名データ提供システム、匿名データ装置、及びそれらが実行する方法
JP2017075994A (ja) * 2015-10-13 2017-04-20 日本電信電話株式会社 名寄せシステム、装置、方法及びプログラム
JP2020109447A (ja) * 2019-01-07 2020-07-16 富士通株式会社 秘密情報検索システム、秘密情報検索プログラム、および秘密情報検索方法

Similar Documents

Publication Publication Date Title
US20180367293A1 (en) Private set intersection encryption techniques
Sharma et al. PrivateGraph: Privacy-preserving spectral analysis of encrypted graphs in the cloud
Macedo et al. A practical framework for privacy-preserving NoSQL databases
JPWO2019225401A1 (ja) 秘密集約関数計算システム、秘密計算装置、秘密集約関数計算方法、およびプログラム
JP6605746B2 (ja) 秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム
Kaci et al. Toward a big data approach for indexing encrypted data in cloud computing
US9460302B2 (en) Method and system for shielding data in transit and data in memory
EP4016506B1 (en) Softmax function secret calculation system, softmax function secret calculation device, softmax function secret calculation method, neural network secret calculation system, neural network secret learning system, and program
Li et al. Efficient and secure outsourcing of differentially private data publication
Pallas et al. Three tales of disillusion: Benchmarking property preserving encryption schemes
Sharma et al. Privacy-preserving spectral analysis of large graphs in public clouds
JP5670366B2 (ja) 匿名データ提供システム、匿名データ装置、それらが実行する方法、およびプログラム
WO2024018504A1 (ja) クライアント装置、秘密テーブル管理システム、レコード登録要求生成方法、レコード登録方法、処理要求実行方法、プログラム
Kumar et al. Data security and encryption technique for cloud storage
He et al. PrivC—A framework for efficient secure two-party computation
EP3246900B1 (en) Matrix and key generation device, matrix and key generation system, matrix coupling device, matrix and key generation method, and program
Duan et al. Practical distributed privacy-preserving data analysis at large scale
WO2024013974A1 (ja) 秘密交差結合システム、秘密交差結合装置、秘密交差結合方法、プログラム
WO2023233569A1 (ja) 秘密検索システム、秘密検索装置、秘密検索方法、プログラム
WO2023228273A1 (ja) 秘密属性選択システム、秘密属性選択装置、秘密属性選択方法、プログラム
WO2023188261A1 (ja) 秘密グローバルモデル計算装置、ローカルモデル登録方法、プログラム
Chandrakar et al. Privacy Preserving Big Data mining using Pseudonymization and Homomorphic Encryption
CN116868258A (zh) 秘密页面排序计算系统及其方法、秘密计算装置和程序
WO2023276142A1 (ja) 秘密等結合装置、秘密等結合方法、およびプログラム
WO2023188259A1 (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: 22951895

Country of ref document: EP

Kind code of ref document: A1