Data processing method and system, and computing device

HK40138761APending Publication Date: 2026-10-09HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
HK62026127808
Authority / Receiving Office
HK · HK
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-23
Filing Date
2026-08-21
Publication Date
2026-10-09
Estimated Expiration
2044-01-07

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A data processing method and system, and a computing device are provided. The method includes: A first computing participant and a second computing participant separately obtain first ciphertext data. The second computing participant obtains, from the first computing participant, a share of a first feature value corresponding to a first ID. The first computing participant obtains second data, where if the first ID is an intersection ID, the second data is a share of a second feature value that is in the second computing participant and that corresponds to the first ID, or if the first ID is not an intersection ID, the second data is a random number. If the first ciphertext data indicates that the first ID is an intersection ID, the first computing participant uses the second data and a share of the first feature value that is held by the first computing participant as training data of a neural network, and the second computing participant uses a share of the first feature value and a share of the second feature value that are held by the second computing participant as training data of the neural network. In the method, security of multi-party computing can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

(12) International application published under the Patent Cooperation Treaty (19) International Bureau of WIPO (43) International Publication Date November 21, 2024 (21.11.2024) WIPO I PCT (51) International Patent Classification: H04L 9 / 08 (2006.01) (21) International Application Number: (22) International Application Date: (25) Application Language: (26) Publication Language: (30) Priority: 202310552730.1 202311068411.X PCT / CN2024 / 071000 January 8, 2024 (08.01.2024) Chinese Chinese May 16, 2023 (16.05.2023) CN August 23, 2023 (23.08.2023) CN (71) Applicant: Huawei Cloud Computing Technologies Co., Ltd. [CN / CN]; Huawei Cloud Data Center, Jiaoxinggong Road, Qianzhong Avenue, Guian New District, Guiyang City, Guizhou Province, China 550025 (CN) 0 lllllllllllllllllllllllllllllllll^ (10) International Publication No.: WO 2024 / 234685 Al (72) Inventors: Han Weili; No. 220, Handan Road, Yangpu District, Shanghai 200433, China (CN) 0 Chen Shuyu; No. 220, Handan Road, Yangpu District, Shanghai 200433, China (CN) 0 Li Bingshuai; Huawei Cloud Data Center, Jiaoxinggong Road, Qianzhong Avenue, Guian New District, Guiyang City, Guizhou Province, China 550025 (CN) 0 Shao Yunfeng Yunfeng); Huawei Cloud Data Center, Xinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province, China 550025 (CN).Ye Fei; Huawei Cloud Data Center, Intersection of Qianzhong Avenue and Xinggong Road, Guian New District, Guiyang City, China, 550025 (CN) 0 (74) Agent: Beijing Longsun Lead IP LTD.; Room 801-1, 8th Floor, Building 3, No. 2, No. 81 Beiqing Road, Haidian District, Beijing, 100094 (CN) 0 = -=====-=========== (54) Title: DATA PROCESSING METHOD AND SYSTEM, AND COMPUTING DEVICE (54) Invention Title: Data Processing Method, System and Computing Device Figure 2 210 Determine whether there is an intersection ID between ID elements in Hash buckets with the same number of a first computing participant and a second computing participant 220 Perform threshold determination on the number of IDs in the intersection ID 230 The first computing participant and the second computing participant respectively obtain secret sharing values. <fs>of feature values corresponding to IDs in the intersection 240 According to the obtained multiple values of y; perform data screening on multiple <fs>to obtain training data for model training (57) Abstract: A data processing method and system, and a computing device. The method comprises: a first computing participant and a second computing participant respectively obtain first ciphertext data; the second computing participant obtains, from the first computing participant, a share of a first feature value corresponding to a first ID; the first computing participant obtains second data, wherein if the first ID is an intersection ID, the second data is a share of a second feature value corresponding to the first ID in the second computing participant, and if the first ID is not the intersection ID, the second data is a random number; and if the first ciphertext [see continued page] WO 2024 / 234685 A1 IIIIIIIIIIIIIIIIIIIIIIIIIIIIM (81) Designated States (unless otherwise indicated, for every country which may provide national protection for the invention): AE, AG, AL, AM, AO, AT, AU, AZ, BA, BB, BG, BH, BN, BR, BW, BY BZ, CA, CH, CL, CN, CO, CR, CU, CY CZ, DE, DJ, DK, DM, DO, DZ, EC, EE, EG, ES, FI, GB, GD, GE, GH, GM, GT, HN, HR, HU, ID, IL, IN,IQ, IR, IS, IT, JM, JO, JP, KE, KG, KH, KN, KP, KR, KW, KZ, LA, LC, LK, LR, LS, LU, LY MA, MD, MG, MK, MN, MU, MW, MX, MY MZ, NA, NG, NI, NO, NZ, OM, PA, PE, PG, PH, PL, PT, QA, RO, RS, RU, RW, SA, SC, SD, SE, SG, SK, SL, ST, SY SY TH, TJ, TM, TN, TR, TT, TZ, UA, UG, US, UZ, VC, VN, WS, ZA, ZM, ZWO (84) Designated countries (unless otherwise specified, each of the available regional protections is required): ARIPO (BW, CV, GH, GM, KE, LR, LS, MW, MZ, NA, RW, SC, SD, SL, ST, SZ, TZ, UG, ZM, ZW), Eurasia (AM, AZ, BY, KG, KZ, RU, TJ, TM), Europe (AL, AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IS, IT, LT, LU, LV, MC, ME, MK, MT, NL, NO, PL, PT, RO, RS, SE, SI, SK, SM, TR), OAPI (BF, BJ, CF, CG, CI, CM, GA, GN, GQ, GW, KM, ML, MR, NE, SN, TD,TG). According to the statement in Rule 4.17: Regarding the applicant's right to claim priority of a prior application (Rule 4.17(111)), this International Announcement states: One of the data, including the International Search Report (Article 21(3) of the Treaty), indicates that the first ID is the intersection ID, the first computing participant uses the share of the first feature value, and the second data held by the first computing participant.A method, system, and computing device for data processing are described. The method includes: a first computing participant and a second computing participant each obtaining first encrypted data; the second computing participant obtaining a share of the first feature value corresponding to the first ID from the first computing participant; the first computing participant obtaining second data, wherein if the first ID is an intersection ID, the second data is a share of the second feature value corresponding to the first ID in the second computing participant, and if the first ID is not an intersection ID, the second data is a random number; if the first encrypted data indicates that the first ID is an intersection ID, the first computing participant uses its share of the first feature value and the second data as training data for the neural network, and the second computing participant uses its share of the first feature value and the share of the second feature value as training data for the neural network. This method can improve the security of multi-party computation. (57) Abstract: A method, system, and computing device for data processing are described. The method includes: a first computing participant and a second computing participant each obtaining first encrypted data; the second computing participant obtaining a share of the first feature value corresponding to the first ID from the first computing participant; the first computing participant obtaining second data, wherein if the first ID is an intersection ID, the second data is a share of the second feature value corresponding to the first ID in the second computing participant, and if the first ID is not an intersection ID, the second data is a random number; if the first encrypted data indicates that the first ID is an intersection ID, the first computing participant uses its share of the first feature value and the second data as training data for the neural network, and the second computing participant uses its share of the first feature value and the share of the second feature value as training data for the neural network. This method can improve the security of multi-party computation. WO 2024 / 234685 PCT / CN2024 / 071000 Method, System, and Computing Device for Data Processing This application claims priority to Chinese Patent Application No. 202310552730.1, filed with the State Intellectual Property Office of China on May 16, 2023, entitled "Method and Apparatus for Multi-Party Longitudinal Federated Learning with Hidden IDs," and Chinese Patent Application No. 202311068411.X, filed with the State Intellectual Property Office of China on August 23, 2023, entitled "Method, System, and Computing Device for Data Processing," the entire contents of which are incorporated herein by reference. Technical Field This application relates to the field of secure computing, and more specifically, to a method, system, and computing device for data processing. Background Art Private set intersection (PSI) is a secure multi-party computation protocol that can compute the intersection of the data sets of multiple participating parties without exposing any data set information other than the intersection. Commonly used in applications such as joint recommendations, ad targeting, and vertical security.Data alignment before multi-party learning, etc. For example, before longitudinal secure multi-party learning, PSI technology can be used to calculate the ID value commonly held by each participant without exposing the intersection elements of multiple participants. Before longitudinal secure multi-party learning, Privacy Set Intersection (PSI) technology is used to calculate the intersection of the data sets of multiple computing participants without exposing the intersection elements of multiple computing participants, and AI model training is performed based on the data (feature values) corresponding to the intersection of the data sets of multiple participants. In related technical solutions, during the process of calculating the intersection of IDs held by multiple computing participants based on PSI technology, the plaintext IDs in the intersection are exposed. This allows each computing party to know which IDs are in the intersection, thus exposing the client's ID privacy and resulting in poor security. Therefore, how to improve the security of multi-party computation and protect the data privacy of multiple computing parties has become an urgent technical problem to be solved. Summary of the Invention This application provides a data processing method, system, and computing device. The method can improve the security of multi-party computation and protect the data privacy of multiple computing parties. In a first aspect, a data processing method is provided, comprising: a first computing participant and a second computing participant respectively obtaining first encrypted data, the first encrypted data being used to indicate whether a first ID of the first computing participant is an intersection ID, the intersection ID indicating that the first ID is the same as any one of at least one ID of the second computing participant; the second computing participant obtaining a share of a first feature value corresponding to the first ID from the first computing participant, the share of the first feature value being shared between the first computing participant and the second computing participant in a secret manner, the shares of the first feature value obtained by the first computing participant and the second computing participant respectively being able to reconstruct the first feature value; and the first computing participant obtaining second data, wherein... If the first ID is an intersection ID, the second data is the share of the second feature value corresponding to the first ID among the second computation participants. If the first ID is not an intersection ID, the second data is a random number. The share of the second feature value is shared between the first and second computation participants by the second computation participant in a secret manner. The shares of the second feature value obtained by the first and second computation participants can be used to reconstruct the second feature value. If the first encrypted data indicates that the first ID is an intersection ID, the first computation participant uses its share of the first feature value and the second data as training data for the neural network. If the first encrypted data indicates that the first ID is an intersection ID, the second computation participant uses its share of the first feature value and the share of the second feature value as training data for the neural network.The above technical solution allows for subsequent AI model training based on the data (feature values) corresponding to the IDs in the intersection without exposing customer ID privacy. This protects customer ID privacy, provides high security, and meets the functional and privacy requirements of the data preprocessing stage for longitudinal multi-party secure learning. In conjunction with the first aspect, in some implementations of the first aspect, the method further includes: the first computing participant and the second computing participant respectively recovering the first encrypted data to obtain first data; and determining whether the first ID is the intersection ID based on the first data. In conjunction with the first aspect, in some implementations of the first aspect, the method further includes: if the first computational participant indicates, based on the first encrypted data it has obtained, that the first ID is not an intersection ID, the first computational participant deletes its share of the first feature value and the second data; if the second computational participant indicates, based on the first encrypted data it has obtained, that the first ID is not an intersection ID, the second computational participant deletes its share of the first feature value and the second feature value. In the above technical solution, if the first ID is not an intersection ID, then the corresponding second data is a random number, which can be deleted here. This ensures that only the feature value corresponding to the intersection ID can participate in the training of the neural network model, avoiding additional overhead and improving the efficiency of model training. In conjunction with the first aspect, in some implementations of the first aspect, the method further includes: the first computational participant and the second computational participant determine whether the number of intersection IDs is greater than a preset threshold based on the multiple ciphertext data corresponding to multiple hash buckets, wherein the multiple ciphertext data includes the first ciphertext data; if the number of intersection IDs is greater than the preset threshold, the second computational participant obtains a share of the first feature value corresponding to the first ID from the first computational participant; if the number of intersection IDs is greater than the preset threshold, the first computational participant obtains second data. The above technical solution provides a threshold judgment; if the number of elements in the intersection is very small, subsequent operations are terminated. This avoids insufficient data leading to unsatisfactory model performance and wasted training costs. In conjunction with the first aspect, in some implementations of the first aspect, the method further includes: the first computational participant and the second computational participant randomly shuffle the order of the multiple ciphertext data they each obtain. In conjunction with the first aspect, in some implementations of the first aspect, the first computational participant and the second computational participant obtain the first ciphertext data respectively through a programmable unintentional pseudo-random function OPPRF or a key exchange DH. In conjunction with the first aspect, in some implementations of the first aspect, the first computational participant obtains the second data through a programmable, unintentional pseudo-random function OPPRF.In conjunction with the first aspect, in certain implementations of the first aspect, the first ID of the first computational participant is the ID of the first computational participant in the first hash bucket, at least one ID of the second computational participant is at least one ID of the second computational participant in the first hash bucket, the first ciphertext data is the ciphertext data corresponding to the first hash bucket, and the second data is the second data corresponding to the first hash bucket. In the second aspect, a data processing system is provided, comprising a first computational participant and a second computational participant, wherein... The first and second computational participants are respectively used to obtain first encrypted data, which is used to indicate whether the first ID of the first computational participant is an intersection ID, where the intersection ID indicates that the first ID is the same as any one of at least one ID of the second computational participant; the second computational participant is also used to obtain a share of the first feature value corresponding to the first ID from the first computational participant, where the share of the first feature value is shared between the first and second computational participants in a secret manner, and the shares of the first feature value obtained by each of the first and second computational participants can be used to reconstruct the first feature value; the first computational participant is also used to obtain second data, wherein, if the first ID is an intersection ID, the second data is the second The share of the second feature value corresponding to the first ID among the participants is calculated. If the first ID is not an intersection ID, the second data is a random number. The share of the second feature value is shared between the first and second participants in a secret manner. The shares of the second feature value obtained by each participant can reconstruct the second feature value. If the first encrypted data indicates that the first ID is an intersection ID, the first participant also uses its share of the first feature value and the second data as training data for the neural network. If the first encrypted data indicates that the first ID is an intersection ID, the second participant also uses its share of the first feature value and the share of the second feature value as training data for the neural network. In conjunction with the second aspect, in some implementations of the second aspect, the first and second participants are also used to recover the first encrypted data to obtain the first data; the first and second participants are also used to determine whether the first ID is the intersection ID based on the first data. In conjunction with the second aspect, in some implementations of the second aspect, if the first computational participant instructs, based on the first encrypted data it has obtained, that the first encrypted data indicates that the first ID is not an intersection ID, the first computational participant is also used to delete its share of the first feature value and the second data; if the second computational participant instructs, based on the first encrypted data it has obtained, the first...The ID is not an intersection ID. The second computational participant is also used to delete its share of the first feature value and the share of the second feature value. In conjunction with the second aspect, in some implementations of the second aspect, the first computational participant and the second computational participant are also used to determine whether the number of intersection IDs is greater than a preset threshold based on the multiple ciphertext data corresponding to multiple hash buckets, where the multiple ciphertext data includes the first ciphertext data; specifically, the second computational participant is used to obtain the share of the first feature value corresponding to the first ID from the first computational participant when the number of intersection IDs is greater than the preset threshold; specifically, the first computational participant is used to obtain the second data when the number of intersection IDs is greater than the preset threshold. In conjunction with the second aspect, in some implementations of the second aspect, the first computational participant and the second computational participant are also used to randomly shuffle the order of the multiple ciphertext data they each obtained. In conjunction with the second aspect, in some implementations of the second aspect, the first computing participant and the second computing participant are specifically used to obtain first ciphertext data respectively through a programmable unintentional pseudo-random function OPPRF or a key exchange DH. In conjunction with the second aspect, in some implementations of the second aspect, the first computing participant is specifically used to obtain second data through a programmable unintentional pseudo-random function OPPRF. In conjunction with the second aspect, in some implementations of the second aspect, the first ID of the first computing participant is the ID of the first computing participant in the first hash bucket, at least one ID of the second computing participant is at least one ID of the second computing participant in the first hash bucket, the first ciphertext data is the ciphertext data corresponding to the first hash bucket, and the second data is the second data corresponding to the first hash bucket. In a third aspect, a computing device cluster is provided, including at least one computing device, each computing device including a processor and a memory; the processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster performs the method of the first aspect or any possible implementation of the first aspect. Optionally, the processor may be a general-purpose processor, which may be implemented in hardware or software. When implemented in hardware, the processor can be a logic circuit, integrated circuit, etc.; when implemented in software, the processor can be a general-purpose processor, implemented by reading software code stored in memory. This memory can be integrated into the processor or located outside the processor, existing independently. Fourthly, a chip is provided that acquires and executes instructions to implement the methods described in the first aspect and any implementation thereof. Optionally, as one implementation, the chip includes a processor and a data interface, through which the processor reads memory.The instructions stored on the chip execute the methods described in the first aspect and any implementation thereof. Optionally, as one implementation, the chip may further include a memory storing instructions, the processor executing the instructions stored in the memory, and when the instructions are executed, the processor executing the methods described in the first aspect and any implementation thereof. A fifth aspect provides a computer program product containing instructions that, when executed by a computing device cluster, cause the computing device cluster to execute the methods described in the first aspect and any implementation thereof. A sixth aspect provides a computer-readable storage medium including computer program instructions that, when executed by a computing device cluster, cause the computing device cluster to execute the methods described in the first aspect and any implementation thereof. As examples, such computer-readable storage includes, but is not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), Flash memory, electrically EPROM (EEPROM), and hard drive. Optionally, as an implementation, the aforementioned storage medium may specifically be a non-volatile storage medium. Figure 1 is a schematic diagram of the vertically distributed data held by the computing participants in an embodiment of this application. Figure 2 is a schematic flowchart of a data processing method provided in an embodiment of this application. Figure 3 is a schematic diagram of the hash results of the ID sets in the data held by a first computing participant and a second computing participant, respectively, provided in an embodiment of this application. Figure 4 is a schematic block diagram of a first computing participant and a second computing participant obtaining the secret sharing value <y> of y through OPPRF provided in an embodiment of this application. Figure 5 is a schematic block diagram of a first computing participant and a second computing participant obtaining <fs> through OPPRF provided in an embodiment of this application. Figure 6 is a schematic diagram of a data selection method provided in an embodiment of this application. Figure 7 is a schematic diagram of another data selection method provided in an embodiment of this application. Figure 8 is a schematic block diagram of a data processing system 800 provided in an embodiment of this application. Figure 9 is a schematic diagram of the architecture of a computing device 1500 provided in an embodiment of this application. Figure 10 is a schematic diagram of the architecture of a computing device cluster provided in an embodiment of this application. Figure 11 is a schematic diagram of the network connection between computing devices 1500A and 1500B provided in an embodiment of this application. Figure 12 is a schematic block diagram of a cloud scenario applicable to an embodiment of this application. 3 WO 2024 / 234685PCT / CN2024 / 071000 Detailed Description of Embodiments The technical solutions in this application will now be described with reference to the accompanying drawings. This application will present various aspects, embodiments, or features related to a system including multiple devices, components, modules, etc. It should be understood and appreciated that various systems may include additional devices, components, modules, etc., and / or may not include all devices, components, modules, etc. discussed in conjunction with the accompanying drawings. Furthermore, combinations of these solutions can also be used. Additionally, in the embodiments of this application, the words "exemplary," "for example," etc., are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" in this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of the term "exemplary" is intended to present the concept in a concrete manner. In the embodiments of this application, "corresponding" and "corresponding" can sometimes be used interchangeably, and it should be noted that their intended meanings are consistent when the distinction is not emphasized. The business scenarios described in the embodiments of this application are for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions provided by the embodiments of this application. Those skilled in the art will understand that with the evolution of network architecture and the emergence of new business scenarios, the technical solutions provided by the embodiments of this application are also applicable to similar technical problems. References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment, ...," "in some embodiments, ...," "in other embodiments, ...," and "in still other embodiments, ..." appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "including," "comprising," "having," and variations thereof all mean "including but not limited to," unless otherwise specifically emphasized. In this application, "at least one" means one or more, and "more than" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A alone, A and B simultaneously, and B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of singular or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b,c can be single or multiple. For ease of description, the relevant concepts involved in the embodiments of this application will be described in detail below. 1. Neural Network A neural network is a computer system that mimics the function of biological neural networks, completing various tasks by learning and training on data. It is a computational model composed of multiple nodes, each of which simulates the behavior of biological neurons, capable of receiving and processing input signals, and generating output signals by learning and adjusting weights. Neural networks are usually composed of multiple layers of nodes, where the input layer receives external data input, the output layer generates the final output result, and the hidden layers in the middle process and transform the input. In a neural network, the connections between nodes have different weights, which can be adjusted through training and learning to improve the accuracy and performance of the network. Neural networks are widely used in various fields, including image recognition, speech recognition, natural language processing, autonomous driving, medical diagnosis, and financial prediction. Common neural network architectures include feedforward neural networks, convolutional neural networks, recurrent neural networks, and deep neural networks. 2. Secure Multi-Party Learning (SMPL): Secure multi-party learning is a distributed machine learning paradigm where multiple parties (different organizations or users) collaboratively train an AI model using their own data without aggregating data from each other. Traditional machine learning paradigms require aggregating large amounts of data for model training, and this training data may come from multiple different organizations or users. Aggregating data from multiple different organizations or users poses a significant risk of data breaches, exposing information assets for organizations and potentially compromising personal privacy for individual users. 3. Vertical Secure Multi-Party Learning (VSMPL): Vertical secure multi-party learning refers to a scenario where data from multiple participants is vertically distributed. To protect data privacy while maximizing data value, multiple participants use secure multi-party computation techniques to jointly train an AI model using their own data. In vertical multi-party learning, participants may be different organizations, such as hospitals, banks, or government agencies. These organizations typically hold user IDs and their corresponding features, with different participants holding different features. These are all sensitive private user data, so aggregating longitudinal data from different organizations for AI model training could lead to data privacy breaches. To address the privacy issues of longitudinal multi-party learning, secure longitudinal multi-party learning (SML) technology has emerged. SML uses privacy set intersection techniques to align the data from multiple participants, and then employs secure multi-party computation techniques such as secret sharing and obfuscated circuits to jointly train the AI ​​model. 4. Programmable oblivious pseudo-random functions.A programmable pseudorandom function (OPPRF) is a cryptographic protocol that works as follows: Two parties participate, Alice and Bob. Alice inputs a value x into the OPPRF, and Bob inputs multiple pairs (xi, yi). After processing, Alice receives a value y. If Alice's x equals one of Bob's xi, then y is yi; otherwise, y is a random number r. Throughout the OPPRF process, neither Alice nor Bob receives any additional information. Bob is unaware of Alice's input x or the value of y. Alice only receives a string y and cannot determine whether she received a random number r or yi, nor whether her x matches one of Bob's xi. Alice is typically called the Receiver, and Bob is called the Sender. 5. Cuckoo Hashing: Cuckoo hashing is a hash table implementation that resolves hash collisions. In cuckoo hashing, each element has two hash functions and can be assigned to one of two hash tables. If the position in the first hash table is already occupied, the element is placed in the corresponding position in the other hash table. If the corresponding position in the other hash table is also occupied, the element is evicted from its original position and placed in the new one. This process may repeat multiple times until all elements can be successfully placed into the hash tables. Therefore, when using cuckoo hashing on sets, each bucket contains only one element from the set, and some elements may be placed in the stash if no position can be found. Cuckoo hashing has a constant time complexity, making it a very efficient hash table implementation. 6. Private Set Intersection (PSI): Private set intersection is a secure multi-party computation protocol that computes the intersection of the datasets of multiple participants without exposing any data set information outside the intersection. It is commonly used for applications such as joint recommendation, ad targeting, and data alignment before longitudinal secure multi-party learning. For example, PSI (Programmable Sequencing Injection) technology can be used before longitudinal secure multi-party learning to calculate the common ID value held by each participant without exposing the intersection elements of multiple participants. PSI has been developing for nearly 20 years, and technologies for implementing PSI include, but are not limited to: key exchange (Diffie-Hellman, DH), oblivious transfer (OT), and oblivious pseudo-random functions (ORT).PSI schemes include pseudorandom function (OPRF), programmable unintentional pseudorandom function (OPPRF), and homomorphic encryption (HE). Early PSI schemes could find the intersection of two parties without exposing information beyond the intersection. Subsequent PSI schemes focused on improvements in scenarios, functionality, privacy, and efficiency. In terms of scenarios, there are PSI schemes designed for imbalanced datasets; in terms of functionality, multi-party PSI schemes supporting more than two parties and circuit-PSI schemes supporting computation using associated values ​​corresponding to key elements in the intersection; in terms of privacy, PSI schemes that do not expose the intersection result have emerged; and in terms of efficiency, methods using hashing to reduce computation and communication have been proposed. 7. Secret Sharing: Secret sharing is a cryptographic concept, also known as secret splitting, used to divide a secret value into several parts for sharing among multiple entities. Each entity receives a portion of the secret, called a share or fragment. Depending on the splitting method, the original secret value can be recovered after collecting a sufficient number of shares. It should be understood that different partitioning methods lead to different secret sharing techniques, such as additive secret sharing (ASS) and boolean secret sharing (BSS). 8. Additive Secret Sharing (ASS): Additive secret sharing is an instance of secret sharing used to split a secret value into multiple shares for sharing among multiple participants. In additive secret sharing, the original secret is represented as an integer and can be shared by splitting it into multiple parts. The original secret value can only be recovered when all shares are recombined. This method can be used to achieve secure multi-party computation, such as data analysis while protecting personal privacy, or secure computation in distributed computing. One partitioning method for additive secret sharing is to use domain addition. For example, with three participants, one participant holds the original secret value of 10. This is partitioned into three parts on a ring of size 16, generating two random numbers 13 and 7. The final shared value is 13, 7, and 6 (= (10-13-6) mod i6). The participant holding the secret value 10 sends two of the three shares to the other two participants. The other two participants only hold one share and cannot reconstruct the original share value. Only by adding the three share values ​​together can the original secret value 10 be reconstructed (= (13+7+6) mod i6). 9. Boolean Secret SharingBoolean secret sharing (BSS) involves XORing multiple random numbers to generate a secret value. The XORed value of these random numbers is the original secret value. For example, with three participants, one participant holds the original secret value 0b010. This is split into three parts on a ring of size 8, generating two random numbers, ObllO and ObOll. The resulting shared value is ObllO, ObOll, and Obll (=0b010A0bll0A0b011). The participant holding the secret value 0b010 sends two of these three shared values ​​to the other two participants. The other two participants only hold one shared value and cannot reconstruct the original shared value. Only by XORing all three shared values ​​together can the original secret value 0b010 (=0blllA0bll0A0b011) be reconstructed. Before vertical secure multi-party learning, Privacy Set Intersection (PSI) technology is used to calculate the intersection of the data sets of multiple computing participants without exposing the intersection elements. AI models are then trained based on the data (feature values) corresponding to this intersection. However, in related technical solutions, the plaintext IDs in the intersection are exposed during the PSI calculation, revealing which IDs are present and thus exposing customer ID privacy, resulting in poor security. Therefore, this application provides a data processing method that allows subsequent AI model training based on the data (feature values) corresponding to IDs in the intersection without exposing customer ID privacy, thereby protecting customer ID privacy and providing higher security. It should be understood that the method provided in this application is applied in scenarios where multiple organizations jointly train a secure multi-party learning model, and the data is vertically distributed, completing the preprocessing process for AI model training. Specifically, this scenario can include, but is not limited to, scenarios involving joint data modeling across companies or industries, with no requirements regarding the specific data distribution method or the number of participants. For example, the following scenario illustrates a joint modeling scenario between the financial industry and telecom operators. Multiple financial industry users (such as banks and securities firms) and telecom operators (such as China Mobile, China Telecom, and China Unicom) use their own user data for joint modeling to improve the accuracy of financial industry models (such as credit score models and credit card user default models). As shown in Figure 1, the data held by these different organizations is vertically distributed. Each organization has user ID values ​​and feature values; the ID values ​​and features of different organizations are not completely identical. These different organizations want to use the feature data (feature values) of common users to train an assessment model to predict the credit level of that user.Figure 2 is a schematic flowchart of a data processing method provided in an embodiment of this application. This method is applied to the data preprocessing stage before AI model training. The method may include steps 210-240, which are described in detail below. Step 210: Determine whether there is an intersection of IDs between the ID elements in the same hash bucket of the first computing participant and the second computing participant. In this embodiment, the first computing participant and the second computing participant respectively map the IDs in their respective user data to the hash bucket. This application does not specifically limit the number of computing participants, as long as it is greater than one computing participant. Figure 2 illustrates this using two computing participants (the first computing participant and the second computing participant) as an example. In this embodiment, the user data held by each computing participant may include multiple pairs (x, Feature), where X is the ID and Feature is the feature value corresponding to the ID. The feature value may be one feature value corresponding to the ID, or it may be multiple feature values ​​corresponding to the ID. This embodiment does not specifically limit this. For example, in a bank's user data, the ID is the account's mobile phone number, and the characteristic value is the deposit and withdrawal information corresponding to that ID; in a securities firm's user data, the ID is the account's mobile phone number, and the characteristic value is the securities trading information corresponding to that ID; in a telecom operator's user data, the ID is the account's mobile phone number, and the characteristic value is the call records corresponding to that ID, etc. In this embodiment, it is assumed that the first computational participant uses the Cuckoo Hash algorithm to map the ID in its user data to a hash bucket, and the second computational participant uses a regular hash algorithm to map the ID in its user data to a hash bucket. It should be noted that the first computational participant using the Cuckoo Hash algorithm can also be called the leader participant, that is, the leader participant uses the Cuckoo Hash algorithm to map the ID in its user data to a hash bucket, while others who are not leader participants use a regular hash algorithm to map the ID in their user data to a hash bucket. It should be understood that the aforementioned leader participant is randomly selected from at least two computational participants. For ease of description, Figure 2 uses the first computational participant as the leader participant as an example. For example, as shown in Figure 3, for the first computational participant, since it performs a cuckoo hash on its ID set, each bucket contains only one ID element. For the second computational participant, since it performs a regular hash on its ID set, each bucket contains multiple ID elements. Because both computational participants use the same hash function, if the user data of the two participants contains the same ID elements, these identical ID elements will be hashed into the same numbered hash bucket.It should be understood that the number of hash buckets is not specifically limited in the embodiments of this application. Figure 3 illustrates an example with n data items in the ID set of each computation participant and n hash buckets. If the data item in the ID set of any computation participant is less than n, it can be supplemented by generating random numbers. In the embodiments of this application, for the ID elements in the same numbered hash bucket of the first and second computation participants, it can be determined whether there is any intersection between the ID elements of the first computation participant in the hash bucket of that number and the ID elements of the second computation participant in the hash bucket of that number. 6 WO 2024 / 234685 PCT / CN2024 / 071000 For ease of description, the following uses hash bucket number 1 (hash bucket 1) as an example to determine whether there is any intersection between the ID elements of the first computation participant in hash bucket 1 and the ID elements of the second computation participant in hash bucket 1. The execution process for other numbered hash buckets is the same as that for hash bucket 1, and will not be repeated here. As an example, the first and second computational participants can each obtain a secret share value of y (<y>), where y indicates whether the ID element of the first computational participant in hash bucket 1 is an intersection ID, that is, whether there is an ID element of the second computational participant in hash bucket 1 that is equal to the ID element of the first computational participant in hash bucket 1. For example, if y is 1, it means that there is an intersection between the ID elements of the first and second computational participants in hash bucket 1, and the ID element of the first computational participant in hash bucket 1 is an intersection ID. If y is 0, it means that there is no intersection between the ID elements of the first and second computational participants in hash bucket 1, and the ID element of the first computational participant in hash bucket 1 is not an intersection ID. It should be understood that the secret share value of y can be a share or shard of y, with each computational participant holding a share of y, and the combination of the shares of y held by each computational participant yields y. In one possible implementation, the OPPRF protocol can be used to enable the first and second computing participants to obtain the secret shared value (<y>) of y respectively. As an example, the first and second computing participants can obtain the secret shared value (<y>) of y respectively through the OPPRF protocol, based on the forwarding from the cloud server. For example, Figure 12 is a schematic block diagram of a cloud scenario, where the cloud server is the server in the cloud data center shown in Figure 12. The cloud scenario in Figure 12 may include: a cloud management platform 110, the Internet 120, and a client 130. The cloud management platform 110 is used to manage the infrastructure providing multiple cloud services. The infrastructure includes multiple cloud data centers, each containing multiple servers.The servers include cloud service resources to provide corresponding cloud services to tenants. The cloud management platform 110, which may be located in a cloud data center, provides access interfaces (such as user interfaces or application program interfaces, APIs). Tenants can use client 130 to remotely access the access interface to register a cloud account and password on the cloud management platform 110 and log in. After successful authentication of the cloud account and password on the cloud management platform 110, the tenant can further select and purchase virtual machines of specific specifications (processor, memory, disk) on the cloud management platform 110. After successful purchase, the cloud management platform 110 provides a remote login account and password for the purchased virtual machine, and client 130 can remotely log in to the virtual machine to install and run the tenant's applications. Therefore, tenants can create, manage, log in to, and operate virtual machines in the cloud data center through the cloud management platform 110. Virtual machines can also be referred to as cloud servers (elastic compute service, ECS) or elastic instances (different cloud service providers may use different names). It should be understood that cloud service tenants can be individuals, enterprises, schools, hospitals, government agencies, etc. The cloud management platform 110 includes, but is not limited to, a user console, compute management services, network management services, storage management services, authentication services, and image management services. The user console provides an interface or API for interaction with tenants. The compute management services manage servers running virtual machines and containers, as well as bare metal servers. The network management services manage network services (such as gateways and firewalls). The storage management services manage storage services (such as data bucket services). The authentication services manage tenant account passwords. The image management services manage virtual machine images. Tenants use client 130 to log in to the cloud management platform 110 via the internet 120 to manage the rented cloud services. The following describes in detail a specific implementation method of how the first and second compute participants obtain the secret shared value of y (<y>) through the OPPRF protocol. For example, assume the ID element of the first compute participant in hash bucket 1 is x0, and the ID element of the second compute participant in hash bucket 1 is X1, x2, ..., xm. The first compute participant obtains the secret shared value of y from hash bucket 1... As input information to OPPRF, the second computation participant inputs multiple pairs (xi, yi) from hash bucket 1 into OPPRF. Within the same bucket, the yi corresponding to xi is set to the same random number y*, i.e., yl = y2 = ... = ym = y*. The second computation participant uses its set y* as its secret sharing value <y> for y. If x0 is an intersection element, meaning the second computation participant has one xi in hash bucket 1 with x1, x2 ... xm, then...If x0 is equal to x0, the secret share value <y> of y output by OPPRF to the first computational participant is a secret share value of 1. If x0 is not an intersection element, that is, if the second computational participant does not have any xi in hash bucket 1 (x1, x2, ..., xm) equal to x0, the secret share value <y> of y output by OPPRF to the first computational participant is a secret share value of 0. The secret share values ​​<y> of y held by the first and second computational participants are combined to obtain y, and the value of y is either 0 or 1. In some embodiments, if the multi-party secure computation scenario includes three or more computational participants, for example, including a first computational participant, a second computational participant, a third computational participant, and a fourth computational participant. The first and second computational participants execute the process shown in Figure 4, so that the first computational participant obtains the secret share value <y01› of y01. Similarly, the first and third computational participants execute the process shown in Figure 4, so that the first computational participant obtains the secret share value vy02› of y02. The first and fourth computational participants execute the process shown in Figure 4, so that the first computational participant obtains the secret share value <y03> of y03. The first computational participant can XOR the obtained <y01>, <y02>, and <y02>, and use the XOR result as its own secret share value vy> of y. Step 220: Perform a threshold judgment on the number of IDs in the intersection IDs. In this embodiment, after finding the intersection of IDs in step 220, each computational participant obtains a secret share value <y> for y, which indicates whether X in the first computational participant is an element of the intersection. If y is 1, then X is an element of the intersection; if y is 0, then X is not an element of the intersection. In step 220, assuming there are n hash buckets, the first computational participant adds the n secret share values ​​<y> for y corresponding to the n hash buckets. The result of this addition is the number of IDs in the intersection IDs. A threshold judgment is then performed on the addition result. If the addition result is greater than a preset threshold, step 230 can be executed; if the addition result is less than the preset threshold, the process ends. This embodiment can provide a threshold judgment. If the number of elements in the intersection is very small, the subsequent operations are terminated. This avoids insufficient data, resulting in an unsatisfactory model performance and wasted training costs. Step 230: The first and second computational participants respectively obtain the secret share value <fs> of the feature value corresponding to the ID in the intersection. For ease of description, the following explanation uses a single bucket, such as hash bucket numbered 1 (hash bucket 1). In this embodiment, for the first computation participant, hash bucket 1 contains only one ID element X0, therefore the first computation participant...The first computation participant directly shares the secret feature value corresponding to X0 with the second computation participant. That is, the first computation participant and the second computation participant each hold the secret sharing value <fs> of the feature value <feature> corresponding to X0. In this embodiment, for the second computation participant, there are multiple ID elements (xl, x2, ..., xm) in hash bucket 1. After the ID intersection is calculated, the second computation participant does not know whether there are any intersection IDs in hash bucket 1, nor does it know which ID element is the intersection ID. Therefore, it does not know which ID element's feature value it should share. As an example, as shown in Figure 5, the second computation participant and the first computation participant execute OPPRF. The first computation participant inputs X from hash bucket 1 as input information into OPPRF, and the second computation participant inputs multiple pairs (xi, yi) from hash bucket 1 as input information into OPPRF. Among them, yi corresponding to xi in the same bucket is set to feature-r, where feature is the feature value corresponding to xi, and the r value of different elements in the same bucket is the same. If x0 is an intersection element, meaning the second computation participant has at least one xi in hash bucket 1 (x1, x2, ..., xm) equal to x0, the OPPRF outputs <fs> to the first computation participant as fl0 = fi - r, where fi is the eigenvalue corresponding to xi (xi = x0). The second computation participant holds r. If x0 is not an intersection element, meaning the second computation participant does not have at least one xi in hash bucket 1 (x1, x2, ..., xm) equal to x0, the OPPRF outputs <fs> to the first computation participant as a meaningless random number. In some embodiments, if the multi-party secure computation scenario includes three or more computation participants, for example, a first computation participant, a second computation participant, a third computation participant, and a fourth computation participant. The first computational participant can also obtain f20 and f30 as described above, where f20 is the <fs> shared by the third computational participant to the first computational participant, and f30 is the <fs> shared by the fourth computational participant to the first computational participant. The first computational participant can also share its obtained f10, f20, and f30 with computational participants who do not have that share, and simultaneously secretly share the feature value corresponding to its x0 with each computational participant who does not have that share. Specifically, the first computational participant secretly shares the feature value corresponding to x0 with the third and fourth computational participants, shares f10 with the third and fourth computational participants, shares f20 with the second and fourth computational participants, and shares f30 with the second and third computational participants. Step 240: Based on the obtained values ​​of multiple y, perform data filtering on the multiple <fs> to obtain training data for model training.In this embodiment, taking n hash buckets as an example, each computational participant can obtain n <y> and n <fs> corresponding to each of the n <y> through the above steps. The n <y> are then recovered to obtain n y values, and the n <fs> are filtered according to the values ​​of y. For example, a y with a value of 1 indicates that the first computational participant's X in a certain hash bucket is an intersection element, and the corresponding <fs> is a secret value including the feature value corresponding to each participant's X. A y with a value of 0 indicates that the first computational participant's X in a certain hash bucket is not an intersection element, and the corresponding <fs> is a meaningless random number. Therefore, the <fs> corresponding to y with a value of 1 can be retained, and the <fs> corresponding to y with a value of 0 can be deleted. The retained <fs> can then be used as training data for subsequent model training. This data selection ensures that only the secret sharing data in the intersection is used for subsequent model training, avoiding additional overhead. Optionally, in some embodiments, the order of the obtained n <y› can be shuffled before step 240. For example, the order of the obtained n <y› can be shuffled by a secure multi-party random shuffle. For example, as shown in Figure 6, there are two steps: the first step is to generate a selection pool, and the second step is to obtain training data. The selection pool in the first step has secret shared values ​​of multiple one-hot vectors. The one-hot vector is the intersection ID of the first computational participants, with the index position being 1, 8 WO 2024 / 234685 PCT / CN2024 / 071000 and other positions being 00. Therefore, the number of one-hot vectors is the same as the number of intersection IDs, and each one-hot vector represents the selected merged data. The second step, obtaining training data, involves performing a secure multi-party dot product operation using the one-hot vectors and the merged data. The number of training data to be selected is determined by randomly selecting a corresponding number of one-hot vectors from the selection pool. Specifically, as shown in Figure 7, the list of y values ​​obtained by intersecting the IDs is first treated as a vector, recorded as <ys>. <ys> is then securely shuffled by multiple parties to obtain <ys_shuffle>, meaning that each participating party is unaware of the mapping relationship before and after the shuffle. The shuffled vector <ys_shuffle> is then restored to plaintext. Based on the position of 1, a one-hot vector pool of plaintext is generated. However, the position of 1 in this one-hot vector pool is not the true position of the intersection element, but rather its shuffled position. Therefore, a secure multi-party shuffle is used to restore the secret sharing value of the true one-hot vector of the intersection. In this embodiment, the functional and privacy requirements of the data preprocessing stage for longitudinal multi-party secure learning are satisfied, and a related cryptographic protocol is designed to fulfill the functional and privacy requirements of the data preprocessing stage.The methods provided by the embodiments of this application have been described in detail above with reference to Figures 1 to 7. The system embodiments of this application will be described in detail below with reference to Figures 8 to 11. It should be understood that the descriptions of the method embodiments correspond to the descriptions of the system embodiments; therefore, any parts not described in detail can be referred to the preceding method embodiments. Figure 8 is a schematic block diagram of a data processing system 800 provided by an embodiment of this application. The system 800 can be implemented by software, hardware, or a combination of both. The system 800 provided in this application embodiment can implement the method flow shown in this application embodiment. The system 800 includes: a first computing participant 810 and a second computing participant 820, wherein the first computing participant 810 and the second computing participant 820 are respectively used to obtain first encrypted data, the first encrypted data being used to indicate whether the first computing participant 810 has an intersection ID, the intersection ID indicating that the first ID is the same as any one of at least one ID of the second computing participant 820; the second computing participant 820 is also used to obtain a share of a first feature value corresponding to the first ID from the first computing participant 810, the share of the first feature value being the first computing participant secretly sharing the first feature value between the first computing participant 810 and the second computing participant 820. The first computing participant 810 and the second computing participant 820 share the first feature value they each obtain, which can reconstruct the first feature value. The first computing participant 810 is also used to obtain the second data, wherein if the first ID is an intersection ID, the second data is the share of the second feature value corresponding to the first ID in the second computing participant 820; if the first ID is not an intersection ID, the second data is a random number, and the share of the second feature value is the amount by which the second computing participant 820 secretly shares the second feature value between the first computing participant 810 and the second computing participant 820. The two computational participants 820 share the second feature value, and the shares of the second feature value obtained by each of the first computational participant 810 and the second computational participant 820 can be used to reconstruct the second feature value. If the first encrypted data indicates that the first ID is an intersection ID, the first computational participant 810 is also used to use its share of the first feature value and the second data as training data for the neural network. If the first encrypted data indicates that the first ID is an intersection ID, the second computational participant 820 is also used to use its share of the first feature value and the share of the second feature value as training data for the neural network. Optionally, the first computational participant 810 and the second computational participant 820 are also used to recover the first encrypted data to obtain the first data; the first computational participant 810 and the second computational participant 820 are also used to determine whether the first ID is the intersection ID based on the first data.Optionally, if the first computational participant 810 indicates, based on the first encrypted data it has obtained, that the first ID is not an intersection ID, the first computational participant 810 is further configured to delete its share of the first feature value and the second data; if the second computational participant 820 indicates, based on the first encrypted data it has obtained, that the first ID is not an intersection ID, the second computational participant 820 is further configured to delete its share of the first feature value and the second feature value. Optionally, the first computational participant 810 and the second computational participant 820 are further configured to determine, based on the multiple encrypted data corresponding to multiple hash buckets, whether the number of intersection IDs is greater than a preset threshold, wherein the multiple encrypted data includes the first encrypted data; specifically, the second computational participant 820 is configured to obtain the share of the first feature value corresponding to the first ID from the first computational participant when the number of intersection IDs is greater than the preset threshold; specifically, the first computational participant 810 is configured to obtain the share of the second data when the number of intersection IDs is greater than the preset threshold. Optionally, the first computational participant 810 and the second computational participant 820 are further configured to randomly shuffle the order of the multiple ciphertext data they each acquire. Optionally, the first computational participant 810 and the second computational participant 820 are specifically configured to obtain the first ciphertext data using a programmable unintentional pseudo-random function OPPRF or a key exchange DH. Optionally, the first computational participant 810 is specifically configured to obtain the second data using a programmable unintentional pseudo-random function OPPRF. The system 800 here can be embodied in the form of a functional module. The term "module" here can be implemented in software and / or hardware, without specific limitations. For example, a "first computing participant" can be a software program, hardware circuit, or a combination of both that implements the above functions. For instance, the implementation of a first computing participant will be described below using the first computing participant as an example. Similarly, the implementation of other modules, such as a second computing participant, can refer to the implementation of the first computing participant. As an example of a software functional unit, the first computing participant can include code running on a computing instance. The computing instance can include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above computing instance can be one or more. For example, the first computing participant can include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code can be distributed in the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code can be distributed in the same availability zone.Within an Availability Zone (AZ), virtual machines (VMs) can be distributed across different AZs, each comprising one or more geographically proximate data centers. Typically, a region can include multiple AZs. Similarly, multiple hosts / VMs / containers used to run the code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, and between VPCs in different regions, requires a communication gateway within each VPC to interconnect them. The first computing participant, as an example of a hardware functional unit, can include at least one computing device, such as a server. Alternatively, the first computing participant can be a device implemented using an Application-Specific Integrated Circuit (ASIC) or a Programmable Logic Device (PLD). The PLD mentioned above can be implemented as a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof. The multiple computing devices included in the first computing participant can be distributed in the same region or in different regions. Similarly, the multiple computing devices included in the first computing participant can be distributed in the same Availability Zone (AZ) or in different AZs. Likewise, the multiple computing devices included in the first computing participant can be distributed in the same Virtual Private Cloud (VPC) or in multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs. Therefore, the modules of the various examples described in the embodiments of this application can be implemented using electronic hardware or a combination of computer software and electronic components. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application. Furthermore, the system embodiments and method embodiments provided above belong to the same concept, and their specific implementation process can be found in the method embodiments above, which will not be repeated here.The method provided in this application embodiment can be executed by a computing device, which can also be referred to as a computer system. It includes a hardware layer, an operating system layer running on top of the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as processing units, memory, and memory control units; the functions and structure of this hardware will be described in detail below. The operating system is any one or more computer operating systems that implement business processing through processes, such as Linux, Unix, Android, iOS, or Windows. The application layer includes applications such as browsers, address books, word processing software, and instant messaging software. Optionally, the computer system can be a handheld device such as a smartphone, or a terminal device such as a personal computer; this application does not particularly limit this, as long as the method provided in this application embodiment can be used. The execution subject of the method provided in this application embodiment can be a computing device, or a functional module within the computing device capable of calling and executing programs. A computing device provided in this application embodiment will be described in detail below with reference to Figure 9. Figure 9 is a schematic diagram of the architecture of a computing device 1500 provided in this application embodiment. The computing device 1500 can be a server, a computer, or other devices with computing capabilities. The computing device 1500 shown in Figure 9 includes at least one processor 1510 and a memory 1520. It should be understood that this application does not limit the number of processors and memories in the computing device 1500. The processor 1510 executes instructions in the memory 1520, causing the computing device 1500 to implement the method provided in this application. Alternatively, the processor 1510 executes instructions in the memory 1520, causing the computing device 1500 to implement the various functional modules provided in this application, thereby implementing the method provided in this application. Optionally, the computing device 1500 also includes a communication interface 1530. The communication interface 1530 uses a transceiver module, such as, but not limited to, a network interface card or transceiver, to enable communication between the computing device 1500 and other devices or communication networks. Optionally, the computing device 1500 also includes a system bus 1540, wherein the processor 1510, memory 1520, and communication interface 1530 are respectively connected to the system bus 1540. The processor 1510 can access the memory 1520 through the system bus 1540; for example, the processor 1510 can perform data read / write operations or code execution in the memory 1520 through the system bus 1540. The system bus 1540 is a Peripheral Component Interconnect Express (PCI) bus or an Extended Industry Standard (ESS) bus.The system bus 1540 is divided into an address bus, a data bus, and a control bus. For ease of representation, only one thick line is used in Figure 9, but this does not mean that there is only one bus or one type of bus. In one possible implementation, the processor 1510 mainly interprets the instructions (or code) of the computer program and processes the data in the computer software. The instructions of the computer program and the data in the computer software can be stored in the memory 1520 or the cache 1516. Optionally, the processor 1510 may be an integrated circuit chip with signal processing capabilities. By way of example and not limitation, the processor 1510 is a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. Among them, a general-purpose processor is a microprocessor, etc. For example, the processor 1510 is a central processing unit (CPU). Optionally, each processor 1510 includes at least one processing unit 1512 and a memory control unit 1514. Optionally, the processing unit 1512, also called a core, is the most important component of the processor. The processing unit 1512 is manufactured from single-crystal silicon using a specific manufacturing process. All calculations, command reception, command storage, and data processing are performed by the core. Each processing unit independently executes program instructions, utilizing parallel computing capabilities to accelerate program execution. Various processing units have fixed logical structures; for example, a processing unit includes logical units such as a level 1 cache, a level 2 cache, an execution unit, an instruction-level unit, and a bus interface. As an example implementation, the memory control unit 1514 controls data interaction between the memory 1520 and the processing unit 1512. Specifically, the memory control unit 1514 receives memory access requests from the processing unit 1512 and controls memory access based on these requests. By way of example and not limitation, the memory control unit is a device such as a memory management unit (MMU). In one implementation example, each memory control unit 1514 addresses the memory 1520 via the system bus. An arbitrator (not shown in Figure 9) is configured on the system bus to handle and coordinate contention for access by the multiple processing units 1512.In one implementation example, the processing unit 1512 and the memory control unit 1514 are connected via internal chip wiring, such as address lines, to enable communication between them. Optionally, each processor 1510 also includes a cache 1516, which is a buffer for data exchange. When the processing unit 1512 needs to read data, it first searches for the required data in the cache. If found, it executes directly; otherwise, it searches for it in memory. Since the cache operates much faster than memory, its function is to help the processing unit 1512 run faster. The memory 1520 provides running space for processes in the computing device 1500. For example, the memory 1520 stores the computer program (specifically, the program code) used to generate the process. After the computer program is run by the processor to generate a process, the processor allocates corresponding storage space for the process in the memory 1520. Further, the aforementioned storage space includes text segments, initialized data segments, bit initialized data segments, stack segments, heap segments, etc. Memory 1520 stores data generated during the execution of the process in the storage space corresponding to the aforementioned process, such as intermediate data or process data. Optionally, memory is also called main memory, and its function is to temporarily store the computational data in processor 1510, as well as data exchanged with external storage such as hard disk. As long as the computer is running, processor 1510 will load the data that needs to be processed into main memory for processing, and after the processing is completed, processing unit 1512 will send the result out. By way of example and not limitation, memory 1520 can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Among them, non-volatile memory is read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory is random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), and double data rate synchronous dynamic random access memory (DDR).SDRAM, enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM). It should be noted that the memory 1520 of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory. 11 WO 2024 / 234685 PCT / CN2024 / 071000 The structure of the computing device 1500 listed above is merely illustrative and is not limited thereto. The computing device 1500 of the embodiments of this application includes various hardware in prior art computer systems. For example, the computing device 1500 also includes other memories besides memory 1520, such as disk storage. Those skilled in the art should understand that the computing device 1500 may also include other devices necessary for normal operation. Furthermore, depending on specific needs, those skilled in the art should understand that the above-described computing device 1500 may also include hardware devices for implementing other additional functions. Furthermore, those skilled in the art should understand that the aforementioned computing device 1500 may only include the devices necessary for implementing the embodiments of this application, and does not necessarily include all the devices shown in FIG. 9. This application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device may be a server. In some embodiments, the computing device may also be a desktop computer, laptop computer, or smartphone, etc. As shown in FIG. 10, the computing device cluster includes at least one computing device 1500. The memory 1520 of one or more computing devices 1500 in the computing device cluster may store the same instructions for executing the above-described method. In some possible implementations, the memory 1520 of one or more computing devices 1500 in the computing device cluster may also store separate instructions for executing the above-described method. In other words, a combination of one or more computing devices 1500 can jointly execute the instructions of the above-described method. It should be noted that the memory 1520 of different computing devices 1500 in the computing device cluster may store different instructions, respectively used to execute separate functions of the aforementioned computing participants. That is, the instructions stored in the memory 1520 of different computing devices 1500 can implement one or more functions of the aforementioned computing participants. In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. The network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 10 illustrates one possible implementation. As shown in Figure 10, two computing devices 1500A...The computing device 1500A is connected to the computing device 1500B via a network. Specifically, it is connected to the network through the communication interface in each computing device. It should be understood that the functions of computing device 1500A shown in Figure 10 can also be performed by multiple computing devices 1500. Similarly, the functions of computing device 1500B can also be performed by multiple computing devices 1500. In this embodiment, a computer program product containing instructions is also provided. The computer program product can be software or program products containing instructions that can run on a computing device or be stored in any usable medium. When it runs on a computing device, it causes the computing device to perform the methods provided above, or causes the computing device to implement the functions of the system provided above. In this embodiment, a computer-readable storage medium is also provided. The computer-readable storage medium can be any usable medium that the computing device can store, or a data storage device such as a data center containing one or more usable media. The usable medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that, when executed on a computing device, cause the computing device to perform the methods provided above. It should be understood that in the various embodiments of this application, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. Those skilled in the art will recognize that the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein can be implemented using electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. In the several embodiments provided in this application, it should be understood that the disclosed systems and methods can be implemented in other ways. For example, the system embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be indirect couplings or communication connections through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs. Furthermore, the functional units in the various embodiments of this application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. If the function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage media include various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks. The above descriptions are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims. 13 WO 2024 / 234685 PCT / CN2024 / 071000 Claim 1. A data processing method, characterized in that the method includes: a first computing participant and a second computing participant respectively obtaining first encrypted data, the first encrypted data being used to indicate whether a first ID of the first computing participant is an intersection ID, the intersection ID indicating that the first ID is the same as any one of at least one ID of the second computing participant; the second computing participant obtaining a share of a first feature value corresponding to the first ID from the first computing participant, the share of the first feature value being shared between the first computing participant and the second computing participant in a secret manner, the shares of the first feature value obtained by the first computing participant and the second computing participant respectively being able to reconstruct the first feature value;The first computational participant obtains the second data, wherein if the first ID is an intersection ID, the second data is the share of the second feature value corresponding to the first ID among the second computational participants; if the first ID is not an intersection ID, the second data is a random number, and the share of the second feature value is the second feature value shared by the second computational participant between the first and second computational participants in a secret manner, and the shares of the second feature value obtained by each of the first and second computational participants can be used to reconstruct the second feature value; if the first encrypted data indicates that the first ID is an intersection ID, the first computational participant uses its share of the first feature value and the second data as training data for the neural network; if the first encrypted data indicates that the first ID is an intersection ID, the second computational participant uses its share of the first feature value and the share of the second feature value as training data for the neural network. 2. The method according to claim 1, characterized in that the method further comprises: the first computing participant and the second computing participant respectively recovering the first ciphertext data to obtain first data; determining whether the first ID is the intersection ID based on the first data. 3. The method according to claim 1 or 2, characterized in that the method further comprises: if the first computing participant indicates based on the first ciphertext data it has obtained that the first ID is not an intersection ID, the first computing participant deletes its share of the first feature value and the second data; if the second computing participant indicates based on the first ciphertext data it has obtained that the first ID is not an intersection ID, the second computing participant deletes its share of the first feature value and the share of the second feature value. 4. The method according to any one of claims 1 to 3, characterized in that the method further comprises: the first computing participant and the second computing participant determining whether the number of intersection IDs is greater than a preset threshold based on the multiple ciphertext data corresponding to the multiple hash buckets, wherein the multiple ciphertext data includes the first ciphertext data; the second computing participant obtaining a share of the first feature value corresponding to the first ID from the first computing participant, comprising: the second computing participant obtaining a share of the first feature value corresponding to the first ID from the first computing participant when the number of intersection IDs is greater than the preset threshold; the first computing participant obtaining second data, comprising: the first computing participant obtaining the second data when the number of intersection IDs is greater than the preset threshold. 5. The method according to claim 4, characterized in that the method further comprises: the first computing participant and the second computing participant randomly shuffling the order of the multiple ciphertext data they each obtained. 6.7. The method according to any one of claims 1 to 5, wherein the first computing participant and the second computing participant respectively obtain the first ciphertext data, comprising: the first computing participant and the second computing participant respectively obtain the first ciphertext data through a programmable unintentional pseudo-random function OPPRF or a key exchange DH. 8. The method according to any one of claims 1 to 6, wherein the first computing participant obtains the second data, comprising: the first computing participant obtains the second data through a programmable unintentional pseudo-random function OPPRF. 9. The method according to any one of claims 1 to 7, wherein the first ID of the first computing participant is the ID of the first computing participant in the first hash bucket, at least one ID of the second computing participant is at least one ID of the second computing participant in the first hash bucket, the first ciphertext data is the ciphertext data corresponding to the first hash bucket, and the second data is the second data corresponding to the first hash bucket. 9. A data processing system, characterized in that the system comprises: a first computing participant and a second computing participant, respectively configured to obtain first encrypted data, the first encrypted data being used to indicate whether a first ID of the first computing participant is an intersection ID, the intersection ID indicating that the first ID is the same as any one of at least one ID of the second computing participant; the second computing participant is further configured to obtain a share of a first feature value corresponding to the first ID from the first computing participant, the share of the first feature value being shared between the first computing participant and the second computing participant in a secret manner, the shares of the first feature value obtained by the first computing participant and the second computing participant respectively being able to reconstruct the first feature value; The first computational participant is further configured to obtain second data, wherein if the first ID is an intersection ID, the second data is the share of the second feature value corresponding to the first ID among the second computational participants; if the first ID is not an intersection ID, the second data is a random number, and the share of the second feature value is the second feature value shared by the second computational participant between the first and second computational participants in a secret sharing manner, and the shares of the second feature value obtained by each of the first and second computational participants can reconstruct the second feature value; if the first ciphertext data indicates that the first ID is an intersection ID, the first computational participant is further configured to use its share of the first feature value and the second data as training data for the neural network; if the first ciphertext data indicates that the first...The ID is an intersection ID, and the second computational participant is further configured to use its share of the first feature value and the share of the second feature value as training data for the neural network. 10. The system according to claim 9, wherein the first computational participant and the second computational participant are further configured to recover the first ciphertext data to obtain first data; the first computational participant and the second computational participant are further configured to determine whether the first ID is the intersection ID based on the first data. 11. The system according to claim 9 or 10, wherein if the first computational participant indicates that the first ID is not an intersection ID based on the first ciphertext data it has obtained, the first computational participant is further configured to delete its share of the first feature value and the second data; if the second computational participant indicates that the first ID is not an intersection ID based on the first ciphertext data it has obtained, the second computational participant is further configured to delete its share of the first feature value and the share of the second feature value. 12. The system according to any one of claims 9 to 11, wherein the first computational participant and the second computational participant are further configured to determine whether the number of intersection IDs is greater than a preset threshold based on a plurality of ciphertext data, wherein the plurality of ciphertext data includes the first ciphertext data; the second computational participant is specifically configured to obtain a share of the first feature value corresponding to the first ID from the first computational participant when the number of intersection IDs is greater than the preset threshold; the first computational participant is specifically configured to obtain the second data when the number of intersection IDs is greater than the preset threshold. 13. The system according to claim 12, wherein the first computational participant and the second computational participant are further configured to randomly shuffle the order of the plurality of ciphertext data they have obtained. 14. The system according to any one of claims 9 to 13, wherein the first computational participant and the second computational participant are specifically configured to obtain the first ciphertext data respectively through a programmable unintentional pseudo-random function OPPRF or a key exchange DH. 15. The system according to any one of claims 9 to 14, wherein the first computational participant is specifically configured to: obtain the second data through a programmable unintentional pseudo-random function OPPRF. 16. The system according to any one of claims 9 to 15, characterized in that, the first ID of the first computing participant is the ID of the first computing participant in the first hash bucket, at least one ID of the second computing participant is at least one ID of the second computing participant in the first hash bucket, the first ciphertext data is the ciphertext data corresponding to the first hash bucket, and the second data is the second data corresponding to the first hash bucket. 17.A computing device cluster, characterized by comprising at least one computing device, each computing device comprising a processor and a memory; the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 1 to 8. 18. A computer program product containing instructions, characterized in that, when the instructions are executed by a computing device cluster, the computing device cluster is caused to execute the method according to any one of claims 1 to 8. 19. A computer-readable storage medium, characterized by comprising computer program instructions, when the computer program instructions are executed by a computing device cluster, the computing device cluster executes the method according to any one of claims 1 to 8. FIG. 1 2* *:κχ 030 Μ.Κ | 010 XM1 010 κκχ κκχ 010 …1 011 Xt I ID.R < | ic】 XK 1 ιιχ κχχ 101 …1 110 X" 1⑺ XT· • 1 X ΒΧΧ :11 ■Μ 1 determining whether there is an intersection of IDs between ID elements in hash buckets with a same number of a first computing participant and a second computing participant 220 performing threshold judgment on the number of IDs in the intersection IDs 230 the first computing participant and the second computing participant respectively obtain secret share values <fs> of feature values corresponding to IDs in the intersection performing data filtering on a plurality of <fs> according to the obtained plurality of values of y, to obtain training data for model training FIG. 2 1 / 6 WO 2024 / 234685 PCT / CN2024 / 071000 First Computing Participant FIG. 3 2 / 6 WO 2024 / 234685 PCT / CN2024 / 071000 Features f-eatures Features Secure - V、shufHc ■ v <iiic4uil selection poolv、sliufllc FIG. 7 System 800 for data processing First computing participant 810 ----------------- Second computing participant 810 FIG. 8 Computing device 1500 FIG. 9 3 / 6 WO 2024 / 234685 PCT / CN2024 / 071000 Computing device 1500 Computing device 15 00 Computing device 1500 FIG. 10 4 / 6 WO 2024 / 234685 PCT / CN2024 / 071000 II 5 / 6 WO2024 / 234685 PCT / CN2024 / 071000 Figure 12 6 / 6 INTERNATIONAL SEARCH REPORT International application No. PCT / CN2024 / 071000 A. CLASSIFICATION OF SUBJECT MATTER H04L9 / 08(2006.01)i According to International Patent Classification (IPC) or to both national classification and IPC B. FIELDS SEARCHED Minimum documentation searched (classification system followed by classification symbols) IPC:H04L,G06F Documentation searched other than minimum documentation to the extent that such documents are included in the fields searched Electronic data base consulted during the international search (name of data base and, where practicable, search terms used) CJFD, CNTXT, ENTXT, ENTXTC, IEEE:security, multi-party, learning, identifier, random, feature, intersection, programmable, secret, sharing, private, leakage, exposure, privacy, ID, feature, intersection, OPPRF, privacy, secret sharing, PSI, SMPL, VSMPL C. DOCUMENTS CONSIDERED TO BE RELEVANT Category* Citation of document, with indication, where appropriate, of the relevant passages Relevant to claim No. A CN 114661680 A (LANXIANG ZHILIAN (HANGZHOU)TECHNOLOGY CO., LTD.) 24 June 2022 (2022-06-24) description, paragraphs

