Business data processing method, device, computer equipment and storage medium

By using elliptic curve cryptography to perform noise addition and private key encryption in business data processing, the problem of large RSA algorithm calculation and communication overhead is solved, and efficient business data processing and model training is achieved.

CN116112171BActive Publication Date: 2025-09-02TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111321047.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-09
Publication Date
2025-09-02
Estimated Expiration
2041-11-09

AI Technical Summary

Technical Problem

The existing RSA asymmetric encryption algorithm has a high overhead in computing and communication during the business data comparison process, resulting in inefficiency.

Method used

Elliptic curve cryptography is used to map business object identification to a preset elliptic curve, and data processing is performed through noise addition and private key encryption, reducing key length to reduce computing and communication overhead.

Benefits of technology

Through the application of elliptic curve cryptography, the calculation and communication overhead are reduced, the efficiency of business data processing and model training is improved, and noise is added during data transmission to avoid information leakage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116112171B_ABST
    Figure CN116112171B_ABST
Patent Text Reader

Abstract

The present application relates to a business data processing method, apparatus, computer equipment, storage medium and computer program product. The method includes: obtaining a first business object identifier, mapping the first business object identifier to a preset elliptic curve to obtain an initial position point; adding noise to the initial position point to obtain an updated position point; sending position indication information of the updated position point to a second business party device, so that the second business party device encrypts the updated position point based on a preset private key to obtain a first encrypted position point corresponding to the first business object identifier; determining a target position point corresponding to the first business object identifier based on the first encrypted position point; determining a comparison result between the first business object identifier set and the second business object identifier stored in the second business party device based on the target position point, and performing business processing based on the comparison result. The use of this method can save computing and communication overhead.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a business data processing method, apparatus, computer equipment, storage medium and computer program product, as well as a model training method, apparatus, computer equipment, storage medium and computer program product. Background Art

[0002] With the rapid development of computer technology, technologies such as artificial intelligence and big data have also advanced rapidly. These technologies require the collaborative processing of business data from multiple parties to fully tap into the value of business data. In the collaborative processing of business data, multiple parties must compare the business object identifiers involved in the business data without sharing the business data, and then perform subsequent business processing based on the comparison results.

[0003] In current technologies, comparison is usually based on the RSA encryption algorithm or the oblivious transfer extension protocol, and the underlying algorithm is the RSA asymmetric encryption algorithm. However, the RSA asymmetric encryption algorithm has a large key length, resulting in high computing and communication overhead. Summary of the Invention

[0004] Based on this, it is necessary to provide a business data processing method, device, computer equipment, storage medium and computer program product that can save computing and communication overhead, as well as a model training method, device, computer equipment, storage medium and computer program product to address the above technical problems.

[0005] A business data processing method is applied to a first business party device that stores a first business object identifier set, the method comprising: obtaining a first business object identifier in the first business object identifier set, mapping the first business object identifier to a preset elliptic curve to obtain an initial position point; adding noise to the initial position point according to a preset noise adding method to obtain an updated position point corresponding to the first business object identifier; sending position indication information of the updated position point to a second business party device, so that the second business party device obtains the updated position point based on the position indication information, and encrypts the updated position point based on a preset private key to obtain a first encrypted position point corresponding to the first business object identifier; after obtaining the first encrypted position point, determining a target position point corresponding to the first business object identifier and the preset noise adding method based on the first encrypted position point; based on the target position point, determining a comparison result between the first business object identifier set and a second business object identifier stored in the second business party device, and performing business processing based on the comparison result.

[0006] A service data processing device, comprising:

[0007] an identifier mapping module, configured to obtain a first business object identifier from the first business object identifier set, and map the first business object identifier to a preset elliptic curve to obtain an initial position point;

[0008] a noise adding module, configured to add noise to the initial position point according to a preset noise adding method to obtain an updated position point corresponding to the first business object identifier;

[0009] a location information sending module, configured to send the location indication information of the updated location point to the second business party device, so that the second business party device obtains the updated location point based on the location indication information, and encrypts the updated location point based on a preset private key to obtain a first encrypted location point corresponding to the first business object identifier;

[0010] a target location point determination module, configured to determine, after obtaining the first encrypted location point, a target location point corresponding to the first service object identifier and the preset noise adding method based on the first encrypted location point;

[0011] The identifier comparison module is used to determine the comparison result between the first business object identifier set and the second business object identifier stored in the second business party device based on the target location point, and perform business processing based on the comparison result.

[0012] A computer device includes a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the above-mentioned business data processing method when executing the computer program.

[0013] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the above-mentioned business data processing method.

[0014] A computer program product includes a computer program, which implements the steps of the business data processing method when executed by a processor.

[0015] The above-mentioned business data processing method, apparatus, computer device, storage medium and computer program product obtain a first business object identifier from a first business object identifier set, map the first business object identifier to a preset elliptic curve to obtain an initial position point, add noise to the initial position point according to a preset noise addition method to obtain an updated position point corresponding to the first business object identifier, and send position indication information of the updated position point to a second business party device, so that the second business party device obtains the updated position point based on the position indication information, and encrypts the updated position point based on a preset private key to obtain a first encrypted position point corresponding to the first business object identifier. After obtaining the first encrypted position point, a target position point corresponding to the first business object identifier and the preset noise addition method is determined based on the first encrypted position point. Based on the target position point, a comparison result between the first business object identifier set and the second business object identifier stored in the second business party device is determined, and business processing is performed based on the comparison result, thereby realizing encryption of the business object identifier based on elliptic curve cryptography. Since the elliptic curve can use a shorter key length, it can effectively reduce computing and communication overhead, thereby improving business data processing efficiency. Furthermore, the first service party device adds noise when sending data to the second service party device, which can further prevent information leakage.

[0016] A model training method is applied to a second business party device that stores a second business object identifier set, the method comprising: receiving a first encrypted prediction result sent by a first business party device; the first encrypted prediction result is obtained by the first business party device performing homomorphic encryption on the first initial prediction result; the first initial prediction result is obtained by the first business party device inputting a first training data set into a first initial prediction sub-model for prediction; the first training data set is a data set corresponding to an object identifier intersection; the object identifier intersection is obtained by the first business party device comparing the first business object identifier set and the second business object identifier set stored therein based on a target position point; the target position point is a position point determined by the first business party device based on the first encrypted position point after obtaining the first encrypted position point and corresponding to the first business object identifier in the first business object identifier set and a preset noise addition method; the first encrypted position point is obtained by encrypting the updated position point based on a preset private key and a position point corresponding to the first business object identifier; the updated position point is obtained based on the position indication information sent by the first business party device; the updated position point is obtained by the first business party device adding noise to the initial position point according to the preset noise adding method; the initial position point is obtained by the first business party device mapping the first business object identifier to a preset elliptic curve; obtain a second training data set and training label information corresponding to the intersection of the object identifiers, the training label information is the label information corresponding to the first training data set and the second training data set; input the second training data set into the second initial sub-model for calculation to obtain a second initial prediction result, homomorphically encrypt the second initial prediction result to obtain a second encrypted prediction result, perform parameter calculation based on the first encrypted prediction result, the second encrypted prediction result and the training label information to obtain model adjustment parameters, return the model adjustment parameters to the first business party device, and use the model adjustment parameters to adjust the second initial prediction sub-model.

[0017] A model training device, the device comprising: a prediction result receiving module for receiving a first encrypted prediction result sent by a first business party device; the first encrypted prediction result is obtained by the first business party device performing homomorphic encryption on the first initial prediction result; the first initial prediction result is obtained by the first business party device inputting a first training data set into a first initial prediction sub-model for prediction; the first training data set is a data set corresponding to an object identifier intersection; the object identifier intersection is obtained by the first business party device comparing the first business object identifier set and the second business object identifier set stored therein based on a target location point; the target location point is a location point determined by the first business party device based on the first encrypted location point after obtaining the first encrypted location point and corresponding to the first business object identifier in the first business object identifier set and a preset noise addition method; the first encrypted location point is a location point obtained by encrypting an updated location point based on a preset private key and corresponding to the first business object identifier point; the updated position point is obtained based on the position indication information sent by the first business party device; the updated position point is obtained by the first business party device adding noise to the initial position point according to the preset noise adding method; the initial position point is obtained by the first business party device mapping the first business object identifier to a preset elliptic curve; a training data acquisition module is used to obtain a second training data set and training label information corresponding to the intersection of the object identifiers, and the training label information is the label information corresponding to the first training data set and the second training data set; a parameter adjustment module is used to input the second training data set into the second initial sub-model for prediction to obtain a second initial prediction result, homomorphically encrypt the second initial prediction result to obtain a second encrypted prediction result, perform parameter calculation based on the first encrypted prediction result, the second encrypted prediction result and the training label information to obtain model adjustment parameters, return the model adjustment parameters to the first business party device, and use the model adjustment parameters to adjust the second initial prediction sub-model.

[0018] A computer device includes a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps described in the above-mentioned model training method when executing the computer program.

[0019] A computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps described in the above-mentioned model training method.

[0020] A computer program product includes a computer program, which implements the steps described in the above-mentioned model training method when executed by a processor.

[0021] The above-mentioned model training method, apparatus, computer equipment, storage medium and computer program product, since the business object identifiers are encrypted based on elliptic curve cryptography in the process of determining the intersection of object identifiers, can use shorter keys, effectively reducing computing and communication overhead, thereby improving model training efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 This is an application environment diagram of a business data processing method in one embodiment;

[0023] Figure 2 1 is a flow chart of a method for processing business data in one embodiment;

[0024] Figure 3 is a flowchart of a business data processing method in another embodiment;

[0025] Figure 4 A schematic diagram of a process for intersecting private sets in one embodiment;

[0026] Figure 5 A schematic diagram showing a comparison of key lengths in one embodiment;

[0027] Figure 6 Schematic diagram of a process flow of a business data processing method in a specific embodiment;

[0028] Figure 7 Schematic diagram of a flow chart of a model training method in one embodiment;

[0029] Figure 8 is a structural block diagram of a business data processing device in one embodiment;

[0030] Figure 9 is a structural block diagram of a model training device in one embodiment;

[0031] Figure 10 FIG. 1 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0032] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.

[0033] Artificial Intelligence (AI) refers to the theories, methods, techniques, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, to perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that seeks to understand the essence of intelligence and produce new intelligent machines that can respond in a manner similar to human intelligence. AI also involves studying the design principles and implementation methods of various intelligent machines, enabling them to possess the capabilities of perception, reasoning, and decision-making.

[0034] Artificial intelligence (AI) technology is a comprehensive discipline encompassing a wide range of fields, encompassing both hardware and software technologies. Foundational AI technologies generally include sensors, specialized AI chips, cloud computing, distributed storage, big data processing, operating / interaction systems, and mechatronics. AI software technologies primarily encompass computer vision, speech processing, natural language processing, as well as machine learning / deep learning, autonomous driving, and smart transportation.