[0030] -

[0046] 1-19 A CN 115913537 A (INSIGHTONE TECH CO., LTD.) 04 April 2023 (2023-04-04) entire document 1-19 A WO 2023050687 A1 (CHINA UNIONPAY CO., LTD.) 06 April 2023 (2023-04-06) entire document 1-19 A US 2023091700 A1 (SONY GROUP CORP.) 23 March 2023 (2023-03-23) entire document 1-19 A Han Weili et al. "Secure Multi-Party Learning: From Secure Computation to Secure Learning", Chinese Journal of Computers, Vol. 46, No. 7, 19 April 2023 (2023-04-19), entire document 1-19 | | Further documents are listed in the continuation of Box C. | / 1 See patent family annex. * Special categories of cited documents: "A" document defining the general state of the art which is not considered to be of particular relevance "T" later document published after the international filing date or priority date and not in conflict with the application but cited to understand the principle or theoryunderlying the invention "D” document cited by the applicant in the international application "χ” document of particular relevance; the claimed invention cannot be "E" eailier application or patent but published on or after the international considered novel or cannot be considered to involve an inventive step filing date when the document is taken alone "L" document which may thi'ow doubts on priority claim(s) or which is "Y" document of paiticulai' relevance; the claimed invention cannot be cited to establish the publication date of another citation or other considered to involve an inventive step when the document is special reason (as specified) combined with one or more other such documents, such combination "O” document refen'ing to an oral disclosure, use, exhibition or other being obvious to a person skilled in the art means document member of the same patent family "P” document published prior to the international filing date but later than the priority date claimed Date ofthe actual completion of the international search 18 March 2024 Date of mailing of the international search report 22 March 2024 Name and mailing address of the ISA / CN China National Intellectual Property Administration (ISA / CN) China No. 6, Xitucheng Road, Jimenqiao, Haidian District, Beijing 100088 Authorized officer Telephone No. Form PCT / ISA / 210 (second sheet) (July 2022) INTERNATIONAL SEARCH REPORT International application No. PCT / CN2024 / 071000 C. DOCUMENTS CONSIDERED TO BE RELEVANT Category* Citation of document, with indication, where appropriate, of the relevant passages Relevant to claim No. A LU, Linpeng et al. "Multi-party Private Set Intersection in Vertical Federated Learning" 2020 IEEE 1International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom), 09 February 2021 (2021-02-09), entire document 1-19 PX CN 117294425 A (HUAWEI CLOUD COMPUTING TECHNOLOGIES CO., LTD. et al.) 26 December 2023 (2023-12-26) entire document 1-19 FormPCT / ISA / 210 (second sheet) (July 2022) International application No. PCT / CN2024 / 071000 INTERNATIONAL SEARCH REPORT Information on patent family members Patent document cited in search report Publication date (day / month / year) Patent family member(s) Publication date (day / month / year) CN 114661680 A 24 June 2022 None CN 115913537 A 04 April 2023 None WO 2023050687 Al 06 April 2023 CN 113836559 A 24 December 2021 US 2023091700 Al 23 March 2023 JP 2023519225 A 10 May 2023 WO 2021197775 Al 07 October 2021 CN 117294425 A 26 December 2023 None Form PCT / ISA / 210 (patent family annex) (July 2022) International Search Report International Application No. PCT / CN2024 / 071000 A. Subject Classification H04L9 / 08 (2006.01) i According to the International Patent Classification (IPC) or both national classification and IPC classification B. Search Field Minimum Documents Searched (indicate classification system and classification number) IPC: H04L, G06F Search documents included in the search field, excluding the minimum documents Electronic databases consulted during the international search (database name and search terms used (if applicable)) CJFD, CNTXT, ENTXT, ENTXTC, IEEE: security, multi-party, learned identifier, random feature, intersection, programmable secret, sharing, sharing, privacy, disclosure, exposure, hidden fe, ID, feature, intersection, OPPRF, privacy .secret sharing, PSI, SMPL.VSMPL C. Related document types* Referenced documents, specifying relevant paragraphs where necessary. Related claims A CN 114661680 A(Blue Elephant Intelligent Connectivity (Hangzhou) Technology Co., Ltd.) June 24, 2022 (2022-06-24) Instruction Manual Sections

[0030] -

[0046] 1-19 A CN 115913537 A (Shenzhen Insight Wisdom Technology Co., Ltd.) April 4, 2023 (2023-04-04) Full Text 1-19 A WO 2023050687 A1 (China UnionPay Co., Ltd.) April 6, 2023 (2023-04-06) Full Text 1-19 A US 2023091700 A1 (SONY GROUP CORPORATION) March 23, 2023 (2023-03-23) Full Text 1-19 A Han Weili et al. "Secure Multi-Party Learning: From Secure Computing to Secure Learning" Chinese Journal of Computers, Vol. 46, No. 7, April 19, 2023 (2023-04-19), Full Text 1-19 A LU, Linpeng et al. "Multi-party Private Set Intersection in Vertical Federated Learning" 2020 IEEE 19th International Conference on Trust, Security and Privacy in Computing and Communications (TmstCom), February 9, 2021 (2021-02-09), Full Text 1-19 The remaining documents are listed on the next page in column C. See patent family appendices. ★ Specific types of cited documents: "τ" A later document published after the filing date or priority date, not contradicting the application, but deemed not particularly relevant for understanding purposes, representing the general state of the prior art; an inventive theory or principle; "D" A document cited by the applicant in an international application; "X" A particularly relevant document, which, upon consideration alone, determines that the claimed invention is not novel or lacks inventiveness; or a document that lacks inventiveness when it is not combined with one or more similar documents and such combination is obviously inappropriate to those skilled in the art; "L" A document published on or after the international filing date that may cast doubt on the priority claim in a prior application or patent, or a document cited to determine the publication date of another cited document, or cited for other specific reasons (as specifically stated in "Y" and "ο"); a document relating to oral disclosure, use, exhibition, or other disclosure; or a document from a patent family; "P" The actual date of completion of the international search for documents whose publication date precedes the international application date but later than the claimed priority date.Name and Mailing Address of ISA / CN, March 18, 2024: China National Intellectual Property Administration, No. 6, Tucheng Road, West of Jimen Bridge, Haidian District, Beijing, 100088, China. International Search Report Mailing Date: March 22, 2024. Authorized Officer: Wang Xiang. Telephone Number: (+86) 010-53961575. PCT / ISA / 210 Form (Page 2) (July 2022) International Search Report International Application Number: PCT / CN2024 / 071000 C. Related Document Types* Referenced Documents, indicating relevant paragraphs where necessary. Related Claims: PX CN 117294425 A (Huawei Cloud Computing Technology Co., Ltd., etc.) December 26, 2023 (2023-12-26) Full Text: 1-19 PCT / ISA / 210 Form (Page 2) (July 2022) International Search Report Information on Patent Families International Application Number: PCT / CN2024 / 071000 Publication Date of Patent Documents Cited in the Search Report (Year / Month / Day) Publication Date of Related Patents (Year / Month / Day) CN 114661680 A June 24, 2022 None CN 115913537 A April 4, 2023 None WO 2023050687 A1 April 6, 2023 CN 113836559 A December 24, 2021 US 2023091700 A1 March 23, 2023 JP 2023519225 A May 10, 2023 WO 2021197775 A1 October 7, 2021 CN 117294425 A December 26, 2023 None PCT / ISA / 210 Form (Appendix to Related Patents) (July 2022) (19) *EP004701128A1* (11) EP 4 701 128 A1 (12) EUROPEAN PATENT APPLICATION published in accordance with Art. 153(4) EPC (43) Date of publication: 25.02.2026 Bulletin 2026 / 09 (21) Application number: 24806049.3 (22) Date of filing: 08.01.2024 (51) International Patent Classification (IPC): H04L 9 / 08 (2006.01) (86) International application number:PCT / CN2024 / 071000 (87) International publication number: WO 2024 / 234685 (21.11.2024 Gazette 2024 / 47) (84) Designated Contracting States: AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR Designated Extension States: BA Designated Validation States: KH MA MD TN (30) Priority: 16.05.2023 CN 202310552730 23.08.2023 CN 202311068411 (71) Applicant: Huawei Cloud Computing Technologies Co., Ltd. Guiyang, Guizhou 550025 (CN) (72) Inventors: • HAN, Weili Shanghai 200433 (CN) • CHEN, Shuyu Shanghai 200433 (CN) • LI, Bingshuai Guiyang, Guizhou 550025 (CN) • SHAO, Yunfeng Guiyang, Guizhou 550025 (CN) • YE, Fei Guiyang, Guizhou 550025 (CN) (74) Representative: Goddar, Heinz J. Boehmert & Boehmert Anwaltspartnerschaft mbB Pettenkoferstrasse 22 80336 München (DE) (54) DATA PROCESSING METHOD AND SYSTEM, AND COMPUTING DEVICE (57) A data processing method and system, and a computing device are provided. The method includes: A firstcomputing participant and a second computing par- ticipant separately obtain first ciphertext data. The sec- ond computing participant obtains, from the first comput- ing participant, a shareof a first feature value correspond- ing to a first ID. The first computing participant obtains second data, where if the first ID is an intersection ID, the second data is a share of a second feature value that is in the second computing participant and that corresponds to the first ID, or if the first ID is not an intersection ID, the second data is a random number. If the first ciphertext data indicates that the first ID is an intersection ID, the first computing participant uses the second data and a share of the first feature value that is held by the first computing participant as training data of a neural network, and the second computing participant uses a share of the first feature value and a share of the second feature value that are held by the second computing participant as trainingdata of the neural network. In the method, security of multi-party computing can be improved. EP 4 70 1 12 8 A 1 Processed by Luminess, 75001 PARIS (FR) 2 1 EP 4 701 128 A1 2 Description