[0035] Machine learning (ML) is a multidisciplinary field that encompasses probability theory, statistics, approximation theory, convex analysis, and algorithmic complexity theory. It specifically studies how computers can simulate or implement human learning behaviors to acquire new knowledge or skills and reorganize existing knowledge structures to continuously improve their performance. Machine learning is at the core of artificial intelligence and the fundamental way to make computers intelligent. Its applications span all areas of AI. Machine learning and deep learning typically include techniques such as artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning, self-learning, and federated learning.

[0036] The solutions provided in the embodiments of this application involve artificial intelligence machine learning technology, which is specifically illustrated by the following embodiments:

[0037] The business data processing method provided in the embodiment of the present application can be applied to Figure 1In the application environment shown, a first business party device 104 communicates with a second business party device 102 via a network. The first business party device 104 and the second business party device 102 can be computer devices, which can specifically be terminals or servers. Taking the first business party device 104 as a server and the second business party device 102 as a terminal as an example, the terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can include smart speakers, smart TVs, smart air conditioners, smart car devices, etc. Portable wearable devices can include smart watches, smart bracelets, head-mounted devices, etc. The server 104 can be implemented as a standalone server or a server cluster consisting of multiple servers. It is understood that there can be at least one first business party device 104 and at least one second business party device 102. One first business party device can exchange data with at least one second business party device, and one second business party device can also exchange data with at least one first business party device.

[0038] A first business party device stores a first business object identifier set, and a second business party device stores a second business object identifier set. The first business party device first obtains a first business object identifier from the first business object identifier set, maps the first business object identifier to a preset elliptic curve to obtain an initial position point, adds noise to the initial position point according to a preset noise addition method, obtains an updated position point corresponding to the first business object identifier, and sends position indication information of the updated position point to the second business party device. The second business party device obtains the updated position point based on the position indication information, encrypts the updated position point using a preset private key, obtains a first encrypted position point corresponding to the first business object identifier, and returns the position indication information of the first encrypted position point to the first business party device. The first business party device obtains the first encrypted position point based on the position indication information of the first encrypted position point, determines a target position point corresponding to the first business object identifier and the preset noise addition method based on the first encrypted position point, determines a comparison result between the first business object identifier set and the second business object identifier stored in the second business party device based on the target position point, and performs business processing based on the comparison result.

[0039] In one embodiment, Figure 2 As shown, a business data processing method is provided, which is applied to Figure 1 Taking the first service party device 104 in the example as an example, the following steps are included:

[0040] Step 202: Obtain a first business object identifier in the first business object identifier set, map the first business object identifier to a preset elliptic curve, and obtain an initial position point.

[0041] Among them, the first business party device stores a first business object identifier set, and the first business object identifier set includes at least one first business object identifier. The first business object identifier is used to uniquely identify the first business object. The first business object refers to the object for which the first business party device performs business processing. For example, the first business object can be the customer for whom the first business party device performs business processing. The first business object identifier can be any one of the hash values ​​of a mobile phone number, an ID card number, or a mobile device number. It can be understood that the first business object identifier can also be in other forms, as long as it can uniquely identify the first business object. This application does not limit this. In the embodiment of the present application, the elliptic curve refers to an elliptic curve on a finite field. The finite field can be, for example, an integer field with a prime number as the modulus. The formula of the elliptic curve is as follows:

[0042] y 2 ≡x 3 +ax+b%q

[0043] In the present application, the elliptic curve is pre-set, and the first business party device and the first business party device use the same elliptic curve E(q, a, b, G, n, h) on the prime number field, where q is a large prime number, a and b are elliptic curve parameters, G is the base point (also called a reference point), n is the order of the base point G, and h is the cofactor, which is the integer part of the quotient of the number of all points on the elliptic curve divided by the order n. The elliptic curves used in the embodiments of the present application can be, for example, secp256k1 and sm2p256v1. The position point refers to the position point on the elliptic curve. The initial position point refers to the position point on the elliptic curve corresponding to the first business object identifier.

[0044] Specifically, the first business party device obtains one or more first business object identifiers from a locally stored set of first business object identifiers. For each obtained first business object identifier, the first business object identifier can be calculated using a first operation, and the calculation result is mapped to a preset elliptic curve to obtain an initial position point. The first operation can be, for example, a hash operation, and the hash function used can be, for example, a SHA256 function or an MD5 function. Of course, other hash functions can also be used, and this application does not limit this.

[0045] In one embodiment, when performing the mapping, the first service party device may map the calculation result obtained by the first operation calculation onto the elliptic curve based on the base point of the elliptic curve.

[0046] In other embodiments, during mapping, the first service provider device may use the result of the first operation as the coordinate x of the elliptic curve, calculate the corresponding coordinate y based on the formula of the elliptic curve, and determine the initial position point based on the coordinates x and y. For example, in a specific implementation, the Koblitz method may be used for mapping.

[0047] In a specific embodiment, in order to ensure that the same location point can be mapped for the same business object identifier, the first business party device and the second business party device may further agree that when the calculated coordinate y represents a location point below the horizontal coordinate axis, the absolute difference between the coordinate y and the modulus of the aforementioned elliptic curve is calculated as the coordinate y.

[0048] It should be noted that in order to ensure that the intersection between the first business object identifier set and the second business object identifier set can be correctly obtained, it is necessary to ensure that the calculation result obtained by the first operation is less than the order n of the base point of the aforementioned elliptic curve. Therefore, in one embodiment, when the calculation result obtained by the first operation is greater than the order n of the base point of the elliptic curve, the calculation result can be truncated or recalculated using other calculation methods.

[0049] In one embodiment, since the base point of the elliptic curve is known, the first business party device can multiply the calculated result and the base point of the elliptic curve on the finite field of the elliptic curve to map the first business object identifier to the preset elliptic curve and obtain the initial position point. After obtaining the initial position point, the position indication information of the initial position point in the elliptic curve is obtained. The position indication information refers to information used to indicate the position, such as coordinate information.

[0050] Step 204 : Add noise to the initial position point according to a preset noise adding method to obtain an updated position point corresponding to the first business object identifier.

[0051] Among them, noise addition refers to adding an interference signal to the initial position point to hide the initial position point. The interference signal can be, for example, a random number. The preset noise addition method refers to a preset noise addition method, and the same preset noise addition method is used for all the first service object identifiers in the first service object identifier set for noise addition. In one embodiment, since the initial position point is a point on the elliptic curve, the preset noise addition method can be to perform operations on the initial position point in the finite field of the elliptic curve. For example, it can be to perform a multiplication operation on the initial position point and the random number in the finite field of the elliptic curve, or it can be to map the random number to the elliptic curve and then add the obtained mapped position point and the initial position point in the finite field of the elliptic curve. The updated position point refers to the position point re-determined on the elliptic curve after adding noise to the initial position point. After obtaining this updated position point, the position indication information of the updated position point is obtained. The position indication information refers to the information used to indicate the position, such as coordinate information.

[0052] Specifically, the first service party device adds noise to the obtained initial position point according to the preset noise addition method to obtain the updated position point corresponding to the first service object identifier. It should be noted that when multiple first service object identifiers are obtained at one time in step 202, the initial position points of each first service object identifier will be obtained. Then, for each initial position point, the first service party device can add noise to the initial position point according to the preset noise addition method to obtain the updated position point of each first service object identifier.

[0053] Step 206: Send the position indication information of the updated position point to the second service party device, so that the second service party device can obtain the updated position point based on the position indication information and encrypt the updated position point based on the preset private key to obtain the first encrypted position point corresponding to the first service object identifier.

[0054] Among them, the position indication information of the updated position point refers to the information used to indicate the position of the updated position point on the elliptic curve, such as coordinate information. The preset private key is a positive integer randomly selected by the second service party device and satisfies k < n, where n is the order of the base point of the elliptic curve. Here, the order refers to the order of the base point on the elliptic curve, that is, it satisfies n*G = O (where O represents the zero point of the elliptic curve, also called the infinite point), where G is the base point and n is a large prime number. In one embodiment, in order to further ensure the security of the encrypted data, the positive integer k randomly selected by the second service party device is a large positive integer.

[0055] In one embodiment, the location indication information of the updated location point sent by the first service party device to the second service party device may be, for example, the x-coordinate and y-coordinate of the updated location point. After receiving the x-coordinate and y-coordinate of the updated location point, the second service party device obtains the first location point. In another embodiment, to save communication traffic, the first service party device may only send the x-coordinate of the updated location point to the second service party device. Since the elliptic curve is known, the second service party device can calculate the corresponding y-coordinate based on the elliptic curve, thereby obtaining the updated location point.

[0056] After the second business party device obtains the updated location point based on the location indication information, it encrypts the updated location point based on the preset private key. Since the private key is a positive integer, the encryption process can multiply the private key and the updated location point on the finite field of the elliptic curve. The result of the operation is still a point on the elliptic curve, that is, the first encrypted location point.

[0057] The second business party device may send the location indication information of the first encrypted location point to the first business party device. In one embodiment, the location indication information sent by the second business party device to the first business party device may be, for example, the x-coordinate and y-coordinate of the first encrypted location point. After receiving the x-coordinate and y-coordinate of the updated location point, the first business party device may obtain the first encrypted location point. In another embodiment, to save communication traffic, the second business party device may only send the x-coordinate of the first encrypted location point to the first business party device. Since the elliptic curve is known, the first business party device may calculate the corresponding y-coordinate based on the elliptic curve, thereby obtaining the first encrypted location point.

[0058] It should be noted that when the second business party device receives multiple location indication information, it can obtain the corresponding updated location point based on each location indication information, and encrypt each updated location point based on the preset private key to obtain the corresponding first encrypted location point.

[0059] Step 208: After obtaining the first encrypted position point, determine a target position point corresponding to the first business object identifier and the preset noise adding method based on the first encrypted position point.

[0060] Among them, the target location point refers to the location point corresponding to the first business object identifier stored in the first business party device. The target location point is used to align the first business object identifier and the second business object identifier so as to determine the comparison result between the first business object identifier set and the second business object identifier stored in the second business party device during subsequent business data processing.

[0061] In one embodiment, after obtaining the first encrypted position points corresponding to each first business object identifier in the first business object identifier set, the first business party device can remove noise from each first encrypted position point according to a noise removal method corresponding to a preset noise addition method to obtain target position points corresponding to each first business object identifier, and store these target position points.

[0062] In another embodiment, after obtaining the first encrypted position point corresponding to each first business object identifier in the first business object identifier set, the first business party device can directly determine the first encrypted position point as the target position point corresponding to the first business object identifier and the preset noise addition method.

[0063] Step 210: Based on the target location point, determine the comparison result between the first business object identifier set and the second business object identifier stored in the second business party device, and perform business processing based on the comparison result.