[0001] This application claims priorities to Chinese Patent Application No. 202310552730.1, filed with the China National Intellectual Property Administration on May 16, 2023 and entitled "METHOD AND APPARATUS FOR MULTI-PARTY VERTICAL FEDERATED LEARN- ING WITH CONCEALED ID", and to Chinese Patent Application No. 202311068411.X, filed with the China National Intellectual Property Administration on August 23, 2023 and entitled "DATA PROCESSING METHOD AND SYSTEM, AND COMPUTING DEVICE", both of which are incorporated herein by reference in their entire- ties. TECHNICAL FIELD

[0002] This application relates to the field of secure computing, and more specifically, to a data processing method and system, and a computing device. BACKGROUND

[0003] Private set intersection (private set intersection, PSI) is asecure multi-party computing protocol in which an intersection part of data sets of a plurality of partici- pants can be calculated without exposing any data set information beyond an intersection. The protocol is usually used for federated recommendation, advertise- ment targeting, data alignment before vertical secure multi-party learning, and the like. For example, before the vertical secure multi-party learning, the PSI technol- ogy may be used to calculate an ID value commonly held by all participants, without exposing an intersection ele- ment of a plurality of participants.

[0004] Before the vertical secure multi-party learning, an intersection part of data sets of a plurality of computing participants is calculated by using the private set inter- section (PSI) technology without exposing an intersec- tion element of the plurality of computing participants, and an AI model is trained based on data (a feature value) corresponding to the intersection part of the data sets of theplurality of participants. In a related technical solution, in a process of calculating, based on the PSI technology, an intersection of IDs in data held by a plurality of com- puting participants, ID plaintext in the intersection is exposed. In this case, all computing parties know specific IDs in the intersection, leading to exposure of ID privacy of a customer and poor security.

[0005] Therefore, how to improve security of multi- party computing and protect data privacy of a plurality of computing parties becomes a technical problem that urgently needs to be resolved. SUMMARY

[0006] This application provides a data processing method and system, and a computing device. In the method, security of multi-party computing can be im- proved, to protect data privacy of a plurality of computing parties.

[0007] According to a first aspect, a data processing method is provided. The method includes: A first comput- ing participant and a second computing participant se- parately obtain firstciphertext data, where the first ci- phertext data indicates whether a first ID of the first computing participant is an intersection ID, and the inter- section ID indicates that the first ID is the same as any one of at least one ID of the second computing participant. The second computing participant obtains, from the first computing participant, a share of a first feature value corresponding to the first ID, where the share of the first feature value is obtained by the first computing partici- pant by sharing the first feature value between the first computing participant and the second computing parti- cipant in a secret sharing mode, and the first feature value is restorable based on a share of the first feature value that is obtained by each of the first computing participant and the second computing participant. The first comput- ing participant obtains second data, where if the first ID is an intersection ID, the second data is a share of a second feature value that is in thesecond computing participant and that corresponds to the first ID, or if the first ID is not an intersection ID, the second data is a random number; the share of the second feature value is obtained by the second computing participant by sharing the second feature value between the first computing participant and the second computing participant in a secret sharing mode; and the second feature value is restorable based on a share of the second feature value that is obtained by each of the first computing participant and the second computing participant. If the first ciphertext data indicates that the first ID is an intersection ID, the first computing participant uses the second data and a share of the first feature value that is held by the first computing participant as training data of a neural network. If the first ciphertext data indicates that the first ID is an intersection ID, the second computing participant uses a share of the first feature value and a share of the secondfeature value that are held by the second computing participant as training data of the neural network.

[0008] In the foregoing technical solution, subsequent AI model training may be performed based on data (a feature value) corresponding to an ID in an intersection, without exposing ID privacy of a customer. In this way, the ID privacy of the customer is protected, security is high, and a function requirement and a privacy requirement that are needed in a data preprocessing stage of vertical secure multi-party learning are met.

[0009] With reference to the first aspect, in some im- plementations of the first aspect, the method further includes: The first computing participant and the second computing participant separately perform restoration on the first ciphertext data to obtain first data; and determine, based on the first data, whether the first ID is the inter- section ID. 5 10 15 20 25 30 35 40 45 50 55 3 3 EP 4 701 128 A1 4

[0010] With reference to the first aspect, in someim- plementations of the first aspect, the method further includes: If the first computing participant indicates, based on the first ciphertext data obtained by the first computing participant, that the first ID is not an intersec- tion ID, the first computing participant deletes the second data and the share of the first feature value that is held by the first computing participant. If the second computing participant indicates, based on the first ciphertext data obtained by the second computing participant, that the first ID is not an intersection ID, the second computing participant deletes the share of the first feature value and the share of the second feature value that are held by the second computing participant.

[0011] In the foregoing technical solution, if the first ID is not an intersection ID, the second data corresponding to the first ID is a random number, and in this case, the second data may be deleted. In this way, only a feature value corresponding to an intersectionID can participate in training of a neural network model, so that extra over- heads are avoided, and efficiency of model training is improved.

[0012] With reference to the first aspect, in some im- plementations of the first aspect, the method further includes: The first computing participant and the second computing participant determine, based on a plurality of pieces of ciphertext data corresponding to a plurality of hash buckets, whether a quantity of intersection IDs is greater than a preset threshold, where the plurality of pieces of ciphertext data include the first ciphertext data. When the quantity of intersection IDs is greater than the preset threshold, the second computing participant ob- tains, from the first computing participant, the share of the first feature value corresponding to the first ID. When the quantity of intersection IDs is greater than the preset threshold, the first computing participant obtains the second data.

[0013] The foregoing technical solutionprovides threshold-based determining. If an intersection includes a quite small quantity of elements, a subsequent opera- tion is terminated. This avoids a case that a trained model has unsatisfactory effect due to insufficient data, causing a waste of training costs.

[0014] With reference to the first aspect, in some im- plementations of the first aspect, the method further includes: The first computing participant and the second computing participant separately randomly disorder a plurality of pieces of ciphertext data obtained by each of the first computing participant and the second comput- ing participant.

[0015] With reference to the first aspect, in some im- plementations of the first aspect, the first computing participant and the second computing participant sepa- rately obtain the first ciphertext data through an oblivious programmable pseudorandom function OPPRF or key exchange DH.

[0016] With reference to the first aspect, in some im- plementations of the first aspect, thefirst computing participant obtains the second data through an oblivious programmable pseudorandom function OPPRF.

[0017] With reference to the first aspect, in some im- plementations of the first aspect, the first ID of the first computing participant is an ID of the first computing participant in a first hash bucket, the at least one ID of the second computing participant is at least one ID of the second computing participant in the first hash bucket, the first ciphertext data is ciphertext data corresponding to the first hash bucket, and the second data is second data corresponding to the first hash bucket.

[0018] According to a second aspect, a data proces- sing system is provided. The system includes a first computing participant and a second computing partici- pant. The first computing participant and the second computing participant are separately configured to obtain first ciphertext data, where the first ciphertext data in- dicates whether a first ID of the first computingparticipant is an intersection ID, and the intersection ID indicates that the first ID is the same as any one of at least one ID of the second computing participant. The second computing participant is further configured to obtain, from the first computing participant, a share of a first feature value corresponding to the first ID, where the share of the first feature value is obtained by the first computing partici- pant by sharing the first feature value between the first computing participant and the second computing parti- cipant in a secret sharing mode, and the first feature value is restorable based on a share of the first feature value that is obtained by each of the first computing participant and the second computing participant. The first comput- ing participant is further configured to obtain second data, where if the first ID is an intersection ID, the second data is a share of a second feature value that is in the second computing participant and that corresponds to thefirst ID, or if the first ID is not an intersection ID, the second data is a random number; the share of the second feature value is obtained by the second computing participant by shar- ing the second feature value between the first computing participant and the second computing participant in a secret sharing mode; and the second feature value is restorable based on a share of the second feature value that is obtained by each of the first computing participant and the second computing participant. If the first cipher- text data indicates that the first ID is an intersection ID, the first computing participant is further configured to use the second data and a share of the first feature value that is held by the first computing participant as training data of a neural network. If the first ciphertext data indicates that the first ID is an intersection ID, the second computing participant is further configured to use a share of the first feature value and a share of the second featurevalue that are held by the second computing participant as training data of the neural network.

[0019] With reference to the second aspect, in some implementations of the second aspect, the first comput- ing participant and the second computing participant are further separately configured to perform restoration on 5 10 15 20 25 30 35 40 45 50 55 4 5 EP 4 701 128 A1 6 the first ciphertext data to obtain first data; and the first computing participant and the second computing parti- cipant are further separately configured to determine, based on the first data, whether the first ID is the inter- section ID.

[0020] With reference to the second aspect, in some implementations of the second aspect, if the first comput- ing participant indicates, based on the first ciphertext data obtained by the first computing participant, that the first ID is not an intersection ID, the first computing participant is further configured to delete the second data and the share of the first feature valuethat is held by the first computing participant; and if the second computing participant indicates, based on the first ciphertext data obtained by the second computing participant, that the first ID is not an intersection ID, the second computing participant is further configured to delete the share of the first feature value and the share of the second feature value that are held by the second computing participant.

[0021] With reference to the second aspect, in some implementations of the second aspect, the first comput- ing participant and the second computing participant are further configured to determine, based on a plurality of pieces of ciphertext data corresponding to a plurality of hash buckets, whether a quantity of intersection IDs is greater than a preset threshold, where the plurality of pieces of ciphertext data include the first ciphertext data. The second computing participant is specifically config- ured to: when the quantity of intersection IDs is greater than thepreset threshold, obtain, from the first computing participant, the share of the first feature value corre- sponding to the first ID. The first computing participant is specifically configured to: when the quantity of inter- section IDs is greater than the preset threshold, obtain the second data.

[0022] With reference to the second aspect, in some implementations of the second aspect, the first comput- ing participant and the second computing participant are further configured to separately randomly disorder a plurality of pieces of ciphertext data obtained by each of the first computing participant and the second comput- ing participant.

[0023] With reference to the second aspect, in some implementations of the second aspect, the first comput- ing participant and the second computing participant are specifically configured to separately obtain the first ci- phertext data through an oblivious programmable pseu- dorandom function OPPRF or key exchange DH.

[0024] With reference to thesecond aspect, in some implementations of the second aspect, the first comput- ing participant is specifically configured to obtain the second data through an oblivious programmable pseu- dorandom function OPPRF.

[0025] With reference to the second aspect, in some implementations of the second aspect, the first ID of the first computing participant is an ID of the first computing participant in a first hash bucket, the at least one ID of the second computing participant is at least one ID of the second computing participant in the first hash bucket, the first ciphertext data is ciphertext data corresponding to the first hash bucket, and the second data is second data corresponding to the first hash bucket.

[0026] According to a third aspect, a computing device cluster is provided, and includes at least one computing device. Each computing device includes a processor and a memory. A processor of the at least one computing device is configured to execute instructions stored in a memoryof the at least one computing device, to enable the computing device cluster to perform the method according to any one of the first aspect or the possible implementations of the first aspect.

[0027] Optionally, the processor may be a general- purpose processor, and may be implemented by using hardware or software. When the processor is implemen- ted by using hardware, the processor may be a logic circuit, an integrated circuit, or the like. When the pro- cessor is implemented by using software, the processor may be a general-purpose processor, and is implemen- ted by reading software code stored in the memory. The memory may be integrated into the processor, or may be located outside the processor and exist independently.

[0028] According to a fourth aspect, a chip is provided. The chip obtains instructions and executes the instruc- tions to implement the method according to any one of the first aspect or the implementations of the first aspect.

[0029] Optionally, in animplementation, the chip in- cludes a processor and a data interface. The processor reads, through the data interface, instructions stored in a memory, to perform the method according to any one of the first aspect or the implementations of the first aspect.

[0030] Optionally, in an implementation, the chip may further include a memory. The memory stores instruc- tions. The processor is configured to execute the instruc- tions stored in the memory. When the instructions are executed, the processor is configured to perform the method according to any one of the first aspect or the implementations of the first aspect.

[0031] According to a fifth aspect, a computer program product including instructions is provided. When the in- structions are run by a computing device cluster, the computing device cluster is enabled to perform the meth- od according to any one of the first aspect or the imple- mentations of the first aspect.

[0032] According to a sixth aspect, a computer-read- ablestorage medium is provided, and includes computer program instructions. When the computer program in- structions are executed by a computing device cluster, the computing device cluster performs the method ac- cording to any one of the first aspect or the implementa- tions of the first aspect.

[0033] For example, the computer-readable storage includes but is not limited to one or more of the following: a read-only memory (read-only memory, ROM), a pro- grammable ROM (programmable ROM, PROM), an era- sable PROM (erasable PROM, EPROM), a flash mem- ory, an electrically EPROM (electrically EPROM, EE- 5 10 15 20 25 30 35 40 45 50 55 5 7 EP 4 701 128 A1 8 PROM), and a hard disk drive (hard disk drive).

[0034] Optionally, in an implementation, the storage medium may be specifically a non-volatile storage med- ium. BRIEF DESCRIPTION OF DRAWINGS

[0035] FIG. 1 is a diagram of calculating vertically distrib- uted data held by a computing participant according to an embodiment of thisapplication; FIG. 2 is a schematic flowchart of a data processing method according to an embodiment of this applica- tion; FIG. 3 is a diagram of a result of performing, by a first computing participant and a second computing par- ticipant, hashing on an ID set in data held by the first computing participant and an ID set in data held by the second computing participant respectively ac- cording to an embodiment of this application; FIG. 4 is a block diagram of obtaining a secret shar- ing value <y>of y by a first computing participant and a second computing participant through an OPPRF according to an embodiment of this application; FIG. 5 is a block diagram of obtaining <fs>by a first computing participant and a second computing par- ticipant through an OPPRF according to an embodi- ment of this application; FIG. 6 is a diagram of data selection according to an embodiment of this application; FIG. 7 is another diagram of data selection according to an embodiment of this application; FIG. 8 is a block diagram of a data processing system 800 according to an embodiment of this application; FIG. 9 is a diagram of an architecture of a computing device 1500 according to an embodiment of this application; FIG. 10 is a diagram of an architecture of a comput- ing device cluster according to an embodiment of this application; FIG. 11 is a diagram of a connection between com- puting devices 1500A and 1500B through a network according to an embodiment of this application; and FIG. 12 is a block diagram of a cloud scenario to which embodiments of this application are applic- able.DESCRIPTION OF EMBODIMENTS

[0036] The following describes technical solutions of this application with reference to the accompanying drawings.

[0037] In this application, all aspects, embodiments, or features are presented with reference to a system includ- ing a plurality of devices, components, modules, or the like. It should be appreciated and understood that each system may include anotherdevice, component, module, or the like, and / or may not include all of devices, compo- nents, modules, or the like that are discussed with re- ference to the accompanying drawings. In addition, a combination of these solutions may alternatively be used.

[0038] In addition, in embodiments of this application, the term "in an example", "for example", or the like is used to give an example, an illustration, or a description.Any embodiment or design scheme described as an "exam- ple" in this application should not be construed as being more preferred or advantageous than another embodi- ment or design scheme. To be precise, the term example is intended to present a concept in a specific manner.

[0039] In embodiments of this application, "relevant (corresponding, relevant)" and "corresponding (corre- sponding)" may be sometimes used interchangeably. It should be noted that meanings expressed by the terms are consistent when a difference between the terms is not emphasized.

[0040] A service scenario described in embodiments of this application is intended to describe the technical solutions in embodiments of this application more clearly, and do not constitute a limitation on the technical solu- tions provided in embodiments of this application.A person of ordinary skill in the art can know that the technical solutions provided in embodiments of this ap- plication are also applicable to similar technical problems with evolution of a network architecture and emergence of a new service scenario.

[0041] Reference to "an embodiment", "some embodi- ments", or the like described in this specification means that one or more embodiments of this application include a specific feature, structure, or characteristic described with reference to the embodiment. Therefore, statements such as "in an embodiment", "in some embodiments", "in some other embodiments", and "in other embodiments" that appear at different places in this specification do not necessarily mean referring to a same embodiment. In- stead, the statements mean "one or more but not all of embodiments", unless otherwise specifically empha- sized in another manner.The terms "include", "com- prise", "have", and their variants all mean "including but not limited to", unless otherwise specifically empha- sized in another manner.

[0042] In this application, "at least one" means one or more, and "a plurality of" means two or more. "And / or" describes an association relationship between asso- ciated objects, and indicates that three relationships may exist. For example, A and / or B may indicate the following three cases: Only A exists, both A and B exist, and only B exists, where A and B may be in a singular form or a plural form. The character " / " usually indicates an "or" relationship between the associated objects. "At least one of the following items (pieces)" or a similar expres- sion thereof indicates any combination of the items, in- cluding one of the items (pieces) or any combination of a plurality of the items (pieces).For example, at least one of a, b, or c may indicate a, b, c, a and b, a and c, b and c, or a, b, and c, where a, b, and c may be in a singular form or a 5 10 15 20 25 30 35 40 45 50 55 6 9 EP 4 701 128 A1 10 plural form.

[0043] For ease of description, the following first de- scribes in detail related concepts in embodiments of this application. 1. Neural network

[0044] The neural network is a computer system that simulates a function of a biological neural network, and performs various tasks by learning and training data. The neural network is a computing model including a plurality of nodes. Each node simulates behavior of a biological neuron, and can receive and process an input signal, and generate an output signal by learning and adjusting a weight.

[0045] The neural network usually includes a plurality of layers of nodes. An input layer receives external data input. An output layer generates a final output result. An intermediate hidden layer processes and converts the input.In the neural network, connections between nodes have different weights. The weights may be adjusted through training and learning to improve accuracy and performance of the network. The neural network is widely used in various fields, including image recognition, speech recognition, natural language processing, auton- omous driving, medical diagnosis, financial prediction, and the like. Common neural network architectures in- clude a feedforward neural network, a convolutional neural network, a recurrent neural network, a deep neural network, and the like. 2. Secure multi-party learning (secure multi-party learn- ing, SMPL)

[0046] The secure multi-party learning is a distributed machine learning paradigm in which a plurality of parties use their respective data to collaboratively train an AI model without aggregating data of the plurality of parties (different organizations or users).In a conventional ma- chine learning paradigm, a large amount of data needs to be aggregated for model training, and data used for training may come from a plurality of different organiza- tions or users. If data of a plurality of different organiza- tions or users is aggregated, a risk of data leakage is quite likely to occur. For an organization, an information asset may be exposed. For an individual user, personal privacy may be disclosed. 3. Vertical secure multi-party learning (vertical secure multi-party learning, VSMPL)

[0047] In the vertical secure multi-party learning, when data of a plurality of participants is vertically distributed, to protect data privacy and leverage data value, the plurality of participants combine their respective data by using a secure multi-party computing technology, to train an AI model. In vertical multi-party learning, participants may belong to different organizations, such as a hospital, a bank, or a government agency.These organizations usually hold an ID value of a user and a plurality of feature (feature) values corresponding to the ID value, and dif- ferent participants hold different features. All of the data is sensitive private data of the user. Therefore, if vertical data of different organizations is aggregated for AI model training, data privacy leakage may occur. To resolve the privacy problem of the vertical multi-party learning, the vertical secure multi-party learning technology emerges correspondingly. In the vertical secure multi-party learn- ing, data of a plurality of participants is aligned by using a private set intersection technology, and then a secure multi-party computing technology, for example, secret sharing or a garbled circuit, is used to jointly train an AI model. 4.Oblivious programmable pseudorandom function (oblivious programmable pseudorandom function, OPPRF)

[0048] The oblivious programmable pseudorandom function is a cryptographic protocol that implements the following function: There are two participants. It is assumed that one participant is Alice and the other participant is Bob. Alice inputs x to the OPPRF, and Bob inputs a plurality of pairs of (xi, yi) to the OPPRF. After the OPPRF is executed, Alice obtains y. If x of Alice is equal to specific xi of Bob, a value of y is yi; otherwise, y is a random number r. During an entire process of the OPPRF, neither Alice nor Bob can obtain additional in- formation. To be specific, Bob does not know x input by Alice or the value of y that is obtained by Alice. Alice obtains only a string y, and cannot learn of, based on y, whether Alice has obtained the random number r or yi. Therefore, Alice does not know whether x of Alice is equal to specific xi of Bob.Usually, Alice is referred to as a receiver party, and Bob is referred to as a sender party. 5. Cuckoo hashing (cuckoo hashing)

[0049] The cuckoo hashing is an implementation of a hash table, and can resolve a hash collision. In the cuckoo hashing, each element has two hash functions, and may be assigned to a position in two hash tables. If a position in a first hash table is already occupied, the element is placed in a corresponding position in the other hash table. If the corresponding position in the other hash table is also occupied, the element is removed from an original position and placed in a new position. This pro- cess may be repeated for a plurality of times until all elements can be successfully placed in a hash table. Therefore, the cuckoo hashing is used for a set. Each bucket includes only an element in one set. Possibly, no position may be found for an element. In this case, the element is placed in a stash.Average time complexity of the cuckoo hashing is at a constant level, and the cuckoo hashing is a very efficient implementation of a hash table. 5 10 15 20 25 30 35 40 45 50 55 7 11 EP 4 701 128 A1 12 6. Private set intersection (private set intersection, PSI)

[0050] The private set intersection is a secure multi- party computing protocol in which an intersection part of data sets of a plurality of participants can be calculated without exposing any data set information beyond an intersection. The protocol is usually used for federated recommendation, advertisement targeting, data align- ment before vertical secure multi-party learning, and the like. For example, before the vertical secure multi- party learning, the PSI technology may be used to cal- culate an ID value jointly held by all participants, without exposing an intersection element of a plurality of partici- pants.

[0051] The PSI has been developed for nearly 20 years.A technology for implementing the PSI includes but is not limited to key exchange (diffie-hellman, DH), oblivious transfer (oblivious transfer, OT), an oblivious pseudorandom function (oblivious pseudorandom func- tion, OPRF), an oblivious programmable pseudorandom function (OPPRF), homomorphic encryption (homo- morphic encryption, HE), and the like. In an initial PSI solution, an intersection result of two participants may be obtained without exposing information beyond an inter- section. Subsequent PSI solutions mainly focus on im- provement in terms of scenarios, functions, privacy, effi- ciency, and other aspects. In terms of scenarios, there is a PSI solution designed for unbalanced data sets. In terms of functions, a multi-party PSI solution that can support more than two parties and a circuit-PSI solution that supports computing by using an associated value (value) corresponding to a key element in an intersection emerge.In terms of privacy, a PSI solution in which no intersection result is exposed emerges. In terms of effi- ciency, a method for reducing an amount of computing and an amount of communication through hashing is proposed. 7. Secret sharing (secret sharing)