[0064] The comparison result is the result obtained by comparing the first business object identifier set with the second business object identifier stored in the second business party device. In one embodiment, the second business party device may determine the comparison result between the first business object identifier set and the second business object identifier corresponding to the query request after receiving the query request sent by the first business party device, and the obtained comparison result is used to indicate whether the second business object identifier corresponding to the query request exists in the first business object identifier set. In another embodiment, the first business party device may determine the comparison result between the first business object identifier set and the second business object identifier set after receiving the second business object identifier set composed of multiple second business object identifiers encrypted with private keys respectively sent by the second business party device, and the obtained comparison result is used to characterize the public business object identifier between the first business object identifier set and the second business object identifier.

[0065] In one embodiment, the target location point is noise-removed, and the obtained target location point is equivalent to that obtained by encrypting the initial location point using the private key of the second business party device. If the second business party device maps the second business object identifier to the elliptic curve in the same mapping method as the first business object identifier and encrypts the obtained mapped location point to obtain an encrypted location point, then for the same business object identifier, the target storage point and the encrypted location point should be the same. Therefore, after the second business party device sends the encrypted location point to the second business party device, the second business party device can determine the intersection of the second business object identifier and the first business object identifier set.

[0066] In another embodiment, the target location point is obtained by directly storing the first encrypted location point, and the obtained target location point is equivalent to being obtained by encrypting the initial location point and noise through the private key of the second business party device. Then, if the first business party device receives the encrypted location point sent by the second business party device, and adds noise to the encrypted location point in the same noise adding method as the first business object identifier to obtain the target encrypted location point, then for the same business object identifier, the target storage point and the target encrypted location point should be the same. Therefore, the second business party device can determine the intersection of the second business object identifier and the first business object identifier set based on the target storage point and the target encrypted location point.

[0067] Furthermore, the first service provider's device can perform business processing based on the comparison results. This business processing can vary in different business scenarios. For example, federated learning can be used to train a machine learning model tailored to the current business scenario, and the trained machine learning model can be used to perform business predictions.

[0068] In the above-mentioned service data processing method, a first service object identifier from a first service object identifier set is obtained, the first service object identifier is mapped onto a preset elliptic curve to obtain an initial location point, noise is added to the initial location point according to a preset noise addition method to obtain an updated location point corresponding to the first service object identifier, and location indication information of the updated location point is sent to a second service party device, so that the second service party device obtains the updated location point based on the location indication information and encrypts the updated location point using a preset private key to obtain a first encrypted location point corresponding to the first service object identifier. After obtaining the first encrypted location point, a target location point corresponding to the first service object identifier and the preset noise addition method is determined based on the first encrypted location point. Based on the target location point, a comparison result is determined between the first service object identifier set and a second service object identifier stored by the second service party device. Service processing is performed based on the comparison result, thereby implementing encryption of service object identifiers based on elliptic curve cryptography. Because elliptic curves can use shorter key lengths, computational and communication overhead can be effectively reduced, thereby improving service data processing efficiency. Furthermore, the first service party device performs noise addition when sending data to the second service party device, further preventing information leakage.

[0069] It should be noted that in the embodiments of the present application, the finite field of the elliptic curve is illustrated by an integer field modulo a prime number. All operations in this finite field require a modulo operation on the selected prime number q, i.e., mod q. In order to facilitate the display of the calculation process, the modulo part will be omitted later.

[0070] In one embodiment, Figure 3As shown, a business data processing method is provided, including the following steps:

[0071] Step 302: Obtain the first business object identifier in the first business object identifier set, map the first business object identifier to a preset elliptic curve, and obtain an initial position point.

[0072] Step 304: Obtain a random number, and add the random number to the initial position point according to a preset noise addition method to obtain an updated position point corresponding to the first business object identifier.

[0073] Among them, the random number is a large positive integer r, and r < n, where n is the order of the base point of the elliptic curve. In one embodiment, a preset number of positive integers less than n can be randomly generated, and one of them can be selected as the random number for noise addition. It can be understood that for different business object identifiers, the random numbers can be the same or different. In other embodiments, a fixed positive integer can also be selected as the random number used for noise addition for all business object identifiers.

[0074] In one embodiment, since the initial position point is a point on the elliptic curve, the random number can also be mapped to the elliptic curve to obtain a mapped position point, and the initial position point and the mapped position point are added on the finite field of the elliptic curve to obtain an updated position point.

[0075] Step 306: Send the position indication information of the updated position point to the second service party device, so that the second service party device can obtain the updated position point based on the position indication information, and encrypt the updated position point based on a preset private key to obtain a first encrypted position point corresponding to the first business object identifier.

[0076] Step 308: After obtaining the first encrypted position point, perform noise removal on the first encrypted position point based on the random number and according to a noise removal method corresponding to the preset noise addition method to obtain a target position point corresponding to the first business object identifier.

[0077] Specifically, since noise addition is performed by adding a random number, when removing noise, the first encrypted position point can be noise-removed based on the random number, and for different noise addition methods, corresponding noise removal methods can be used for noise removal. After removing the noise, the obtained target storage point is equivalent to encrypting the initial position point with the private key of the second service party device. Therefore, with the help of the second service party device, the first service party device obtains the first business object identifier encrypted with the private key of the second service party, so that after receiving the first business object identifier encrypted by the second service party device in the same way, it can easily compare and determine whether they are the same business object identifier.

[0078] Step 310: Based on the target position point, determine the comparison result between the first set of business object identifiers and the second set of business object identifiers stored in the second business party device, and perform business processing based on the comparison result.

[0079] In this embodiment, by obtaining a random number for noise addition, noise addition can be achieved simply and quickly. Moreover, noise removal is performed when obtaining the target storage point, and it can be directly compared with the encrypted position point sent by the second business party device, avoiding additional calculations for the encrypted position point during each comparison, reducing the computational amount, and greatly improving the comparison efficiency.

[0080] In one embodiment, the private key is a preselected target positive integer; the first encrypted position point is obtained by the second business party device performing a multiplication operation on the private key and the updated position point corresponding to the first business object identifier in the finite field of the elliptic curve; adding a random number to the initial position point according to a preset noise addition method to obtain the updated position point corresponding to the first business object identifier includes: performing a multiplication operation on the random number and the public key position point corresponding to the private key in the finite field to obtain a noise position point mapped to the elliptic curve; the public key position point is obtained by performing a multiplication operation on the target modular inverse corresponding to the private key and the base point of the elliptic curve in the finite field; the target modular inverse corresponding to the private key is the modular inverse of the private key with respect to the order of the base point of the elliptic curve; based on the noise position point and the initial position point, obtain the updated position point corresponding to the first business object identifier.

[0081] Specifically, the second business party device randomly selects a positive integer k, where k < n, as the private key, and calculates the modular inverse s of the private key with respect to the order n, that is, calculates s such that k * s % n = 1, where the order n is the order of the base point G, that is, satisfies n * G = O (here O represents the zero point of the elliptic curve, also known as the infinite point). The second business party device further calculates the public key P = s * G and sends the public key P to the first business party device. Since the public key P is obtained by performing a multiplication operation on the base point G of the elliptic curve, it is also a point on the elliptic curve E(q, a, b, G, n, h), that is, the public key position point. The second business party device can send the position indication information of the public key position point to the first business party device.

[0082] In one embodiment, when the second business party device sends the location indication information of the public key location point to the first business party device, it may send the x-coordinate and y-coordinate of the public key location point. After receiving the x-coordinate and y-coordinate of the updated location point, the second business party device can obtain the public key location point. In another embodiment, to save communication traffic, when the second business party device sends the location indication information of the public key location point to the first business party device, it may send the x-coordinate of the public key location point. Since the elliptic curve is known, the first business party device can calculate the corresponding y-coordinate based on the elliptic curve, thereby obtaining the public key location point.

[0083] After obtaining the public key position point, the first business party device further multiplies the random number and the public key position point corresponding to the private key on a finite field, that is, calculates Z1=r*P, and obtains the noise position point mapped to the elliptic curve. Then, based on the noise position point and the initial position point, the updated position point corresponding to the first business object identifier can be obtained.

[0084] In the above embodiment, a noise position point mapped to the elliptic curve is obtained by multiplying the random number and the public key position point corresponding to the private key on a finite field, and noise is added to the obtained noise position point to obtain an updated position point corresponding to the first business object identifier. Since the public key position point is obtained by multiplying the target modular inverse corresponding to the private key and the base point of the elliptic curve on a finite field, and the target modular inverse corresponding to the private key is the modular inverse of the order of the private key relative to the base point of the elliptic curve, noise removal can be performed quickly and easily. The specific method of noise removal will be described in the following embodiments and will not be repeated here.

[0085] In one embodiment, based on the noise position point and the initial position point, an updated position point corresponding to the first business object identifier is obtained, including: adding the noise position point and the initial position point on a finite field to obtain the updated position point corresponding to the first business object identifier; based on a random number and according to a noise removal method corresponding to a preset noise addition method, the first encrypted position point is subjected to noise removal to obtain a target position point corresponding to the first business object identifier, including: mapping the random number to the elliptic curve through the base point of the elliptic curve to obtain a noise cancellation point; adding the first encrypted position point and the negative element of the noise cancellation point on a finite field to perform noise removal on the first encrypted position point to obtain a target position point corresponding to the first business object identifier.

[0086] Specifically, the first business party device adds the noise position point Z1 to the initial position point M_A on a finite field to obtain an updated position point corresponding to the first business object identifier, that is, calculates Q = Z1 + M_A, and sends the position indication information of the updated position point to the second business party device. After receiving the position indication information, the second business party device can obtain the updated position point. The second business party device encrypts the updated position point based on the private key to obtain a first encrypted position point, that is, calculates V = k*Q. Since the public key position point is obtained by multiplying the target modular inverse corresponding to the private key and the base point of the elliptic curve on a finite field, the target modular inverse corresponding to the private key is the modular inverse of the order of the private key relative to the base point of the elliptic curve. Therefore, k*Q is equivalent to calculating r*G+k*M_A. The derivation process is as follows:

[0087] k*Q=k*(r*P+M_A)=k*r*P+k*M_A=k*r*s*G+k*M_A=r*k*s*G+k*M_A, since k*s%n=1, that is, k*s=n*b+1, that is, r *k*s*G=r*(n*b+1)*G=r*n*b*G+r*G=r*G*n*b+r*G, and G*n=O. Therefore, r*k*s*G=r*G, that is, k*Q=r*G+k*M_A.

[0088] The second business party device may send the location indication information of the first encrypted location point to the first business party device. After obtaining the encrypted location point based on the location indication information of the first encrypted location point, the first business party device may map the random number onto the elliptic curve using the base point of the elliptic curve to obtain a noise cancellation point. The first encrypted location point and the negative element of the noise cancellation point are added over a finite field to remove noise from the first encrypted location point to obtain a target location point corresponding to the first business object identifier. The obtained target location point is equivalent to encrypting the initial location point M_A using the private key, i.e., k*M_A, which is derived as follows:

[0089] Since V = k*Q = r*G + k*M_A, the random number is mapped onto the elliptic curve using its base point to obtain the noise cancellation point r*G. Adding the first encrypted position point and the negative of the noise cancellation point over a finite field yields r*G + k*M_A - r*G = k*M_A. It will be appreciated that, in one embodiment, r*G can be pre-calculated after the random number r is generated.

[0090] In the above embodiment, the noise position point and the initial position point are added on a finite field to obtain an updated position point corresponding to the first business object identifier, so that when performing noise elimination, the first encrypted position point and the negative element of the noise cancellation point can be added on a finite field to achieve rapid noise elimination.

[0091] In one embodiment, based on the noise position point and the initial position point, an updated position point corresponding to the first business object identifier is obtained, including: adding the negative element of the noise position point and the initial position point on a finite field to obtain the updated position point corresponding to the first business object identifier; based on a random number and according to a noise removal method corresponding to a preset noise addition method, the first encrypted position point is subjected to noise removal to obtain a target position point corresponding to the first business object identifier, including: mapping the random number to the elliptic curve through the base point of the elliptic curve to obtain a noise cancellation point; adding the first encrypted position point and the noise cancellation point on a finite field to perform noise removal on the first encrypted position point to obtain a target position point corresponding to the first business object identifier.

[0092] In this embodiment, after obtaining the noise position point, the first business party device can calculate the negative element of the noise position point on the finite field, that is, calculate Z2, so that Z1+Z2=0, that is, Z2=-Z1, and add the negative element Z2 of the noise position point to the initial position point M_A on the finite field to obtain the updated position point corresponding to the first business object identifier, that is, calculate Q=M_A-Z1, and send the position indication information of the updated position point to the second business party device. After receiving the position indication information, the second business party device can obtain the updated position point. The second business party device encrypts the updated position point based on the private key to obtain a first encrypted position point, that is, calculate V=k*Q. Since the public key position point is obtained by multiplying the target modular inverse corresponding to the private key and the base point of the elliptic curve on the finite field, the target modular inverse corresponding to the private key is the modular inverse of the order of the private key relative to the base point of the elliptic curve. Therefore, k*Q is equivalent to calculating k*M_A-r*G. The derivation process can refer to the description of the above embodiment, and this application will not repeat it here.

[0093] The second business party device may send the location indication information of the first encrypted location point to the first business party device. After obtaining the encrypted location point based on the location indication information of the first encrypted location point, the first business party device may map the random number onto the elliptic curve through the base point of the elliptic curve to obtain a noise cancellation point. The first encrypted location point and the noise cancellation point are added over a finite field to remove noise from the first encrypted location point to obtain a target location point corresponding to the first business object identifier. The obtained target location point is equivalent to encrypting the initial location point M_A with the private key, i.e., k*M_A, which is derived as follows:

[0094] Since V=k*Q=k*M_A-r*G, the random number is mapped to the elliptic curve through the base point of the elliptic curve to obtain the noise cancellation point r*G. The first encrypted position point and the noise cancellation point are added in the finite field, that is, M_A-r*G+r*G=k*M_A.

[0095] In the above embodiment, the negative element of the noise position point is added to the initial position point on a finite field to obtain an updated position point corresponding to the first business object identifier, so that when performing noise elimination, the first encrypted position point and the noise cancellation point can be added on a finite field to achieve rapid noise elimination.

[0096] In one embodiment, adding a random number to the initial position point according to a preset noise adding method to obtain an updated position point corresponding to the first business object identifier includes: multiplying the random number and the initial position point on a finite field of an elliptic curve to obtain an updated position point corresponding to the first business object identifier; removing noise from the first encrypted position point based on the random number and according to a noise removal method corresponding to the preset noise adding method to obtain a target position point corresponding to the first business object identifier, including: calculating the modular inverse of the random number based on the order of the basis point of the elliptic curve; multiplying the modular inverse and the first encrypted position point on a finite field to remove noise from the first encrypted mapping point to obtain the target position point corresponding to the first business object identifier.

[0097] Specifically, the first business party device multiplies the random number and the initial position point on the finite field of the elliptic curve to obtain an updated position point, that is, calculates Q = r*M_A, and sends the position indication information of the updated position point to the second business party device. After receiving the position indication information, the second business party device can obtain the updated position point. The second business party device encrypts the updated position point based on the private key to obtain a first encrypted position point, that is, calculates V = k*Q. Since Q = r*M_A, k*Q is equivalent to k*r*M_A.

[0098] The second business party device can send the location indication information of the first encrypted location point to the first business party device. After obtaining the encrypted location point based on the location indication information of the first encrypted location point, the first business party device calculates the modular inverse of the random number based on the order n of the base point of the elliptic curve, that is, calculates t so that r*t%n=1, and further multiplies the modular inverse with the first encrypted location point over a finite field to remove noise from the first encrypted location point to obtain a target location point corresponding to the first business object identifier. The obtained target location point is equivalent to encrypting the initial location point M_A with the private key, that is, k*M_A, which is derived as follows: V=k*Q=k*r*M_A*t=k*M_A*r*t=k*M_A. In one embodiment, in order to reduce computational complexity, the same random number r can be used for all first business object identifiers.

[0099] In the above embodiment, by multiplying the random number and the initial position point on the finite field of the elliptic curve, the updated position point corresponding to the first business object identifier is obtained, so that when performing noise elimination, the modular inverse of the random number and the first encrypted position point can be multiplied on the finite field to achieve rapid noise elimination.

[0100] In one embodiment, the first business object identifier is mapped to a preset elliptic curve to obtain an initial position point, including: obtaining an initial hash function, and performing a hash calculation on the first business object identifier through the initial hash function to obtain an initial hash value; when the initial hash value is less than the order of the base point of the elliptic curve, multiplying the initial hash value and the base point of the elliptic curve on a finite field of the elliptic curve to obtain the initial position point.

[0101] The preset hash function refers to a preset function for performing hash calculation to obtain a hash value. The preset hash function may be, for example, a SHA256 hash or an MD5 hash.

[0102] Specifically, the first business party device can obtain a preset hash function, and perform a hash calculation on the first business object identifier through the initial hash function to obtain an initial hash value. In order to ensure that the subsequent comparison results can correctly represent whether the two object identifiers are the same, the first business party device can compare the initial hash value with the order of the base point of the elliptic curve. Only when the initial hash value is less than the order of the base point of the elliptic curve, it is considered that a suitable hash value is obtained. At this time, the initial hash value and the base point of the elliptic curve can be multiplied on the finite field of the elliptic curve to obtain the initial position point.

[0103] In one embodiment, the above method also includes: when the initial hash value is greater than the order of the base point of the elliptic curve, intercepting the initial hash value to obtain an intermediate hash value, multiplying the intermediate hash value and the base point of the elliptic curve on a finite field to obtain an initial position point; or when the initial hash value is greater than the order of the base point of the elliptic curve, obtaining an alternative hash function, re-hashing the first business object identifier through the alternative hash function to obtain an alternative hash value, and multiplying the alternative hash value and the base point of the elliptic curve on a finite field to obtain an initial position point.

[0104] Among them, the truncation processing refers to truncation of a preset number of digits of the initial hash value according to a preset rule. The preset rule may, for example, be truncation of the first preset digits of the initial hash value, or truncation of the last preset digits of the initial hash value. For example, assuming that the initial hash value is 1234567, 1234 or 4567 can be truncation.

[0105] Specifically, when the first business party device compares and obtains an initial hash value that is greater than the order of the base point of the elliptic curve, the initial hash value can be truncated to obtain an intermediate hash value. When the intermediate hash value is less than the order of the base point of the elliptic curve, the intermediate hash value is multiplied by the base point of the elliptic curve over a finite field to obtain the initial position point. It is understood that if the truncated intermediate hash value is still greater than the order of the base point of the elliptic curve, further truncating processing can be performed until a value less than the order of the base point of the elliptic curve is obtained, and the value is multiplied by the base point of the elliptic curve over a finite field to obtain the initial position point.

[0106] In one embodiment, the above method also includes: when the initial hash value is greater than the order of the base point of the elliptic curve, obtaining an alternative hash function, re-hashing the first business object identifier through the alternative hash function to obtain an alternative hash value, and multiplying the alternative hash value and the base point of the elliptic curve on a finite field to obtain an initial position point.

[0107] Specifically, when the first business party device compares and obtains an initial hash value that is greater than the order of the base point of the elliptic curve, it can reselect a hash function for calculation to obtain an alternative hash value. If the alternative hash value is less than the order of the base point of the elliptic curve, the alternative hash value is multiplied by the base point of the elliptic curve over a finite field to obtain the initial position point. It is understood that in some embodiments, if the alternative hash value is still greater than the order of the base point of the elliptic curve, the alternative hash value can be truncated until a value less than the order of the base point of the elliptic curve is obtained, and the value is multiplied by the base point of the elliptic curve over a finite field to obtain the initial position point.

[0108] In the above embodiment, by performing a hash calculation on the first business object identifier and then mapping it to the elliptic curve, the irreversibility of the hash function can further ensure that the first business object identifier is not leaked. At the same time, during the mapping process, by comparing the initial hash value and the order of the base point of the elliptic curve, it is ensured that the value used in the mapping is smaller than the order of the base point of the elliptic curve, thereby ensuring that the obtained comparison result can correctly indicate whether the two object identifiers are the same.

[0109] In one embodiment, the location indication information of the updated location point is sent to the second business party device, so that the second business party device obtains the updated location point based on the location indication information, and encrypts the updated location point based on a preset private key to obtain a first encrypted location point corresponding to the first business object identifier, including: sending the horizontal coordinates and vertical coordinates corresponding to the updated location point to the second business party device, so that the second business party device obtains the updated location point based on the horizontal coordinates and the vertical coordinates, and encrypts the updated location point based on the preset private key to obtain the first encrypted location point corresponding to the first business object identifier.

[0110] Specifically, after the first business party device sends the horizontal coordinates and vertical coordinates corresponding to the updated position point to the second business party device, the second business party device can obtain the updated position point based on the horizontal coordinates and vertical coordinates. The second business party device can then multiply the preset private key and the updated position point on the finite field of the elliptic curve to encrypt the updated position point and obtain the first encrypted position point. The obtained first encrypted position point is still a point on the elliptic curve.

[0111] In the above embodiment, after obtaining the updated location point, the first business party device can send both the horizontal coordinate and the vertical coordinate of the updated location point to the second business party device, so that the second business party device can quickly obtain the updated location point, thereby improving the business data processing efficiency.

[0112] In one embodiment, a target location point corresponding to a first business object identifier and a preset noise adding method is determined based on a first encrypted location point, including: receiving the horizontal coordinate corresponding to the first encrypted location point sent by a second business party device; calculating the vertical coordinate corresponding to the first location point based on an elliptic curve; when the vertical coordinate indicates that its corresponding location point is below the horizontal coordinate axis, calculating the absolute difference between the vertical coordinate and the modulus of the elliptic curve, and determining the absolute difference as the target vertical coordinate; determining the first encrypted location point based on the horizontal coordinate and the target vertical coordinate.

[0113] Specifically, for the first business party device, the elliptic curve is known. Then, after receiving the horizontal coordinate corresponding to the first encrypted position point, the first business party device can calculate the corresponding vertical coordinate based on the elliptic curve. Since the elliptic curve is symmetric about the x-axis, in order to ensure that the first encrypted coordinate position point obtained by the first business party device and the second business party device is consistent, the first business party device and the second business party device can further agree that when the calculated vertical coordinate representation determines that its corresponding position point is below the horizontal coordinate axis, the absolute difference between the vertical coordinate and the modulus of the elliptic curve can be further calculated, and the absolute difference is determined as the target vertical coordinate. Finally, the first encrypted position point is determined based on the received horizontal coordinate and the target vertical coordinate. The absolute difference refers to the absolute value of the difference between the vertical coordinate and the modulus of the preset elliptic curve.

[0114] In a specific embodiment, for example, it can be agreed that if y>q / 2, then y=q–y, where q is the modulus of the preset elliptic curve.

[0115] In the above embodiment, on the one hand, by sending only the horizontal coordinate and having the first business party device calculate the corresponding vertical coordinate, network overhead can be greatly saved. On the other hand, when the vertical coordinate representation determines that its corresponding position point is below the horizontal coordinate axis, the absolute difference between the vertical coordinate and the modulus of the elliptic curve is calculated, and the absolute difference is determined as the target vertical coordinate. This can ensure that the first encrypted position point obtained by the first business party device and the second business party device is the same position point, thereby ensuring the accuracy of business data processing.

[0116] In one embodiment, the initial position point is mapped according to a preset mapping method; based on the target position point, the comparison result between the first business object identifier set and the second business object identifier stored by the second business party device is determined, including: obtaining the position indication information of the second encrypted position point corresponding to the second business object identifier to be compared; obtaining the second encrypted position point based on the position indication information of the second encrypted position point, and determining the comparison result between the first business object identifier set and the second business object identifier to be compared based on the target position point and the second encrypted position point; the second encrypted position point is obtained by the second business party device encrypting the second target position point corresponding to the second business object identifier to be compared using a preset private key; the second target position point is obtained by the second business party device mapping the second business object identifier to be compared to a preset elliptic curve according to the preset mapping method.

[0117] The second business object identifier to be compared refers to the second business object identifier that needs to be compared, and is the business object identifier stored in the second business party device.

[0118] Specifically, since the first business party device stores the target location point corresponding to the first business object identifier, and the target location point is obtained based on the encrypted location point, when performing a comparison, the second business party device can map the second business object identifier to be compared to the aforementioned elliptic curve in the same mapping method as the first business object identifier to obtain a second target location point, further encrypt the second target location point with a private key to obtain a second encrypted location point, and send the location indication information of the second encrypted location point to the first business party device. The first business party device obtains the second encrypted location point based on the location indication information of the second encrypted location point, so that the comparison result between the first business object identifier set and the second business object identifier to be compared can be determined based on the target location point and the second encrypted location point.

[0119] It should be noted that, in one embodiment, in order to ensure correct comparison, the above-mentioned same mapping method includes: when the calculation result obtained by the first operation is greater than the order n of the base point of the elliptic curve, the two parties agree to use the same interception method for interception.

[0120] In one embodiment, the target location point is subjected to noise removal, and the obtained target location point is equivalent to the initial location point encrypted by the private key of the second business party device, that is, k*M_A. The second business party device can encrypt the second business object identifier by the private key k, that is, calculate k*M_B, where M_A and M_B are obtained by mapping the business object identifier to the above-mentioned elliptic curve through the same mapping method. The first business party device can compare the first business object identifier corresponding to M_A and the second business object identifier corresponding to M_B by comparing the calculation results of k*M_A and the calculation results of k*M_B to determine whether the two are the same.

[0121] In another embodiment, the preset noise adding method is: r*s*G+M_A, and the target position point is obtained by directly storing the first encrypted position point, that is, r*G+k*M_A. Then, when the first business party device receives k*M_B sent by the second business party device, it can further calculate r*G+k*M_B for k*M_B. Then, the first business party device can compare the calculation result of r*G+k*M_A with the calculation result of r*G+k*M_A to compare the first business object identifier corresponding to M_A and the second business object identifier corresponding to M_B to determine whether the two are the same.

[0122] In another embodiment, the preset noise adding method is: the r*M_A target position point is obtained by directly storing the first encrypted position point, that is, k*r*M_A. Then, when the first business party device receives k*M_B sent by the second business party device, it can further calculate r*k*M_B for k*M_B. Then, the first business party device can compare the calculation results of k*r*M_A and r*k*M_B to compare the first business object identifier corresponding to M_A and the second business object identifier corresponding to M_B to determine whether the two are the same.

[0123] In the above embodiment, because the first business party device stores the target location corresponding to the first business object identifier, after obtaining the second encrypted location, it can quickly determine the comparison result between the first business object identifier set and the second business object identifier to be compared. This can significantly reduce communication overhead, especially in scenarios where the first business party device has a small number of business identifiers. In other words, the present embodiment has high interaction efficiency in unbalanced scenarios.

[0124] The present application also provides an application scenario, which applies the above-mentioned business data processing method. In this application scenario, the solution provided by the embodiments of the present application aims to implement Private Set Intersection (PSI), that is, the first business party device and the second business party device jointly calculate the intersection of the user identifiers (i.e., user IDs, hereinafter referred to as IDs) they own, and any information outside the intersection cannot be leaked, so as to facilitate training machine learning models for various business scenarios through federated learning in the subsequent stage.

[0125] As Figure 4 shown, it is a schematic diagram of the process of private set intersection. Referring to Figure 4 , assume that the user identifiers owned by the first business party device are {U1, U2, U4, U6, U7}, and the user identifiers owned by the second business party device are {U1, U2, U3, U5, U7}, then the intersection of the user identifiers obtained by joint calculation is {U1, U2, U7}.

[0126] In the prior art, the underlying algorithms for private set intersection are all RSA asymmetric encryption algorithms. The main disadvantage of the RSA asymmetric encryption algorithm is that the key length is very long. As Figure 5 shown in the example, for encryption algorithms with the same security level, the key length required by the RSA encryption algorithm is much larger than the key length required by the encryption algorithm based on elliptic curves. A larger key length will bring greater ciphertext expansion, significantly increase the computing and communication overhead, and affect the computing and communication efficiency of the actual privacy calculation process.

[0127] The embodiments of the present application are based on elliptic curve cryptography, and the key length used is significantly reduced compared with the RSA solution, which can effectively reduce the computing and communication overhead. As Figure 6 shown, it is a schematic diagram of the specific process of the embodiments of the present application. Referring to Figure 6 , the specific steps are as follows:

[0128] 1. The second business party device generates a private key and a public key, and sends the public key to the first business party device.

[0129] The second business party device randomly selects a large positive integer k, satisfying k < n, as the private key, and calculates the modular inverse s of the private key with respect to the order n of the elliptic curve, that is, calculates s, satisfying k * s % n = 1. Here, n is the order of the base point G, that is, satisfying n * G = O (here O represents the zero point of the elliptic curve, also called the infinite point). It should be noted that only the second business party device knows the private key k and the corresponding modular inverse s.

[0130] The second service provider device calculates the public key P = s * G and sends it to the first service provider device. Here, the public key P is also a point on the elliptic curve E(q, a, b, G, n, h), i.e., a public key location point. The elliptic curve E(q, a, b, G, n, h) and its corresponding parameters are known in advance by both the first and second service provider devices (e.g., publicly available information, agreed upon information, or information sent by one party to the other).

[0131] In one embodiment, the second service provider device directly sends the public key location point P to the first service provider device. Point P consists of two coordinates: an X-coordinate and a Y-coordinate, denoted as (x_P, y_P). The second service provider device can directly send the coordinates (x_P, y_P) of point P to the first service provider device. After receiving (x_P, y_P), the first service provider device obtains the public key point P.

[0132] In another embodiment, the second service provider device can send only the X-coordinate of point P, i.e., x_P, to the first service provider device. After receiving x_P, the first service provider device calculates y_P according to the elliptic curve formula. To ensure that the first and second service provider devices obtain consistent information, the first and second service provider devices can further agree that if y_P > q / 2, then y_P = q - y_P.

[0133] 2. The first service party device sends the user identification information with the noise signal added to it to the second service party device.

[0134] For a user identifier owned by the first service party device, such as id_A, the first service party device first calculates its hash value H(id_A). This can be done using the SHA256 hash function or the MD5 hash function, ensuring that the calculated hash value is less than n. The first service party device calculates M_A = H(id_A) * G. This means that the first service party device maps id_A to an initial point M_A on the elliptic curve E(q, a, b, G, n, h).

[0135] The first business party device generates a random number r, calculates and updates the position point Q = r*P + M_A = r*s*G + M_A, and sends it to the second business party device. The first business party device can directly send the X-coordinate and Y-coordinate of point Q to the second business party device. Alternatively, the first business party device can only send the X-coordinate of point Q to the second business party device, and the second business party device can then calculate the corresponding Y-coordinate based on the X-coordinate of point Q. To improve efficiency, the first business party device can process multiple IDs at a time (i.e., a batch of IDs, for example, 1 million).

[0136] 3. The second service party device encrypts the updated location point Q.

[0137] The second business party device uses its private key k to encrypt the updated location point Q, that is, calculates the first encrypted location point V = k*Q = k*r*P+k*H(id_A)*G = k*r*s*G+k*H(id_A)*G = r*k*s*G+k*H(id_A)*G = r*G+k*H(id_A)*G.

[0138] The second business party device sends the first encrypted location point V to the first business party device. The second business party device can directly send the X-coordinate and Y-coordinate of point V to the first business party device, or the second business party device can only send the X-coordinate of point V to the first business party device, and the first business party device can then calculate the corresponding Y-coordinate based on the X-coordinate of point V.

[0139] 4. The first business party's device removes noise and obtains the encrypted result, which is the target location point k*H(id_A)*G.

[0140] The first service provider device calculates the noise location r*G and the target location k*H(id_A)*G = V – r*G. The first service provider device processes all its IDs through steps 2 and 3 above. It then stores the target location points corresponding to all IDs (e.g., {id_A_1, id_A_2, …, id_A_L}) into a set Φ, Φ = {k*H(id_A_1)*G, k*H(id_A_2)*G, …, k*H(id_A_L)*G}, for subsequent queries. The first service provider device can then serve as a query server for intersection of private sets, providing query services. The second service provider device or other service provider devices can initiate query services to the first service provider device.