[0052] The secret sharing, also referred to as secret splitting, is a cryptographic concept, and is used to split a secret value into several parts for sharing among a plurality of entities. Each entity obtains a part of the secret, referred to as a share or a slice. According to a manner of splitting, the original secret value can be restored after a sufficient quantity of shares are collected.

[0053] It should be understood that different secret sharing technologies are formed according to different manners of splitting, and common secret sharing tech- nologies include additive secret sharing (additive secret sharing, ASS), Boolean secret sharing (Boolean secret sharing, BSS), and the like. 8.Additive secret sharing (additive secret sharing, ASS)

[0054] The additive secret sharing is an example of secret sharing, and is used to split a secret value into a plurality of shares for sharing among a plurality of parti- cipants. In the additive secret sharing, an original secret is represented as an integer, and may be split into a plurality of parts for sharing. An original secret value can be restored only when all shares are recombined. This method may be used to implement secure multi- party computing, for example, data analysis with perso- nal privacy protected, or secure computing in distributed computing.

[0055] A splitting method of the additive secret sharing is splitting by using an addition over a field. For example, there are three participants. An original secret value held by one participant is 10, and is split into three parts on a ring with a size of 16. Two random numbers are gener- ated: 13 and 7.Finally obtained sharing values are 13, 7, and 6 (=(10‑13‑6)mod16). The participant holding the secret value 10 sends two of the three shares to the other two participants. The other two participants each hold only one share, and cannot restore the original sharing value. The original secret value 10 (=(13+7+6)mod16) can be restored only by adding up the three sharing values. 9. Boolean secret sharing (Boolean secret sharing, BSS)

[0056] In the Boolean secret sharing, a plurality of random numbers of a secret value are generated through exclusive OR. A value obtained through exclusive OR between the random numbers is an original secret value. For example, there are three participants. An original secret value held by one participant is 0b010, and is split into three parts on a ring with a size of 8. Two random numbers are generated: 0b110 and 0b011. Finally ob- tained sharing values are 0b110, 0b011, and 0b111 (=0b010^0b110^0b011).The participant holding the se- cret value 0b010 sends two of the three shares to the other two participants. The other two participants each hold only one share, and cannot restore the original sharing value. The original secret value 0b010 (=0b111^0b110^0b011) can be restored only through exclusive OR between the three sharing values.

[0057] Before vertical secure multi-party learning, an intersection part of data sets of a plurality of computing participants is calculated by using a private set intersec- tion (PSI) technology without exposing an intersection element of the plurality of computing participants, and an AI model is trained based on data (a feature value) corresponding to the intersection part of the data sets of the plurality of participants. In a related technical solution, in a process of calculating, based on the PSI technology, an intersection of IDs in data held by a plurality of computing participants, ID plaintext in the intersection is exposed.In this case, all computing par- ties know specific IDs in the intersection, leading to exposure of ID privacy of a customer and poor security.

[0058] In view of this, embodiments of this application provide a data processing method, to perform subse- 5 10 15 20 25 30 35 40 45 50 55 8 13 EP 4 701 128 A1 14 quent AI model training based on data (a feature value) corresponding to an ID in an intersection, without expos- ing ID privacy of a customer, so that the ID privacy of the customer is protected, and security is high.

[0059] It should be understood that the method pro- vided in embodiments of this application is applied to a scenario in which a plurality of organizations jointly train a secure multi-party learning model, and complete a pre- processing process of AI model training when data is vertically distributed.Specifically, the scenario may in- clude but is not limited to a cross-company or cross- industry federated data modeling scenario, and no re- quirement is imposed on a specific data distribution manner or a quantity of participants.

[0060] For example, a federated modeling scenario of a financial industry and an operator is used below as an example for description. For example, a plurality of fi- nancial industry users (for example, banks or securities companies) and an operator (for example, China Mobile, China Telecom, or China Unicom) use their hold user data to perform federated modeling to improve accuracy of a financial industry model (for example, a credit score model or a credit card user default model). As shown in FIG. 1, data held by these different organizations is vertically distributed. Each organization has an ID value and a feature value of a user. ID values of different organizations are not completely the same, and features of different organizations are different.These different organizations want to use feature data (feature values) of a common user to train an evaluation model for predicting a credit level of the user.

[0061] FIG. 2 is a schematic flowchart of a data pro- cessing method according to an embodiment of this application. The method is applied to a data preproces- sing stage before AI model training. The method may include steps 210 to 240. The following separately de- scribes steps 210 to 240 in detail.

[0062] Step 210: Determine whether there is an inter- section ID between ID elements in hash buckets, with a same number, of a first computing participant and a second computing participant.

[0063] In this embodiment of this application, the first computing participant and the second computing parti- cipant respectively map IDs in user data respectively held by the first computing participant and the second com- puting participant to the hash buckets.

[0064] A quantity of computing participants is not spe- cifically limited in this application, provided that there is more than one computing participant. In FIG. 2, two computing participants (the first computing participant and the second computing participant) are used as an example for description.

[0065] In this embodiment of this application, user data held by each computing participant may include a plur- ality of pairs of (x, Feature), where x is an ID, and Feature is a feature value corresponding to the ID. The feature value may be one feature value corresponding to the ID, or may be a plurality of feature values corresponding to the ID. This is not specifically limited in this embodiment of this application.

[0066] For example, an ID in user data of a bank is a mobile phone number of an account, and a feature value is deposit and withdrawal information corresponding to the ID; an ID in user data of a securities company is a mobile phone number of an account, and a feature value is securities transaction information corresponding to the ID; and an ID in user data of an operator is a mobile phone number of an account, and a feature value is a call record corresponding to the ID.

[0067] In this embodiment of this application, it is as- sumed that the first computing participant maps an ID in user data of the first computing participant to a hash bucket by using a cuckoo hash algorithm, and the second computing participant maps an ID in user data of the second computing participant to a hash bucket by using a common hash algorithm.

[0068] It should be noted that the first computing parti- cipant that uses the cuckoo hash algorithm may also be referred to as a leader participant.To be specific, the leader participant maps an ID in user data of the leader participant to a hash bucket by using the cuckoo hash algorithm, and another non-leader participant maps an ID in user data of the non-leader participant to a hash bucket by using a common hash algorithm.

[0069] It should be understood that the leader partici- pant is randomly selected from at least two computing participants. For ease of description, FIG. 2 is described by using an example in which the first computing parti- cipant is a leader participant.

[0070] For example, as shown in FIG. 3, for the first computing participant, because the first computing par- ticipant performs cuckoo hashing on an ID set of the first computing participant, each bucket includes only one ID element. For the second computing participant, because the second computing participant performs common hashing on an ID set of the second computing participant, each bucket includes a plurality of ID elements.Because the first computing participant and the second computing participant use a same hash function, if the user data of the two computing participants includes same ID ele- ments, the same ID elements are hashed into hash buckets with a same number.

[0071] It should be understood that a quantity of hash buckets is not specifically limited in this embodiment of this application. In FIG. 3, an example in which a data size of an ID set of each computing participant is n and there are n hash buckets is used for description. If a data size of an ID set of a computing participant is less than n records, a random number may be generated for supplementing.

[0072] In this embodiment of this application, for the ID elements in the hash buckets, with the same number, of the first computing participant and the second computing participant, whether there is an intersection between an ID element of the first computing participant in a hash bucket with the number and an ID element of the second computing participant in a hash bucket with the number is 5 10 15 20 25 30 35 40 45 50 55 9 15 EP 4 701 128 A1 16 determined.

[0073] For ease of description, a hash bucket num- bered 1 (a hash bucket 1) is used below as an example. Whether there is an intersection between an ID element of the first computing participant in the hash bucket 1 and an ID element of the second computing participant in the hash bucket 1 is determined. An execution process for a hash bucket with another number is the same as the execution process for the hash bucket 1, and details are not described herein again.

[0074] In an example, the first computing participant and the second computing participant may separately obtain a secret sharing value (. <y>) of y. y indicates that an ID element of the first computing participant in the hash bucket 1 is an intersection ID, to be specific, whether one of ID elements of the second computing participant in the hash bucket 1 is equal to the ID element of the first computing participant in the hash bucket 1. For example, y being 1 may indicate that there is an intersection between the ID element of the first computing participant in the hash bucket 1 and the ID elements of the second computing participant in the hash bucket 1, and the ID element of the first computing participant in the hash bucket 1 is an intersection ID. y being 0 may indicate that there is no intersection between the ID element of the first computing participant in the hash bucket 1 and the ID elements of the second computing participant in the hash bucket 1, and the ID element of the first computing participant in the hash bucket 1 is not an intersection ID.

[0075] It should be understood that the secret sharing value of y may be a share or a slice of y, all computing participants each hold a share of y, and y may be obtained by combining shares of y that are respectively held by the computing participants.

[0076] In a possible implementation, the first comput- ing participant and the second computing participant may separately obtain the secret sharing value (. <y>) of y through an OPPRF protocol. In an example, the first computing participant and the second computing parti- cipant may separately obtain the secret sharing value ( <y>) of y through the OPPRF protocol based on for- warding of a cloud server. For example, FIG. 12 is a block diagram of a cloud scenario, and the cloud server is a server of a cloud data center shown in FIG. 12.

[0077] The cloud scenario in FIG. 12 may include a cloud management platform 110, the Internet 120, and a client 130. The cloud management platform 110 is con- figured to manage infrastructure that provides a plurality of cloud services. The infrastructure includes a plurality of cloud data centers. Each cloud data center includes a plurality of servers. Each server includes a cloud service resource, to provide a corresponding cloud service for a tenant. The cloud management platform 110 may be located in the cloud data center, and may provide an access interface (for example, an interface or an applica- tion programming interface (application programming interface, API)).The tenant may operate the client 130 to remotely access the access interface, to register a cloud account and a password on the cloud management platform 110 and log in to the cloud management platform 110. After the cloud management platform 110 success- fully authenticates the cloud account and the password, the tenant may further pay on the cloud management platform 110 to select and purchase a virtual machine with specific specifications (a processor, a memory, and a disk). After the payment for the purchase succeeds, the cloud management platform 110 provides a remote login account and password of the purchased virtual machine, and the client 130 may remotely log in to the virtual machine, and install and run an application of the tenant in the virtual machine. Therefore, the tenant may create, manage, log in to, and operate the virtual machine in the cloud data center through the cloud management plat- form 110.The virtual machine may also be referred to as a cloud server (elastic compute service, ECS) or an elastic instance (different cloud service providers have different names).

[0078] It should be understood that a tenant of a cloud service may be an individual, an enterprise, a school, a hospital, an administrative agency, or the like.

[0079] Functions of the cloud management platform 110 include but are not limited to a user console, a computing management service, a network manage- ment service, a storage management service, an authen- tication service, and an image management service. The user console provides an interface or an API to interact with the tenant. The computing management service is used to manage servers on which a virtual machine and a container are run, and a bare metal server. The network management service is used to manage a network ser- vice (for example, a gateway or a firewall).The storage management service is used to manage a storage ser- vice (for example, a data bucket service). The authenti- cation service is used to manage a tenant account and password. The image management service is used to manage a virtual machine image. The tenant may use the client 130 to log in to the cloud management platform 110 through the Internet 120 to manage a rented cloud ser- vice.

[0080] The following describes in detail a specific im- plementation of obtaining the secret sharing value (. <y>) of y by the first computing participant and the second computing participant separately through the OPPRF protocol.

[0081] For example, it is assumed that the ID element of the first computing participant in the hash bucket 1 is x0, and the ID elements of the second computing parti- cipant in the hash bucket 1 are x1, x2, ..., and xm. The first computing participant inputs x0 in the hash bucket 1 to the OPPRF as input information, and the second com- puting participant inputs a plurality of pairs of (xi, yi) in the hash bucket 1 to the OPPRF as input information, where yi corresponding to xi in a same bucket is set to a same random number y*, that is, y1=y2=...ym=y*. The second computing participant uses y* set by the second comput- ing participant as a secret sharing value <y>, held by the 5 10 15 20 25 30 35 40 45 50 55 10 17 EP 4 701 128 A1 18 second computing participant, of y. If x0 is an intersection element, to be specific, xi among x1, x2, ..., and xm of the second computing participant in the hash bucket 1 is equal to x0, a secret sharing value <y>, output by the OPPRF to the first computing participant, of y is a secret sharing value of 1. If x0 is not an intersection element, to be specific, no xi among x1, x2, ..., and xm of the second computing participant in the hash bucket 1 is equal to x0, a secret sharing value <y>, output by the OPPRF to the first computing participant, of y is a secret sharing value of 0.

[0082] y may be obtained by combining secret sharing values <y>of y that are respectively held by the first computing participant and the second computing parti- cipant, where a value of y is either 0 or 1.

[0083] In some embodiments, it is assumed a secure multi-party computing scenario includes three or more computing participants, for example, a first computing participant, a second computing participant, a third com- puting participant, and a fourth computing participant. The first computing participant and the second comput- ing participant perform a process shown in FIG. 4, so that the first computing participant obtains a secret sharing value <y01>of y01. Similarly, the first computing partici- pant and the third computing participant perform the process shown in FIG. 4, so that the first computing participant obtains a secret sharing value <y02>of y02; and the first computing participant and the fourth computing participant perform the process shown in FIG. 4, so that the first computing participant obtains a secret sharing value <y03>of y03. The first computing partici- pant may perform exclusive OR on the obtained <y01> , <y02>, and <y02>, and use an exclusive OR result as a secret sharing value <y>, held by the first computing participant, of y.

[0084] Step 220: Perform threshold-based determin- ing on a quantity of IDs in the intersection ID.

[0085] In this embodiment of this application, after an intersection of IDs is obtained in step 220, each comput- ing participant obtains a secret sharing value <y>of y, where y indicates whether x in the first computing parti- cipant is an intersection element. If y is 1, x is an inter- section element; or if y is 0, x is not an intersection element.

[0086] In step 220, it is assumed that there are n hash buckets. The first computing participant adds up obtained n secret sharing values <y>of y that correspond to the n hash buckets, where a result of the addition is the quantity of IDs in the intersection ID; and performs threshold- based determining on the result of the addition. If the result of the addition is greater than a preset threshold, step 230 may be performed; or if the result of the addition is less than a preset threshold, the process ends.

[0087] In this embodiment of this application, thresh- old-based determining may be provided. If an intersec- tion includes a quite small quantity of elements, a sub- sequent operation is terminated.This avoids a case that a trained model has unsatisfactory effect due to insufficient data, causing a waste of training costs.

[0088] Step 230: The first computing participant and the second computing participant separately obtain a secret sharing value <fs>of a feature value (feature) corresponding to an ID in an intersection.

[0089] For ease of description, one bucket, for exam- ple, a hash bucket numbered 1 (a hash bucket 1) is used below as an example for description.

[0090] In this embodiment of this application, for the first computing participant, the hash bucket 1 includes only one ID element: x0. Therefore, the first computing participant directly and secretly shares, to the second computing participant, a feature value corresponding to x0. That is, the first computing participant and the second computing participant separately hold the secret sharing value <fs>of the feature value (feature) corresponding to x0.

[0091] In this embodiment of this application, for the second computing participant, the hash bucket 1 in- cludes a plurality of ID elements: (x1, x2, ..., xm). After an intersection of IDs is obtained, the second computing participant still does not know whether the hash bucket 1 includes an intersection ID, and does not know which ID element is an intersection ID either. Therefore, the sec- ond computing participant is not sure of an ID element whose feature value should be shared.

[0092] In an example, as shown in FIG. 5, the second computing participant and the first computing participant execute an OPPRF, the first computing participant inputs x0 in the hash bucket 1 to the OPPRF as input informa- tion, and the second computing participant inputs a plur- ality of pairs of (xi, yi) in the hash bucket 1 to the OPPRF as input information.yi corresponding to xi in a same bucket is set to feature-r, where the feature is a feature value corresponding to xi, and r values of different ele- ments in a same bucket are the same. If x0 is an inter- section element, to be specific, xi among x1, x2, ..., and xm of the second computing participant in the hash bucket 1 is equal to x0, . <fs>output by the OPPRF to the first computing participant is as follows: f10=fi-r, where fi is a feature value corresponding to xi (xi=x0). The second computing participant holds r. If x0 is not an intersection element, to be specific, no xi among x1, x2, ..., and xm of the second computing participant in the hash bucket 1 is equal to x0, <fs>output by the OPPRF to the first computing participant is a meaning- less random number.

[0093] In some embodiments, it is assumed a secure multi-party computing scenario includes three or more computing participants, for example, a first computing participant, a second computing participant, a third com- puting participant, and a fourth computing participant. The first computing participant may further obtain f20 and f30 through the foregoing processes, where f20 is <fs>shared by the third computing participant to the first computing participant, and f30 is <fs>shared by the fourth computing participant to the first computing parti- cipant. The first computing participant may further share 5 10 15 20 25 30 35 40 45 50 55 11 19 EP 4 701 128 A1 20 f10, f20, and f30 obtained by the first computing partici- pant to a computing participant without the share, and secretly share, to each computing participant without the share, a feature value corresponding to x0 of the first computing participant.

[0094] Specifically, the first computing participant se- cretly shares, to the third computing participant and the fourth computing participant, the feature value corre- sponding to x0, then shares f10 to the third computing participant and the fourth computing participant, then shares f20 to the second computing participant and the fourth computing participant, and then shares f30 to the second computing participant and the third computing participant.

[0095] Step 240: Perform data filtering on a plurality of pieces of <fs>based on a plurality of obtained values of y, to obtain training data used for model training.

[0096] In this embodiment of this application, n hash buckets are used as an example, and all computing participants may obtain, through the foregoing steps, n pieces of <y>and n pieces of <fs>respectively corre- sponding to the n pieces of <y>. Restoration is performed on the n pieces of <y>to obtain n pieces of y, and the n pieces of <fs>are filtered based on a value of y. In an example, y with a value of 1 indicates that x of the first computing participant in a hash bucket is an intersection element, and <fs>corresponding to y is a secret value including a feature value corresponding to x of each participant; and y with a value of 0 indicates that x of the first computing participant in a hash bucket is not an intersection element, and <fs>corresponding to y is a meaningless random number. Therefore, <fs>corre- sponding to y with a value of 1 may be retained, <fs>corresponding to y with a value of 0 is deleted, and the retained <fs>is used as training data for subsequent model training.

[0097] In the foregoing descriptions, through data se- lection, only secret sharing data in an intersection is used for subsequent model training, to avoid extra overheads.

[0098] Optionally, in some embodiments, before step 240, the obtained n pieces of <y>may alternatively be disordered. For example, the obtained n pieces of <y>may be disordered through secure multi-party shuffling (secure shuffle).