[0141] When the second business party device wishes to query whether a certain ID, such as id_B_1, is in the ID set of the first business party device, the second business party device can first calculate M_B = H(id_B_1)*G. That is, the second business party device maps id_B_1 to the second target location point M_B on the elliptic curve E(q, a, b, G, n, h), thereby obtaining M_B = H(id_B_1)*G. It then calculates the second encrypted location point using k*H(id_B_1)*G and sends it to the first business party device. After receiving k*H(id_B_1)*G, the first business party device compares it with the set Φ owned by the first business party device. If k*H(id_B_1)*G is in the set Φ, the first business party device feeds back the first comparison result to the second business party device, indicating that id_B_1 is in the intersection. If k*H(id_B_1)*G is not in the set Φ, the first business party device feeds back the second comparison result to the second business party device. The second comparison result indicates that id_B_1 is not in the intersection set. Further, the first business party device may choose to add k*H(id_B_1)*G to the set Φ.

[0142] When the first and second business devices need to calculate the intersection of a batch of IDs, for example, the intersection of 1 million IDs on the first device and 100 million IDs on the second device, the second device can calculate k*H(id_B)*G for each of these IDs and send all the results to the first device, which then calculates the intersection. The first device obtains a batch of IDs through steps 2 and 3, such as {id_A_1, id_A_2, …, id_A_L}, and the corresponding target locations, namely, the set Φ = {k*H(id_A_1)*G, k*H(id_A_2)*G, …, k*H(id_A_L)*G}. After receiving the set Ω = {k*H(id_B_1)*G, k*H(id_B_2)*G, …, k*H(id_A_J)*G} from the second business device, the first business device can compare the two sets to determine the intersection of set Φ and set Ω. The first business device can then send the calculated intersection to the second business device.

[0143] In the above embodiment, the scheme based on elliptic curve cryptography can use a shorter key length, which can effectively reduce computing and communication overheads, and due to the addition and removal of noise, it can ensure that no information other than the intersection is leaked. In addition, for the scenario where the first business party device has fewer IDs, the communication overhead can be significantly reduced, that is, the interaction efficiency is higher in unbalanced scenarios.

[0144] In one embodiment, Figure 7As shown, a model training method is provided, which is applied to Figure 1 The second service party device in the example is used as an example to illustrate the process, including the following steps:

[0145] Step 702: Receive a first encrypted prediction result sent by a first business party device; the first encrypted prediction result is obtained by homomorphically encrypting the first initial prediction result by the first business party device; the first initial prediction result is obtained by the first business party device inputting a first training data set into a first initial prediction sub-model for prediction; the first training data set is a data set corresponding to an object identifier intersection. The object identifier intersection is obtained by the first business party device comparing a first business object identifier set and a second business object identifier set stored therein based on a target location point; the target location point is a location point determined by the first business party device based on the first encrypted location point after obtaining the first encrypted location point, and corresponds to the first business object identifier in the first business object identifier set and a preset noise addition method; the first encrypted location point is a location point obtained by encrypting an updated location point based on a preset private key and corresponding to the first business object identifier; the updated location point is obtained based on the location indication information sent by the first business party device; the updated location point is obtained by the first business party device adding noise to the initial location point according to a preset noise addition method; and the initial location point is obtained by the first business party device mapping the first business object identifier onto a preset elliptic curve.

[0146] Among them, the first training data set refers to the data set used in the first business party device to participate in the training of the prediction model and corresponding to the intersection of the object identifier. The first training data set is a part of the data used by the prediction model during training. The first initial prediction sub-model refers to the prediction sub-model with initialized model parameters, and the prediction sub-model is part of the prediction model. Each business party device has a corresponding initial prediction sub-model, which can be, for example, a model established using a linear regression algorithm. The first initial prediction result refers to the result obtained by prediction using the initial prediction sub-model. The first encrypted prediction result refers to the first initial prediction result after homomorphic encryption. The second business object identifier set is a set composed of object identifiers stored by the second business party device.

[0147] Specifically, for the business object identifier in the intersection of object identifiers, the first business party device can obtain the first training data set from the database, and then input the first training data set into the first initial prediction sub-model for prediction to obtain a first initial prediction result, that is, the intermediate result of the model training, and then use the homomorphic encryption algorithm to homomorphically encrypt the first initial prediction result to obtain a first encrypted prediction result, and send the first encrypted prediction result to the second business party device.

[0148] Step 704 : Obtain a second training data set and training label information corresponding to the intersection of the object identifiers. The training label information is label information corresponding to the first training data set and the second training data set.

[0149] Step 706: Input the second training data set into the second initial sub-model for calculation to obtain a second initial prediction result, homomorphically encrypt the second initial prediction result to obtain a second encrypted prediction result, perform parameter calculation based on the first encrypted prediction result, the second encrypted prediction result and the training label information to obtain model adjustment parameters, return the model adjustment parameters to the first business party device, and use the model adjustment parameters to adjust the second initial prediction sub-model.

[0150] The second training data set refers to the set of training data corresponding to the intersection of the object identifiers to be used in the second business party device when training the prediction model. The second training data set and the first training data set serve as the complete training data for training the prediction model. The training label information is the label information corresponding to the second training data set and the first training data set. The training label is data that does not exist in the first business party device and is data stored in the second business party device. The training label is used to identify the true prediction result corresponding to the training data. The second initial prediction result refers to the prediction result obtained by predicting the second training data using the second initial prediction sub-model. The second initial prediction sub-model refers to the prediction sub-model with the model parameters initialized in the second business party device. The model adjustment parameter is a parameter used to adjust the model parameters, which can be gradient information.

[0151] Specifically, after receiving the first encrypted prediction result, the second business party device obtains the second training data set and training label information corresponding to the intersection of the object identifiers, inputs the second training data set into the second initial sub-model for prediction, obtains a second initial prediction result, and homomorphically encrypts the second initial prediction result to obtain a second encrypted prediction result. The second business party device homomorphically encrypts the training label information to obtain training encrypted label information, then calculates the error between the second encrypted prediction result and the first encrypted prediction result and the training encrypted label information, and calculates the model adjustment parameters based on the error. The model adjustment parameters are then returned to the first business party device, and the model adjustment parameters are used to adjust the model parameters in the second initial prediction sub-model.

[0152] After the first business party device obtains the model adjustment parameters returned by the second business party device, it uses the model adjustment parameters to update the model parameters in the first initial prediction sub-model, obtaining a first updated prediction sub-model. The first updated prediction sub-model is used as the first initial prediction sub-model, and the process returns to the step of inputting the first training dataset into the first initial prediction sub-model for prediction. The process continues until the model adjustment parameters meet the training completion condition. The first updated prediction sub-model that meets the training completion condition is then used as the first target prediction sub-model. The first target prediction sub-model is used to predict the input data and obtain a first prediction result. The training completion condition for the prediction model meeting the training completion condition may include the model adjustment parameters being no greater than a preset threshold or the number of training iterations reaching a maximum number of iterations. The first target prediction sub-model refers to the trained prediction sub-model. When the training completion condition is met, the second business party device obtains the second target prediction sub-model. The second target prediction sub-model and the first target prediction sub-model jointly complete the prediction of the input data and obtain the final prediction result. Input data refers to the data for which prediction results are to be obtained. For example, it can be user financial data used to predict the user's financial risk level, or category data used to predict the category corresponding to the category data.

[0153] During the specific prediction process, the first business party device can input the data to be predicted into the first target prediction sub-model to obtain the first prediction sub-result, then homomorphically encrypt the first prediction sub-result to obtain the encrypted first prediction sub-result, and then transmit the encrypted first prediction sub-result to the second business party device through model prediction. The second business party device receives the encrypted first prediction sub-result, predicts the data to be predicted using the second target prediction sub-model in the second business party device, and obtains the second prediction sub-result. The second prediction sub-result is then homomorphically encrypted to obtain the encrypted second prediction sub-result, and then a homomorphic operation is performed based on the encrypted second prediction sub-result and the encrypted first prediction sub-result to obtain the model prediction result, which is used to represent the final prediction result of the data to be predicted. The second business party device can return the model prediction result to the first business party device.

[0154] The above model training method, since the business object identifier is encrypted based on elliptic curve cryptography in the process of determining the intersection of object identifiers, can use a shorter key, effectively reducing the computing and communication overhead, thereby improving the model training efficiency.

[0155] It should be understood that although Figure 2-7 The steps in the flowchart are shown in sequence as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified in this document, there is no strict order restriction for the execution of these steps, and these steps can be executed in other orders. In addition, Figure 2-7 At least part of the steps may include multiple steps or multiple stages. These steps or stages are not necessarily performed at the same time, but can be performed at different times. The order of execution of these steps or stages is not necessarily one by one, but can be performed in turn or alternately with other steps or at least part of the steps or stages in other steps.

[0156] In one embodiment, Figure 8 As shown, a business data processing device 800 is provided. The device can be a software module or a hardware module, or a combination of the two to form a part of a computer device. The device specifically includes:

[0157] The identifier mapping module 802 is configured to obtain a first business object identifier from the first business object identifier set, map the first business object identifier to a preset elliptic curve, and obtain an initial position point;

[0158] A noise adding module 804 is configured to add noise to the initial position point according to a preset noise adding method to obtain an updated position point corresponding to the first business object identifier;

[0159] The location information sending module 806 is configured to send the location indication information of the updated location point to the second business party device, so that the second business party device obtains the updated location point based on the location indication information, and encrypts the updated location point based on a preset private key to obtain a first encrypted location point corresponding to the first business object identifier;

[0160] A target location point determination module 808 is configured to determine, after obtaining the first encrypted location point, a target location point corresponding to the first business object identifier and a preset noise adding method based on the first encrypted location point;

[0161] The identifier comparison module 810 is used to determine the comparison result between the first business object identifier set and the second business object identifier stored in the second business party device based on the target location point, and perform business processing based on the comparison result.

[0162] The above-described service data processing device implements encryption of service object identifiers based on elliptic curve cryptography. Because elliptic curve cryptography allows for shorter key lengths, it can effectively reduce computational and communication overhead, improving service data processing efficiency. Furthermore, because noise is added when data is sent to the second service party's device, information leakage can be further prevented.

[0163] In one embodiment, the noise adding module is also used to obtain a random number, add the random number to the initial position point according to a preset noise adding method, and obtain an updated position point corresponding to the first business object identifier; the target position point determination module is also used to remove noise from the first encrypted position point based on the random number and according to a noise removal method corresponding to the preset noise adding method, and obtain a target position point corresponding to the first business object identifier.

[0164] In one embodiment, the private key is a pre-selected target positive integer; the first encryption position point is obtained by the second business party device multiplying the private key and the update position point corresponding to the first business object identifier on a finite field of the elliptic curve; the noise adding module is also used to multiply the random number and the public key position point corresponding to the private key on a finite field to obtain a noise position point mapped to the elliptic curve; the public key position point is obtained by multiplying the target modular inverse corresponding to the private key and the base point of the elliptic curve on a finite field; the target modular inverse corresponding to the private key is the modular inverse of the order of the private key relative to the base point of the elliptic curve; based on the noise position point and the initial position point, the update position point corresponding to the first business object identifier is obtained.

[0165] In one embodiment, the noise adding module is further used to add the noise position point and the initial position point on a finite field to obtain an updated position point corresponding to the first business object identifier; the target position point determining module is further used to map the random number to the elliptic curve through the base point of the elliptic curve to obtain a noise cancellation point, and add the first encrypted position point and the negative element of the noise cancellation point on a finite field to remove noise from the first encrypted position point to obtain a target position point corresponding to the first business object identifier.

[0166] In one embodiment, the noise adding module is further used to add the negative element of the noise position point to the initial position point on a finite field to obtain an updated position point corresponding to the first business object identifier; the target position point determining module is further used to map the random number to the elliptic curve through the base point of the elliptic curve to obtain a noise cancellation point, and add the first encrypted position point to the noise cancellation point on a finite field to remove noise from the first encrypted position point to obtain a target position point corresponding to the first business object identifier.

[0167] In one embodiment, the noise adding module is further used to multiply the random number and the initial position point on the finite field of the elliptic curve to obtain the updated position point corresponding to the first business object identifier; the target position point determination module is further used to calculate the modular inverse of the random number based on the order of the base point of the elliptic curve; and multiply the modular inverse and the first encrypted position point on the finite field to remove noise from the first encrypted mapping point to obtain the target position point corresponding to the first business object identifier.

[0168] In one embodiment, the identification mapping module is also used to obtain an initial hash function, and hash the first business object identifier through the initial hash function to obtain an initial hash value. When the initial hash value is less than the order of the base point of the elliptic curve, the initial hash value and the base point of the elliptic curve are multiplied on the finite field of the elliptic curve to obtain an initial position point.

[0169] In one embodiment, the identification mapping module is further used to intercept the initial hash value when the initial hash value is greater than the order of the base point of the elliptic curve to obtain an intermediate hash value, and multiply the intermediate hash value and the base point of the elliptic curve over a finite field to obtain an initial position point.

[0170] In one embodiment, the identification mapping module is also used to obtain an alternative hash function when the initial hash value is greater than the order of the base point of the elliptic curve, re-hash the first business object identifier through the alternative hash function to obtain an alternative hash value, and multiply the alternative hash value and the base point of the elliptic curve on a finite field to obtain an initial position point.

[0171] In one embodiment, the location information sending module is also used to send the horizontal coordinates and vertical coordinates corresponding to the updated location point to the second business party device, so that the second business party device obtains the updated location point based on the horizontal coordinates and vertical coordinates, and encrypts the updated location point based on a preset private key to obtain a first encrypted location point corresponding to the first business object identifier.

[0172] In one embodiment, the target location point determination module is also used to receive the horizontal coordinate corresponding to the first encrypted location point sent by the second business party device; calculate the vertical coordinate corresponding to the first location point based on the elliptic curve; when the vertical coordinate indicates that its corresponding location point is below the horizontal coordinate axis, calculate the absolute difference between the vertical coordinate and the modulus of the elliptic curve, and determine the absolute difference as the target vertical coordinate; determine the first encrypted location point based on the horizontal coordinate and the target vertical coordinate.

[0173] In one embodiment, the initial position point is mapped according to a preset mapping method; the identifier comparison module is also used to obtain the position indication information of the second encrypted position point corresponding to the second business object identifier to be compared; the second encrypted position point is obtained based on the position indication information of the second encrypted position point, and the comparison result between the first business object identifier set and the second business object identifier to be compared is determined based on the target position point and the second encrypted position point; the second encrypted position point is obtained by the second business party device encrypting the second target position point corresponding to the second business object identifier to be compared using a preset private key; the second target position point is obtained by the second business party device mapping the second business object identifier to be compared to a preset elliptic curve according to the preset mapping method.

[0174] In one embodiment, Figure 9 As shown, a model training device 900 is provided. The device can be a software module or a hardware module, or a combination of the two to form a part of a computer device. The device specifically includes:

[0175] The prediction result receiving module 902 is used to receive a first encrypted prediction result sent by a first business party device; the first encrypted prediction result is obtained by the first business party device performing homomorphic encryption on the first initial prediction result; the first initial prediction result is obtained by the first business party device inputting a first training data set into a first initial prediction sub-model for prediction; the first training data set is a data set corresponding to the intersection of object identifiers; the object identifier intersection is obtained by the first business party device comparing the first business object identifier set and the second business object identifier set stored therein based on a target location point; the target location point is a location point determined by the first business party device based on the first encrypted location point after obtaining the first encrypted location point and corresponding to the first business object identifier in the first business object identifier set and a preset noise addition method; the first encrypted location point is a location point obtained by encrypting the updated location point based on a preset private key and corresponding to the first business object identifier; the updated location point is obtained based on the location indication information sent by the first business party device; the updated location point is obtained by the first business party device adding noise to the initial location point according to the preset noise addition method; the initial location point is obtained by the first business party device mapping the first business object identifier to a preset elliptic curve;

[0176] A training data acquisition module 904 is configured to acquire a second training data set and training label information corresponding to the intersection of the object identifiers, where the training label information is label information corresponding to the first training data set and the second training data set;

[0177] The parameter adjustment module 906 is used to input the second training data set into the second initial sub-model for prediction to obtain a second initial prediction result, homomorphically encrypt the second initial prediction result to obtain a second encrypted prediction result, perform parameter calculation based on the first encrypted prediction result, the second encrypted prediction result and the training label information to obtain model adjustment parameters, return the model adjustment parameters to the first business party device, and use the model adjustment parameters to adjust the second initial prediction sub-model.

[0178] The above-mentioned model training device encrypts the business object identifier based on elliptic curve cryptography in the process of determining the intersection of object identifiers, so it can use a shorter key, effectively reducing the computing and communication overhead, thereby improving the model training efficiency.

[0179] For the specific limitations of the business data processing device or the model training device, please refer to the limitations of the business data processing method and the model training method above, which will not be repeated here. The various modules in the above-mentioned business data processing device or model training device can be implemented in whole or in part by software, hardware, and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.

[0180] In one embodiment, a computer device is provided. The computer device may be a first business party device or a second business party device. The internal structure diagram thereof may be as follows: Figure 10 As shown. The computer device includes a processor, a memory, and a network interface connected via a system bus. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The network interface of the computer device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, a business data processing method or a model training method is implemented.

[0181] Those skilled in the art will understand that Figure 10 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0182] In one embodiment, a computer device is further provided, including a memory and a processor. The memory stores a computer program, and the processor implements the steps in the above method embodiments when executing the computer program.

[0183] In one embodiment, a computer-readable storage medium is provided, storing a computer program, which implements the steps in the above-mentioned method embodiments when executed by a processor.

[0184] In one embodiment, a computer program product or computer program is provided, the computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the steps of each of the above-described method embodiments.

[0185] Those skilled in the art will appreciate that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, database or other media used in the embodiments provided in this application may include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory may include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in the various embodiments provided herein may include at least one of a relational database and a non-relational database. Non-relational databases may include, but are not limited to, distributed databases based on blockchains. The processor involved in the various embodiments provided herein may be, but are not limited to, a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic unit, a data processing logic unit based on quantum computing, and the like.

[0186] The technical features of the above embodiments can be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0187] The above-described embodiments merely represent several implementation methods of the present application. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present application. It should be noted that a person of ordinary skill in the art may make various modifications and improvements without departing from the spirit of the present application, and these modifications and improvements fall within the scope of protection of the present application. Therefore, the scope of protection of the present application shall be determined by the appended claims.

Claims

1. A business data processing method, characterized in that: Applied to a first business party device storing a first business object identifier set, the method includes: Obtaining a first business object identifier from the first business object identifier set, and mapping the first business object identifier to a preset elliptic curve to obtain an initial position point; Obtain a random number, multiply the random number by the public key position point of the second business party device over a finite field to obtain a noise position point mapped to the elliptic curve; obtain an updated position point corresponding to the first business object identifier based on the noise position point and the initial position point; the public key position point is obtained by multiplying a target modular inverse corresponding to the private key of the second business party device by the base point of the elliptic curve over the finite field; the target modular inverse corresponding to the private key is the modular inverse of the order of the private key relative to the base point of the elliptic curve; Sending the location indication information of the updated location point to the second business party device, so that the second business party device obtains the updated location point based on the location indication information, and multiplies the private key and the updated location point over the finite field of the elliptic curve to obtain a first encrypted location point; After obtaining the first encrypted position point, performing noise removal on the first encrypted position point based on the random number to obtain a target position point corresponding to the first business object identifier; Based on the target location point, a comparison result between the first business object identifier set and the second business object identifier stored in the second business party device is determined, and business processing is performed based on the comparison result.

2. The method according to claim 1, characterized in that The private key is a pre-selected target positive integer.

3. The method according to claim 1, characterized in that The obtaining, based on the noise position point and the initial position point, an updated position point corresponding to the first service object identifier includes: Adding the noise position point and the initial position point over the finite field to obtain an updated position point corresponding to the first business object identifier; The performing noise removal on the first encrypted position point based on the random number to obtain a target position point corresponding to the first business object identifier includes: Mapping the random number onto the elliptic curve through the base point of the elliptic curve to obtain a noise cancellation point; The first encrypted position point and the negative element of the noise cancellation point are added over the finite field to remove noise from the first encrypted position point, thereby obtaining a target position point corresponding to the first business object identifier.

4. The method according to claim 1, wherein The obtaining, based on the noise position point and the initial position point, an updated position point corresponding to the first service object identifier includes: Adding the negative element of the noise position point to the initial position point over the finite field to obtain an updated position point corresponding to the first business object identifier; The performing noise removal on the first encrypted position point based on the random number to obtain a target position point corresponding to the first business object identifier includes: Mapping the random number onto the elliptic curve through the base point of the elliptic curve to obtain a noise cancellation point; The first encrypted position point and the noise cancellation point are added in the finite field to remove noise from the first encrypted position point, thereby obtaining a target position point corresponding to the first business object identifier.

5. The method according to claim 1, wherein Mapping the first business object identifier onto a preset elliptic curve to obtain an initial position point includes: Obtaining an initial hash function, and performing a hash calculation on the first business object identifier using the initial hash function to obtain an initial hash value; When the initial hash value is smaller than the order of the base point of the elliptic curve, the initial position point is obtained by multiplying the initial hash value and the base point of the elliptic curve over a finite field of the elliptic curve.