[0099] For example, as shown in FIG. 6, there are two steps. A first step is to generate a selection pool, and a second step is to obtain training data. The selection pool in the first step is a secret sharing value with a plurality of one-hot vectors. The one-hot vector is 1 at a subscript position corresponding to an intersection ID of the first computing participant, and is 0 at another position. Therefore, a quantity of one-hot vectors is the same as a quantity of intersection IDs, and each one-hot vector represents selection of a piece of combined data. In the second step of obtaining the training data, a secure multi- party dot product operation is performed by using the one-hot vector and the combined data. A corresponding quantity of one-hot vectors are randomly selected from the selection pool based on a quantity of pieces of training data that needs to be selected.

[0100] Specifically, as shown in FIG.7, first, a list of y obtained by calculation an intersection of IDs is consid- ered as a vector, and is denoted as . <ys> . <ys>undergoes secure multi-party disordering to obtain <ys_shuffle>. To be specific, none of participants knows a mapping rela- tionship between an order before the disordering and an order after the disordering. Then the disordered vector <ys_shuffle> is restored to plaintext. A plaintext one-hot vector pool is generated based on a position of 1. How- ever, a position of 1 of a one-hot vector in the one-hot vector pool is not a real position of an intersection ele- ment, but is a position obtained after the disordering. Therefore, a secret sharing value of a real one-hot vector of the intersection is finally obtained through secure multi-party disorder restoration.

[0101] In this embodiment of this application, a function requirement and a privacy requirement that are needed in a data preprocessing stage of vertical secure multi- party learning are met,and a related cryptographic pro- tocol is designed to fulfill the function requirement and the privacy requirement that are needed in the data prepro- cessing stage.

[0102] The foregoing describes in detail the method provided in embodiments of this application with refer- ence to FIG. 1 to FIG. 7. The following describes in detail system embodiments of this application with reference to FIG. 8 to FIG. 11. It should be understood that the descriptions of the method embodiments correspond to descriptions of the system embodiments. Therefore, for a part that is not described in detail, refer to the foregoing method embodiments.

[0103] FIG. 8 is a block diagram of a data processing system 800 according to an embodiment of this applica- tion. The system 800 may be implemented by using software, hardware,or a combination of software and hardware. The system 800 provided in this embodiment of this application may implement the method process shown in embodiments of this application. The system 800 includes a first computing participant 810 and a second computing participant 820. The first computing participant 810 and the second computing participant 820 are separately configured to obtain first ciphertext data, where the first ciphertext data indicates whether a first ID of the first computing participant 810 is an inter- section ID, and the intersection ID indicates that the first ID is the same as any one of at least one ID of the second computing participant 820. The second computing parti- cipant 820 is further configured to obtain, from the first computing participant 810, a share of a first feature value corresponding to the first ID,where the share of the first feature value is obtained by the first computing partici- pant by sharing the first feature value between the first computing participant 810 and the second computing participant 820 in a secret sharing mode, and the first feature value is restorable based on a share of the first feature value that is obtained by each of the first comput- 5 10 15 20 25 30 35 40 45 50 55 12 21 EP 4 701 128 A1 22 ing participant 810 and the second computing participant 820. The first computing participant 810 is further con- figured to obtain second data, where if the first ID is an intersection ID, the second data is a share of a second feature value that is in the second computing participant 820 and that corresponds to the first ID, or if the first ID is not an intersection ID,the second data is a random number; the share of the second feature value is obtained by the second computing participant 820 by sharing the second feature value between the first computing parti- cipant 810 and the second computing participant 820 in a secret sharing mode; and the second feature value is restorable based on a share of the second feature value that is obtained by each of the first computing participant 810 and the second computing participant 820. If the first ciphertext data indicates that the first ID is an intersection ID, the first computing participant 810 is further config- ured to use the second data and a shareof the first feature value that is held by the first computing participant 810 as training data of a neural network. If the first ciphertext data indicates that the first ID is an intersection ID,the second computing participant 820 is further configured to use a share of the first feature value and a share of the second feature value that are held by the second com- puting participant 820 as training data of the neural net- work.

[0104] Optionally, the first computing participant 810 and the second computing participant 820 are further separately configured to perform restoration on the first ciphertext data to obtain first data; and the first computing participant 810 and the second computing participant 820 are further separately configured to determine, based on the first data, whether the first ID is the inter- section ID.

[0105] Optionally, if the first computing participant 810 indicates, based on the first ciphertext data obtained by the first computing participant 810, that the first ID is not an intersection ID,the first computing participant 810 is further configured to delete the second data and the share of the first feature value that is held by the first computing participant 810; and if the second computing participant 820 indicates, based on the first ciphertext data obtained by the second computing participant 820, that the first ID is not an intersection ID, the second computing participant 820 is further configured to delete the share of the first feature value and the share of the second feature value that are held by the second com- puting participant 820.

[0106] Optionally, the first computing participant 810 and the second computing participant 820 are further configured to determine, based on a plurality of pieces of ciphertext data corresponding to a plurality of hash buck- ets, whether a quantity of intersection IDs is greater than a preset threshold,where the plurality of pieces of ci- phertext data include the first ciphertext data. The second computing participant 820 is specifically configured to: when the quantity of intersection IDs is greater than the preset threshold, obtain, from the first computing parti- cipant, the share of the first feature value corresponding to the first ID. The first computing participant 810 is specifically configured to: when the quantity of intersec- tion IDs is greater than the preset threshold, obtain the second data.

[0107] Optionally, the first computing participant 810 and the second computing participant 820 are further configured to separately randomly disorder a plurality of pieces of ciphertext data obtained by each of the first computing participant 810 and the second computing participant 820.

[0108] Optionally,the first computing participant 810 and the second computing participant 820 are specifi- cally configured to separately obtain the first ciphertext data through an oblivious programmable pseudorandom function OPPRF or key exchange DH.

[0109] Optionally, the first computing participant 810 is specifically configured to obtain the second data through an oblivious programmable pseudorandom function OPPRF.

[0110] The system 800 herein may be embodied in a form of a functional module. The term "module" herein may be implemented in a form of software and / or hard- ware. This is not specifically limited.

[0111] For example, the "first computing participant" may be a software program, a hardware circuit, or a combination thereof for implementing the foregoing func- tions. For example, the following uses the first computing participant as an example and describes an implementa- tion of the first computing participant. Similarly, for an implementation of another module, for example,the second computing participant, refer to the implementa- tion of the first computing participant.

[0112] For example, the first computing participant is a software functional unit, and the first computing partici- pant may include code that is run on a computing in- stance. The computing instance may include at least one of a physical host (a computing device), a virtual ma- chine, or a container. Further, there may be one or more computing instances. For example, the first computing participant may include code that is run on a plurality of hosts, virtual machines, or containers. It should be noted that the plurality of hosts, virtual machines, or containers for running the code may be distributed in a same region (region) ordifferent regions. Further, the plurality ofhosts, virtual machines, or containers for running the code may be distributed in a same availability zone (availability zone,AZ) or different AZs. Each AZ includes one data center or a plurality of data centers that are geographi- cally close to each other. Usually, one region may include a plurality of AZs.

[0113] Similarly, the plurality of hosts, virtual machines, or containers for running the code may be distributed in a same virtual private cloud (virtual private cloud, VPC) or a plurality of VPCs. Usually, one VPC is deployed in one region. A communication gateway needs to be deployed in each VPC for communication between two VPCs in a same region or between VPCs in different regions. The 5 10 15 20 25 30 35 40 45 50 55 13 23 EP 4 701 128 A1 24 VPCs are interconnected through the communication gateway.

[0114] For example, the first computing participant is a hardware functional unit, and the first computing partici- pant may include at least one computing device, for example, a server. Alternatively,the first computing par- ticipant may be a device implemented by using an appli- cation-specific integrated circuit (application-specific in- tegrated circuit, ASIC) or a programmable logic device (programmable logic device, PLD), or the like. The PLD may be implemented by using a complex programmable logic device (complex programmable logic device, CPLD), a field programmable gate array (field program- mable gate array, FPGA), a generic array logic (generic array logic, GAL), or any combination thereof.

[0115] A plurality of computing devices included in the first computing participant may be distributed in a same region or different regions. The plurality of computing devices included in the first computing participant may be distributed in a same AZ or different AZs. Similarly,the plurality of computing devices included in the first com- puting participant may be distributed in a same VPC or a plurality of VPCs. The plurality of computing devices may be any combination of the following computing devices: a server, an ASIC, a PLD, a CPLD, an FPGA, a GAL, and the like.

[0116] Therefore, the modules in the examples de- scribed in embodiments of this application can be im- plemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software de- pends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application. How- ever, it should not be considered that the implementation goes beyond the scope of this application.

[0117] In addition,the system embodiments and the method embodiments provided in the foregoing embodi- ments belong to a same concept. For details about specific implementation processes of the system embo- diments, refer to the foregoing method embodiments. Details are not described herein again.

[0118] The method provided in embodiments of this application may be performed by a computing device, and the computing device may also be referred to as a computer system. The computer system includes a hard- ware layer, an operating system layer running above the hardware layer, and an application layer running above the operating system layer. The hardware layer includes hardware such as a processing unit, a memory, and a memory control unit. A function and a structure of the hardware are subsequently described in detail. An oper- ating system is any one or more types of computer operating systems that implement service processing through a process (process), for example, a Linux oper- ating system,a Unix operating system, an Android oper- ating system, an iOS operating system, or a Windows operating system. The application layer includes appli- cations such as a browser, an address book, word pro- cessing software, and instant messaging software. In addition, optionally, the computer system is a handheld device such as a smartphone, or a terminal device such as a personal computer. This is not particularly limited in this application,provided that the method provided in embodiments of this application can be implemented. The method provided in embodiments of this application may be performed by the computing device or a func- tional module that is in the computing device and that can invoke a program and execute the program.

[0119] The following describes in detail a computing device provided in embodiments of this application with reference to FIG. 9.

[0120] FIG. 9 is a diagram of an architecture of a computing device 1500 according to an embodiment of this application. The computing device 1500 may be a server, a computer,or another device with a computing capability. The computing device 1500 shown in FIG. 9 includes at least one processor 1510 and a memory 1520.

[0121] It should be understood that quantities of pro- cessors and memories in the computing device 1500 are not limited in this application.

[0122] The processor 1510 executes instructions in the memory 1520 to enable the computing device 1500 to implement the method provided in this application. Alter- natively, the processor 1510 executes instructions in the memory 1520 to enable the computing device 1500 to implement the functional modules provided in this appli- cation, to implement the method provided in this applica- tion.

[0123] Optionally, the computing device 1500 further includes a communication interface 1530. The commu- nication interface 1530 implements communication be- tween the computing device 1500 and another device or a communication network through a transceiver module, for example, but not limited to,a network interface card or a transceiver.

[0124] Optionally, the computing device 1500 further includes a system bus 1540. The processor 1510, the memory 1520, and the communication interface 1530 are separately connected to the system bus 1540. The pro- cessor 1510 can access the memory 1520 through the system bus 1540. For example, the processor 1510 can read and write data or execute code in the memory 1520 through the system bus 1540. The system bus 1540 is a peripheral component interconnect express (peripheral component interconnect express, PCI) bus, an extended industry standard architecture (extended industry stan- dard architecture, EISA) bus, or the like. The system bus 1540 is classified into an address bus, a data bus, a control bus, and the like. For ease of representation, only one bold line is used in FIG. 9 for representation, but this does not mean that there is only one bus or only one type of bus.

[0125] In a possible implementation,a function of the 5 10 15 20 25 30 35 40 45 50 55 14 25 EP 4 701 128 A1 26 processor 1510 is mainly to interpret instructions (or code) of a computer program and process data in com- puter software. The instructions of the computer program and the data in the computer software can be stored in the memory 1520 or a cache 1516.

[0126] Optionally, the processor 1510 may be an in- tegrated circuit chip and has a signal processing cap- ability. As an example rather than a limitation, the pro- cessor 1510 is a general-purpose processor, a digital signal processor (digital signal processor, DSP), an ap- plication-specific integrated circuit (application-specific integrated circuit, ASIC), a field programmable gate array (field programmable gate array, FPGA) or another pro- grammable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The general- purpose processor is a microprocessor or the like. For example,the processor 1510 is a central processing unit (central processing unit, CPU).

[0127] Optionally, each processor 1510 includes at least one processing unit 1512 and a memory control unit 1514.

[0128] Optionally, the processing unit 1512 is also referred to as a core (core) or a kernel, and is the most important component of the processor. The processing unit 1512 is made of monocrystalline silicon through a specific production process. All computation, accept commands, storage commands, and data processing of the processor are executed by the core. The proces- sing unit independently runs program instructions, and increases a running speed of a program by using a parallel computing capability. Various processing units have fixed logical structures. For example, the proces- sing unit includes logical units such as a level 1 cache, a level 2 cache, an execution unit, an instruction level unit, and a bus interface.

[0129] In an implementation example,the memory control unit 1514 is configured to control data exchange between the memory 1520 and the processing unit 1512. Specifically, the memory control unit 1514 receives a memory access request from the processing unit 1512, and controls access to the memory based on the memory access request. As an example rather than a limitation, the memory control unit is a component such as a mem- ory management unit (memory management unit, MMU).

[0130] In an implementation example, each memory control unit 1514 performs addressing for the memory 1520 through the system bus. In addition, an arbiter (not shown in FIG. 9) is configured in the system bus, and the arbiter is responsible for processing and coordinating contention-based access of a plurality of processing units 1512.

[0131] In an implementation example, the processing unit 1512 and the memory control unit 1514 are commu- nicatively connected through a connection line such as an address line in a chip,to implement communication between the processing unit 1512 and the memory con- trol unit 1514.

[0132] Optionally, each processor 1510 further in- cludes a cache 1516, and the cache is a data exchange buffer (referred to as a cache). When the processing unit 1512 needs to read data, the processing unit 1512 first searches the cache for the needed data. If the data is found, the processing unit 1512 directly reads the data. If the data is not found, the processing unit 1512 searches the memory for the data. Because the cache runs much faster than the memory, a function of the cache is to help the processing unit 1512 run faster.

[0133] The memory 1520 can provide running space for a process on the computing device 1500. For exam- ple, the memory 1520 stores a computer program (spe- cifically, program code) for generating the process. After the computer program is run by the processor to generate the process,the processor allocates corresponding sto- rage space to the process in the memory 1520. Further, the storage space includes a text segment, an initialized data segment, an uninitialized data segment, a stack segment, a heap segment, and the like. The memory 1520 stores, in the storage space corresponding to the process, data generated during running of the process, for example, intermediate data or process data.

[0134] Optionally, the memory is also referred to as an internal memory, and a function of the memory is to temporarily store operation data in the processor 1510 and data exchanged with an external memory, for exam- ple, a hard disk drive. Provided that the computer runs, the processor 1510 schedules, to the memory for an operation, data on which the operation needs to be performed, and the processing unit 1512 sends a result after the operation is completed.

[0135] As an example rather than a limitation, the memory 1520 is a volatile memory a non-volatile mem- ory,or may include both a volatile memory and a non- volatile memory. The non-volatile memory is a read-only memory (read-only memory, ROM), a programmable read-only memory (programmable ROM, PROM), an erasable programmable read-only memory (erasable PROM, EPROM), an electrically erasable programmable read-only memory (electrically EPROM, EEPROM), or a flash memory. The volatile memory is a random access memory (random access memory, RAM) and serves as an external cache. By way of example but not limitative description, RAMs in many forms may be used, for ex- ample, a static random access memory (static RAM, SRAM), a dynamic random access memory (dynamic RAM, DRAM), a synchronous dynamic random access memory (synchronous DRAM, SDRAM), a double data rate synchronous dynamic randomaccess memory (dou- ble data rate SDRAM, DDR SDRAM), an enhanced synchronous dynamic random access memory (en- hanced SDRAM, ESDRAM), a synchronous link dynamic random access memory (synchlink DRAM, SLDRAM),and a direct rambus random access memory (direct rambus RAM, DR RAM). It should be noted that the memory 1520 in the systems and the methods described in this specification is intended to include but is not limited to these memories and any other appropriate type of 5 10 15 20 25 30 35 40 45 50 55 15 27 EP 4 701 128 A1 28 memory.

[0136] The foregoing structure of the computing device 1500 is merely an example for description, and this application is not limited thereto. The computing device 1500 in this embodiment of this application includes various types of hardware in a computer system in the conventional technology. For example, the computing device 1500 further includes a memory other than the memory 1520, for example, a magnetic disk memory. A person skilled in the art should understand that the com- puting device 1500 may further include another compo- nent required for implementing normal running. In addi- tion, a person skilled in the art should understand that,according to a specific requirement, the computing de- vice 1500 may further include a hardware component for implementing another additional function. In addition, a person skilled in the art should understand that the com- puting device 1500 may alternatively include only a component required for implementing embodiments of this application, and does not need to include all of the components shown in FIG. 9.

[0137] An embodiment of this application further pro- vides a computing device cluster. The computing device cluster includes at least one computing device. The computing device may be a server. In some embodi- ments, the computing device may alternatively be a terminal device, for example, a desktop computer, a notebook computer, or a smartphone.

[0138] As shown in FIG. 10,the computing device cluster includes at least one computing device 1500. A memory 1520 in one or more computing devices 1500 in the computing device cluster may store same instruc- tions for performing the foregoing method.

[0139] In some possible implementations, a memory 1520 in one or more computing devices 1500 in the computing device cluster may alternatively respectively store some of instructions for performing the foregoing method. In other words, a combination of one or more computing devices 1500 may jointly execute instructions for the foregoing method.

[0140] It should be noted that memories 1520 in differ- ent computing devices 1500 in the computing device cluster may store different instructions that are respec- tively used to perform some of functions of the foregoing computing participant. In other words,instructions stored in memories 1520 in different computing devices 1500 may implement one or more functions of the foregoing computing participant.

[0141] In some possible implementations, one or more computing devices in the computing device cluster may be connected through a network. The network may be a wide area network, a local area network, or the like. FIG. 10 shows a possible implementation. As shown in FIG. 10, two computing devices 1500A and 1500B are con- nected through a network. Specifically, each computing device is connected to the network through a commu- nication interface of the computing device.

[0142] It should be understood that functions of the computing device 1500A shown in FIG. 10 may alterna- tively be performed by a plurality of computing devices 1500. Similarly,functions of the computing device 1500B may alternatively be performed by a plurality of comput- ing devices 1500.

[0143] An embodiment further provides a computer program product including instructions. The computer program product may be software or a program product that includes instructions and that can be run on a com- puting device or stored in any usable medium. When the computer program product is run on a computing device, the computing device is enabled to perform the method provided above, or the computing device is enabled to implement the functions of the system provided above.

[0144] An embodiment further provides a computer- readable storage medium. The computer-readable sto- rage medium may be any usable medium that can be stored on a computing device, or a data storage device, for example, a data center, including one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk drive, or a mag- netic tape),an optical medium (for example, a DVD), a semiconductor medium (for example, a solid-state drive), or the like. The computer-readable storage medium in- cludes instructions. When the instructions in the compu- ter-readable storage medium are executed on a comput- ing device, the computing device is enabled to perform the method provided above.

[0145] It should be understood that sequence numbers of the foregoing processes do not mean execution se- quences in embodiments of this application. The execu- tion sequences of the processes should be determined based on functions and internal logic of the processes,and should not be construed as any limitation on imple- mentation processes of embodiments of this application.

[0146] A person of ordinary skill in the art may be aware that units and algorithm steps in examples described with reference to embodiments disclosed in this specification can be implemented by electronic hardware or a combi- nation of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application. However, it should not be considered that the implemen- tation goes beyond the scope of this application.