6. The method according to claim 5, characterized in that The method further comprises: When the initial hash value is greater than the order of the base point of the elliptic curve, the initial hash value is intercepted to obtain an intermediate hash value, and the intermediate hash value is multiplied by the base point of the elliptic curve over the finite field to obtain the initial position point; or When the initial hash value is greater than the order of the base point of the elliptic curve, an alternative hash function is obtained, and the first business object identifier is re-hashed using the alternative hash function to obtain an alternative hash value, and the alternative hash value and the base point of the elliptic curve are multiplied on the finite field to obtain the initial position point.

7. The method according to claim 1, characterized in that The sending the location indication information of the updated location point to the second business party device so that the second business party device obtains the updated location point based on the location indication information, and encrypting the updated location point based on a preset private key to obtain a first encrypted location point corresponding to the first business object identifier includes: The horizontal coordinates and vertical coordinates corresponding to the updated position point are sent to the second business party device, so that the second business party device obtains the updated position point based on the horizontal coordinates and the vertical coordinates, and encrypts the updated position point based on a preset private key to obtain a first encrypted position point corresponding to the first business object identifier.

8. The method according to claim 1, characterized in that The method further comprises: receiving the horizontal coordinates corresponding to the first encrypted location point sent by the second service party device; Calculating the vertical coordinate corresponding to the first encrypted position point based on the elliptic curve; When the vertical coordinate indicates that the corresponding position point is below the horizontal coordinate axis, calculating an absolute difference between the vertical coordinate and the modulus of the elliptic curve, and determining the absolute difference as a target vertical coordinate; The first encrypted location point is determined based on the horizontal coordinate and the target vertical coordinate.

9. The method according to claim 1, characterized in that The initial location point is obtained by mapping according to a preset mapping method; and determining, based on the target location point, a comparison result between the first business object identifier set and the second business object identifier stored in the second business party device includes: Obtaining position indication information of a second encrypted position point corresponding to the second business object identifier to be compared; obtaining the second encrypted location point based on the location indication information of the second encrypted location point, and determining a comparison result between the first business object identifier set and the second business object identifier to be compared based on the target location point and the second encrypted location point; The second encrypted position point is obtained by the second business party device encrypting the second target position point corresponding to the second business object identifier to be compared using a preset private key; the second target position point is obtained by the second business party device mapping the second business object identifier to be compared to a preset elliptic curve according to the preset mapping method.

10. A model training method, characterized in that: Applied to a second business party device storing a second business object identifier set, the method includes: Receiving a first encrypted prediction result sent by a first business party device; the first encrypted prediction result is obtained by the first business party device performing homomorphic encryption on the first initial prediction result; the first initial prediction result is obtained by the first business party device inputting a first training data set into a first initial prediction sub-model for prediction; the first training data set is a data set corresponding to the intersection of object identifiers; The object identifier intersection is obtained by comparing the first business object identifier set and the second business object identifier set stored by the first business party device based on the target location point; the target location point is the location point corresponding to the first business object identifier obtained by the first business party device after obtaining the first encrypted location point and removing the noise of the first encrypted location point based on a random number; the first encrypted location point is the location point corresponding to the first business object identifier obtained by multiplying the preset private key and the update location point on the finite field of the elliptic curve; the update location point is based on the location indication sent by the first business party device information; the updated position point is obtained by the first business party device based on the noise position point and the initial position point, and the noise position point is obtained by the first business party device by multiplying the random number and the public key position point of the second business party device on a finite field; the initial position point is obtained by the first business party device mapping the first business object identifier to the elliptic curve; the public key position point is obtained by multiplying the target modular inverse corresponding to the private key and the base point of the elliptic curve on the finite field; the target modular inverse corresponding to the private key is the modular inverse of the order of the private key relative to the base point of the elliptic curve; Obtaining a second training data set and training label information corresponding to the intersection of the object identifiers, where the training label information is label information corresponding to the first training data set and the second training data set; The second training data set is input into the second initial prediction sub-model for calculation to obtain a second initial prediction result, the second initial prediction result is homomorphically encrypted to obtain a second encrypted prediction result, parameter calculation is performed based on the first encrypted prediction result, the second encrypted prediction result and the training label information to obtain model adjustment parameters, the model adjustment parameters are returned to the first business party device, and the model adjustment parameters are used to adjust the second initial prediction sub-model.

11. A business data processing device, characterized in that: The device comprises: an identifier mapping module, configured to obtain a first business object identifier from a first business object identifier set, and map the first business object identifier to a preset elliptic curve to obtain an initial position point; a noise adding module, configured to obtain a random number, multiply the random number by the public key position point of the second business party device over a finite field to obtain a noise position point mapped to the elliptic curve; obtain an updated position point corresponding to the first business object identifier based on the noise position point and the initial position point; the public key position point is obtained by multiplying a target modular inverse corresponding to the private key of the second business party device by the base point of the elliptic curve over the finite field; the target modular inverse corresponding to the private key is the modular inverse of the order of the private key relative to the base point of the elliptic curve; a location information sending module, configured to send the location indication information of the updated location point to the second business party device, so that the second business party device obtains the updated location point based on the location indication information, and multiplies the private key by the updated location point over the finite field of the elliptic curve to obtain a first encrypted location point; a target location point determination module, configured to, after obtaining the first encrypted location point, remove noise from the first encrypted location point based on the random number to obtain a target location point corresponding to the first business object identifier; The identifier comparison module is used to determine the comparison result between the first business object identifier set and the second business object identifier stored in the second business party device based on the target location point, and perform business processing based on the comparison result.

12. The device according to claim 11, characterized in that The private key is a pre-selected target positive integer.

13. The device according to claim 11, characterized in that The noise adding module is further configured to: add the noise position point and the initial position point on the finite field to obtain an updated position point corresponding to the first business object identifier; and map the random number onto the elliptic curve using a base point of the elliptic curve to obtain a noise cancellation point; The first encrypted position point and the negative element of the noise cancellation point are added over the finite field to remove noise from the first encrypted position point, thereby obtaining a target position point corresponding to the first business object identifier.

14. The device according to claim 11, characterized in that The noise adding module is also used to: add the negative element of the noise position point and the initial position point on the finite field to obtain the updated position point corresponding to the first business object identifier; map the random number to the elliptic curve through the base point of the elliptic curve to obtain a noise cancellation point; add the first encrypted position point and the noise cancellation point on the finite field to remove noise from the first encrypted position point to obtain a target position point corresponding to the first business object identifier.

15. The device according to claim 11, characterized in that The identifier mapping module is further used to: obtain an initial hash function, perform a hash calculation on the first business object identifier using the initial hash function to obtain an initial hash value; when the initial hash value is less than the order of the base point of the elliptic curve, multiply the initial hash value and the base point of the elliptic curve over the finite field of the elliptic curve to obtain the initial position point.

16. The device according to claim 15, characterized in that The identifier mapping module is further used to: when the initial hash value is greater than the order of the base point of the elliptic curve, intercept the initial hash value to obtain an intermediate hash value, and multiply the intermediate hash value and the base point of the elliptic curve on the finite field to obtain the initial position point; or when the initial hash value is greater than the order of the base point of the elliptic curve, obtain an alternative hash function, re-hash the first business object identifier using the alternative hash function to obtain an alternative hash value, and multiply the alternative hash value and the base point of the elliptic curve on the finite field to obtain the initial position point.

17. The device according to claim 11, characterized in that The location information sending module is also used to: send the horizontal coordinates and vertical coordinates corresponding to the updated location point to the second business party device, so that the second business party device obtains the updated location point based on the horizontal coordinates and the vertical coordinates, and encrypts the updated location point based on a preset private key to obtain a first encrypted location point corresponding to the first business object identifier.

18. The device according to claim 11, characterized in that The target location point determination module is also used to: receive the horizontal coordinate corresponding to the first encrypted location point sent by the second business party device; calculate the vertical coordinate corresponding to the first encrypted location point based on the elliptic curve; when the vertical coordinate indicates that its corresponding location point is below the horizontal coordinate axis, calculate the absolute difference between the vertical coordinate and the modulus of the elliptic curve, and determine the absolute difference as the target vertical coordinate; determine the first encrypted location point based on the horizontal coordinate and the target vertical coordinate.

19. The device according to claim 11, characterized in that The initial location point is mapped according to a preset mapping method; the identifier comparison module is further used to: obtain location indication information of a second encrypted location point corresponding to a second business object identifier to be compared; obtain a second encrypted location point based on the location indication information of the second encrypted location point, and determine a comparison result between the first business object identifier set and the second business object identifier to be compared based on the target location point and the second encrypted location point; the second encrypted location point is obtained by encrypting the second target location point corresponding to the second business object identifier to be compared by the second business party device using a preset private key; The second target location point is obtained by the second business party device mapping the second business object identifier to be compared onto a preset elliptic curve according to the preset mapping method.

20. A model training device, characterized in that: The device comprises: A prediction result receiving module, configured to receive a first encrypted prediction result sent by a first business party device; the first encrypted prediction result is obtained by the first business party device performing homomorphic encryption on a first initial prediction result; the first initial prediction result is obtained by the first business party device inputting a first training data set into a first initial prediction sub-model for prediction; the first training data set is a data set corresponding to the intersection of object identifiers; The object identifier intersection is obtained by comparing the first business object identifier set and the second business object identifier set stored by the first business party device based on the target location point; the target location point is the location point corresponding to the first business object identifier obtained by the first business party device after obtaining the first encrypted location point and removing noise from the first encrypted location point based on a random number; the first encrypted location point is the location point corresponding to the first business object identifier obtained by multiplying the preset private key and the update location point on the finite field of the elliptic curve; the update location point is based on the location indication signal sent by the first business party device. information; the updated position point is obtained by the first business party device based on the noise position point and the initial position point, and the noise position point is obtained by the first business party device by multiplying the random number and the public key position point of the second business party device on a finite field; the initial position point is obtained by the first business party device mapping the first business object identifier to the elliptic curve; the public key position point is obtained by multiplying the target modular inverse corresponding to the private key and the base point of the elliptic curve on the finite field; the target modular inverse corresponding to the private key is the modular inverse of the order of the private key relative to the base point of the elliptic curve; A training data acquisition module, configured to acquire a second training data set and training label information corresponding to the intersection of the object identifiers, wherein the training label information is label information corresponding to the first training data set and the second training data set; A parameter adjustment module is used to input the second training data set into the second initial prediction sub-model for prediction to obtain a second initial prediction result, homomorphically encrypt the second initial prediction result to obtain a second encrypted prediction result, perform parameter calculation based on the first encrypted prediction result, the second encrypted prediction result and the training label information to obtain model adjustment parameters, return the model adjustment parameters to the first business party device, and use the model adjustment parameters to adjust the second initial prediction sub-model.

21. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 9 or 10 are implemented.

22. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 9 or 10 are implemented.

23. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 9 or 10 are implemented.

Citation Information

Patent Citations

  • Model training method, equipment and computer readable storage medium

    CN111784001A

  • Privacy set intersection method, device and system, and medium

    CN112003695A