[0147] It can be clearly understood by a person skilled in the art that, for ease and brevity of description, for detailed working processes of the foregoing systems and units,reference may be made to corresponding pro- cesses in the foregoing method embodiments. Details are not described herein again.

[0148] In several embodiments provided in this appli- cation, it should be understood that the disclosed sys- tems and methods may be implemented in other man- ners. For example, the described system embodiments are merely examples. For example, division into the units 5 10 15 20 25 30 35 40 45 50 55 16 29 EP 4 701 128 A1 30 is merely logical function division. During actual imple- mentation, another division manner may be used. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the shown or discussed mutual couplings or direct cou- plings or communication connections may be implemen- ted through some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electrical, mechanical,or other forms.

[0149] The units described as separate components may or may not be physically separated, and compo- nents shown as units may or may not be physical units, to be specific, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual require- ments to achieve the objectives of the solutions of em- bodiments.

[0150] In addition, functional units in embodiments of this application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.

[0151] When the functions are implemented in a form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of this application essentially, or the part contributing to the conventional technology,or some of the technical solutions may be implemented in a form of a software product. The com- puter software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the steps of the methods in embodiments of this application. The storage medium includes any medium that can store program code, for example, a USB flash drive, a remo- vable hard disk drive, a read-only memory (read-only memory, ROM), a random access memory (random ac- cess memory, RAM), a magnetic disk, or a compact disc.

[0152] The foregoing descriptions are merely specific implementations of this application,but are not intended to limit the protection scope of this application. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this ap- plication shall be subject to the protection scope of the claims. Claims 1. A data processing method, wherein the method comprises: separately obtaining, by a first computing parti- cipant and a second computing participant, first ciphertext data, wherein the first ciphertext data indicates whether a first ID of the first computing participant is an intersection ID, and the inter- section ID indicates that the first ID is the same as any one of at least one ID of the second computing participant; obtaining, by the second computing participant from the first computing participant, a share of a first feature value corresponding to the first ID,wherein the share of the first feature value is obtained by the first computing participant by sharing the first feature value between the first computing participant and the second comput- ing participant in a secret sharing mode, and the first feature value is restorable based on a share of the first feature value that is obtained by each of the first computing participant and the second computing participant; obtaining, by the first computing participant, second data, wherein if the first ID is an inter- section ID, the second data is a share of a second feature value that is in the second com- puting participant and that corresponds to the first ID, or if the first ID is not an intersection ID,the second data is a random number; the share of the second feature value is obtained by the second computing participant by sharing the second feature value between the first comput- ing participant and the second computing parti- cipant in a secret sharing mode; and the second feature value is restorable based on a share of the second feature value that is obtained by each of the first computing participant and the second computing participant; if the first ciphertext data indicates that the first ID is an intersection ID, using, by the first com- puting participant, the second data and a share of the first feature value that is held by the first computing participant as training data of a neur- al network; and if the first ciphertext data indicates that the first ID is an intersection ID, using, by the second computing participant,a share of the first feature value and a share of the second feature value that are held by the second computing partici- pant as training data of the neural network. 2. The method according to claim 1, wherein the meth- od further comprises: separately performing, by the first computing participant and the second computing partici- pant, restoration on the first ciphertext data to obtain first data; and determining, based on the first data, whether the first ID is the intersection ID. 5 10 15 20 25 30 35 40 45 50 55 17 31 EP 4 701 128 A1 32 3. The method according to claim 1 or 2, wherein the method further comprises: if the first computing participant indicates, based on the first ciphertext data obtained by the first computing participant, that the first ID is not an intersection ID, deleting, by the first computing participant,the second data and the share of the first feature value that is held by the first comput- ing participant; and if the second computing participant indicates, based on the first ciphertext data obtained by the second computing participant, that the first ID is not an intersection ID, deleting, by the second computing participant, the share of the first fea- ture value and the share of the second feature value that are held by the second computing participant. 4. The method according to any one of claims 1 to 3, wherein the method further comprises: determining, by the first computing participant and the second computing participant based on a plurality of pieces of ciphertext data corre- sponding to a plurality of hash buckets, whether a quantity of intersection IDs is greater than a preset threshold, wherein the plurality of pieces of ciphertext data comprise the first ciphertext data; obtaining, by the second computing participant from the first computing participant,the share of the first feature value corresponding to the first ID comprises: when the quantity of intersection IDs is greater than the preset threshold, obtaining, by the second computing participant from the first computing participant, the share of the first feature value corresponding to the first ID; and obtaining, by the first computing participant, the second data comprises: when the quantity of intersection IDs is greater than the preset threshold, obtaining, by the first computing participant, the sec- ond data. 5. The method according to claim 4, wherein the meth- od further comprises: separately randomly disordering, by the first comput- ing participant and the second computing partici- pant, a plurality of pieces of ciphertext data obtained by each of the first computing participant and the second computing participant. 6. The method according to any one of claims 1 to 5, wherein separately obtaining, by the first computing participant and the second computing participant,the first ciphertext data comprises: separately obtaining, by the first computing partici- pant and the second computing participant, the first ciphertext data through an oblivious programmable pseudorandom function OPPRF or key exchange DH. 7. The method according to any one of claims 1 to 6, wherein obtaining, by the first computing participant, the second data comprises: obtaining, by the first computing participant, the second data through an oblivious programmable pseudorandom function OPPRF. 8. The method according to any one of claims 1 to 7, wherein the first ID of the first computing participant is an ID of the first computing participant in a first hash bucket, the at least one ID of the second computing participant is at least one ID of the second computing participant in the first hash bucket, the first ciphertext data is ciphertext data corresponding to the first hash bucket,and the second data is second data corresponding to the first hash bucket. 9. A data processing system, wherein the system com- prises: a first computing participant and a second com- puting participant, separately configured to ob- tain first ciphertext data, wherein the first cipher- text data indicates whether a first ID of the first computing participant is an intersection ID, and the intersection ID indicates that the first ID is the same as any one of at least one ID of the second computing participant, wherein the second computing participant is further con- figured to obtain, from the first computing parti- cipant, a share of a first feature value corre- sponding to the first ID, wherein the share of the first feature value is obtained by the first computing participant by sharing the first feature value between the first computing participant and the second computing participant in a secret sharing mode,and the first feature value is re- storable based on a share of the first feature value that is obtained by each of the first com- puting participant and the second computing participant; the first computing participant is further config- ured to obtain second data, wherein if the first ID is an intersection ID, the second data is a share of a second feature value that is in the second computing participant and that corresponds to the first ID, or if the first ID is not an intersection ID,the second data is a random number; the share of the second feature value is obtained by the second computing participant by sharing the 5 10 15 20 25 30 35 40 45 50 55 18 33 EP 4 701 128 A1 34 second feature value between the first comput- ing participant and the second computing parti- cipant in a secret sharing mode; and the second feature value is restorable based on a share of the second feature value that is obtained by each of the first computing participant and the second computing participant; if the first ciphertext data indicates that the first ID is an intersection ID, the first computing par- ticipant is further configured to use the second data and a share of the first feature value that is held by the first computing participant as training data of a neural network; and if the first ciphertext data indicates that the first ID is an intersection ID,the second computing participant is further configured to use a share of the first feature value and a share of the second feature value that are held by the second com- puting participant as training data of the neural network. 10. The system according to claim 9, wherein the first computing participant and the second computing participant are further separately configured to perform restoration on the first ciphertext data to obtain first data; and the first computing participant and the second computing participant are further separately configured to determine, based on the first data, whether the first ID is the intersection ID. 11. The system according to claim 9 or 10, wherein if the first computing participant indicates, based on the first ciphertext data obtained by the first computing participant, that the first ID is not an intersection ID,the first computing participant is further configured to delete the second data and the share of the first feature value that is held by the first computing participant; and if the second computing participant indicates, based on the first ciphertext data obtained by the second computing participant, that the first ID is not an intersection ID, the second computing participant is further configured to delete the share of the first feature value and the share of the second feature value that are held by the second computing parti- cipant. 12. The system according to any one of claims 9 to 11, wherein the first computing participant and the second computing participant are further configured to determine, based on a plurality of pieces of ciphertext data, whether a quantity of intersec- tion IDs is greater than a preset threshold,wherein the plurality of pieces of ciphertext data comprise the first ciphertext data; the second computing participant is specifically configured to: when the quantity of intersection IDs is greater than the preset threshold, obtain, from the first computing participant, the share of the first feature value corresponding to the first ID; and the first computing participant is specifically con- figured to: when the quantity of intersection IDs is greater than the preset threshold, obtain the second data. 13. The system according to claim 12, wherein the first computing participant and the second com- puting participant are further configured to sepa- rately randomly disorder a plurality of pieces of ci- phertext data obtained by each of the first computing participant and the second computing participant. 14. The system according to any one of claims 9 to 13,wherein the first computing participant and the second com- puting participant are specifically configured to se- parately obtain the first ciphertext data through an oblivious programmable pseudorandom function OPPRF or key exchange DH. 15. The system according to any one of claims 9 to 14, wherein the first computing participant is specifically configured to: obtain the second data through an oblivious pro- grammable pseudorandom function OPPRF. 16. The system according to any one of claims 9 to 15, wherein the first ID of the first computing participant is an ID of the first computing participant in a first hash bucket, the at least one ID of the second computing participant is at least one ID of the second computing participant in the first hash bucket, the first ciphertext data is ciphertext data corresponding to the first hash bucket, and the second data is second data corresponding to the first hash bucket. 17. A computing device cluster,comprising at least one computing device, wherein each computing device comprises a processor and a memory, wherein a processor of the at least one computing device is configured to execute instructions stored in a mem- ory of the at least one computing device, to enable the computing device cluster to perform the method according to any one of claims 1 to 8. 18. A computer program product comprising instruc- tions, wherein when the instructions are run by a computing device cluster, the computing device cluster is enabled to perform the method according to any one of claims 1 to 8. 5 10 15 20 25 30 35 40 45 50 55 19 35 EP 4 701 128 A1 36 19. A computer-readable storage medium, comprising computer program instructions, wherein when the computer program instructions are executed by a computing device cluster,the computing device cluster performs the method according to any one of claims 1 to 8. 5 10 15 20 25 30 35 40 45 50 55 20 EP 4 701 128 A1 21 EP 4 701 128 A1 22 EP 4 701 128 A1 23 EP 4 701 128 A1 24 EP 4 701 128 A1 25 EP 4 701 128 A1 26 EP 4 701 128 A1 27 EP 4 701 128 A1 5 10 15 20 25 30 35 40 45 50 55 28 EP 4 701 128 A1 5 10 15 20 25 30 35 40 45 50 55 29 EP 4 701 128 A1 5 10 15 20 25 30 35 40 45 50 55 30 EP 4 701 128 A1 REFERENCES CITED IN THE DESCRIPTION This list of references cited by the applicant is for the reader’s convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard. Patent documents cited in the description • CN 202310552730

[0001] • CN 202311068411X

[0001] ,< / ys> < / ys> < / y> < / y> < / fs> < / fs> < / fs> < / fs> < / fs> < / fs> < / y> < / y> < / fs> < / y> < / fs> < / fs> < / fs> < / fs> < / fs> < / fs> < / fs> < / y> < / y> < / y> < / y01> < / y> < / y> < / y> < / y> < / y> < / y> < / y> < / y> < / fs> < / y> < / fs> < / fs>

Claims

1. A data processing method, wherein the method comprises: separately obtaining, by a first computing participant and a second computing participant, first ciphertext data, wherein the first ciphertext data indicates whether a first ID of the first computing participant is an intersection ID, and the intersection ID indicates that the first ID is the same as any one of at least one ID of the second computing participant; obtaining, by the second computing participant from the first computing participant, a share of a first feature value corresponding to the first ID, wherein the share of the first feature value is obtained by the first computing participant by sharing the first feature value between the first computing participant and the second computing participant in a secret sharing mode, and the first feature value is restorable based on a share of the first feature value that is obtained by each of the first computing participant and the second computing participant; obtaining, by the first computing participant, second data, wherein if the first ID is an intersection ID, the second data is a share of a second feature value that is in the second computing participant and that corresponds to the first ID, or if the first ID is not an intersection ID, the second data is a random number; the share of the second feature value is obtained by the second computing participant by sharing the second feature value between the first computing participant and the second computing participant in a secret sharing mode; and the second feature value is restorable based on a share of the second feature value that is obtained by each of the first computing participant and the second computing participant; if the first ciphertext data indicates that the first ID is an intersection ID, using, by the first computing participant, the second data and a share of the first feature value that is held by the first computing participant as training data of a neural network; and if the first ciphertext data indicates that the first ID is an intersection ID, using, by the second computing participant, a share of the first feature value and a share of the second feature value that are held by the second computing participant as training data of the neural network.

2. The method according to claim 1, wherein the method further comprises: separately performing, by the first computing participant and the second computing participant, restoration on the first ciphertext data to obtain first data; and determining, based on the first data, whether the first ID is the intersection ID.

3. The method according to claim 1 or 2, wherein the method further comprises: if the first computing participant indicates, based on the first ciphertext data obtained by the first computing participant, that the first ID is not an intersection ID, deleting, by the first computing participant, the second data and the share of the first feature value that is held by the first computing participant; and if the second computing participant indicates, based on the first ciphertext data obtained by the second computing participant, that the first ID is not an intersection ID, deleting, by the second computing participant, the share of the first feature value and the share of the second feature value that are held by the second computing participant.

4. The method according to any one of claims 1 to 3, wherein the method further comprises: determining, by the first computing participant and the second computing participant based on a plurality of pieces of ciphertext data corresponding to a plurality of hash buckets, whether a quantity of intersection IDs is greater than a preset threshold, wherein the plurality of pieces of ciphertext data comprise the first ciphertext data; obtaining, by the second computing participant from the first computing participant, the share of the first feature value corresponding to the first ID comprises: when the quantity of intersection IDs is greater than the preset threshold, obtaining, by the second computing participant from the first computing participant, the share of the first feature value corresponding to the first ID; and obtaining, by the first computing participant, the second data comprises: when the quantity of intersection IDs is greater than the preset threshold, obtaining, by the first computing participant, the second data.

5. The method according to claim 4, wherein the method further comprises: separately randomly disordering, by the first computing participant and the second computing participant, a plurality of pieces of ciphertext data obtained by each of the first computing participant and the second computing participant.

6. The method according to any one of claims 1 to 5, wherein separately obtaining, by the first computing participant and the second computing participant, the first ciphertext data comprises: separately obtaining, by the first computing participant and the second computing participant, the first ciphertext data through an oblivious programmable pseudorandom function OPPRF or key exchange DH.

7. The method according to any one of claims 1 to 6, wherein obtaining, by the first computing participant, the second data comprises: obtaining, by the first computing participant, the second data through an oblivious programmable pseudorandom function OPPRF.

8. The method according to any one of claims 1 to 7, wherein the first ID of the first computing participant is an ID of the first computing participant in a first hash bucket, the at least one ID of the second computing participant is at least one ID of the second computing participant in the first hash bucket, the first ciphertext data is ciphertext data corresponding to the first hash bucket, and the second data is second data corresponding to the first hash bucket.

9. A data processing system, wherein the system comprises: a first computing participant and a second computing participant, separately configured to obtain first ciphertext data, wherein the first ciphertext data indicates whether a first ID of the first computing participant is an intersection ID, and the intersection ID indicates that the first ID is the same as any one of at least one ID of the second computing participant, wherein the second computing participant is further configured to obtain, from the first computing participant, a share of a first feature value corresponding to the first ID, wherein the share of the first feature value is obtained by the first computing participant by sharing the first feature value between the first computing participant and the second computing participant in a secret sharing mode, and the first feature value is restorable based on a share of the first feature value that is obtained by each of the first computing participant and the second computing participant; the first computing participant is further configured to obtain second data, wherein if the first ID is an intersection ID, the second data is a share of a second feature value that is in the second computing participant and that corresponds to the first ID, or if the first ID is not an intersection ID, the second data is a random number; the share of the second feature value is obtained by the second computing participant by sharing the second feature value between the first computing participant and the second computing participant in a secret sharing mode; and the second feature value is restorable based on a share of the second feature value that is obtained by each of the first computing participant and the second computing participant; if the first ciphertext data indicates that the first ID is an intersection ID, the first computing participant is further configured to use the second data and a share of the first feature value that is held by the first computing participant as training data of a neural network; and if the first ciphertext data indicates that the first ID is an intersection ID, the second computing participant is further configured to use a share of the first feature value and a share of the second feature value that are held by the second computing participant as training data of the neural network.

10. The system according to claim 9, wherein the first computing participant and the second computing participant are further separately configured to perform restoration on the first ciphertext data to obtain first data; and the first computing participant and the second computing participant are further separately configured to determine, based on the first data, whether the first ID is the intersection ID.

11. The system according to claim 9 or 10, wherein if the first computing participant indicates, based on the first ciphertext data obtained by the first computing participant, that the first ID is not an intersection ID, the first computing participant is further configured to delete the second data and the share of the first feature value that is held by the first computing participant; and if the second computing participant indicates, based on the first ciphertext data obtained by the second computing participant, that the first ID is not an intersection ID, the second computing participant is further configured to delete the share of the first feature value and the share of the second feature value that are held by the second computing participant.

12. The system according to any one of claims 9 to 11, wherein the first computing participant and the second computing participant are further configured to determine, based on a plurality of pieces of ciphertext data, whether a quantity of intersection IDs is greater than a preset threshold, wherein the plurality of pieces of ciphertext data comprise the first ciphertext data; the second computing participant is specifically configured to: when the quantity of intersection IDs is greater than the preset threshold, obtain, from the first computing participant, the share of the first feature value corresponding to the first ID; and the first computing participant is specifically configured to: when the quantity of intersection IDs is greater than the preset threshold, obtain the second data.

13. The system according to claim 12, wherein the first computing participant and the second computing participant are further configured to separately randomly disorder a plurality of pieces of ciphertext data obtained by each of the first computing participant and the second computing participant.

14. The system according to any one of claims 9 to 13, wherein the first computing participant and the second computing participant are specifically configured to separately obtain the first ciphertext data through an oblivious programmable pseudorandom function OPPRF or key exchange DH.

15. The system according to any one of claims 9 to 14, wherein the first computing participant is specifically configured to: obtain the second data through an oblivious programmable pseudorandom function OPPRF.

16. The system according to any one of claims 9 to 15, wherein the first ID of the first computing participant is an ID of the first computing participant in a first hash bucket, the at least one ID of the second computing participant is at least one ID of the second computing participant in the first hash bucket, the first ciphertext data is ciphertext data corresponding to the first hash bucket, and the second data is second data corresponding to the first hash bucket.

17. A computing device cluster, comprising at least one computing device, wherein each computing device comprises a processor and a memory, wherein a processor of the at least one computing device is configured to execute instructions stored in a memory of the at least one computing device, to enable the computing device cluster to perform the method according to any one of claims 1 to 8.

18. A computer program product comprising instructions, wherein when the instructions are run by a computing device cluster, the computing device cluster is enabled to perform the method according to any one of claims 1 to 8.

19. A computer-readable storage medium, comprising computer program instructions, wherein when the computer program instructions are executed by a computing device cluster, the computing device cluster performs the method according to any one of claims 1 to 8.