Data processing method, system and device and storage medium

By splitting the private key through secret sharing and employing a multi-layered key sharding mechanism, the high security risks of data interaction between servers are resolved, ensuring the security and privacy of data during transmission and computation.

CN121308971APending Publication Date: 2026-01-09TRAVELSKY TECHNOLOGY LIMITED
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511427812.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-30
Publication Date
2026-01-09

AI Technical Summary

Technical Problem

In the civil aviation industry, data interaction between servers poses a high security risk. In particular, during the data encryption process, if the private key is stolen by external attackers, the decryption risk of all encrypted data in the cloud platform is difficult to guarantee.

Method used

The target private key is split into multiple client private key fragments and sub-private key fragments by secret sharing. The target data is then encrypted using the public key. After the target server performs aggregation calculations, the client restores the target private key based on the sub-private key fragments and the restored private key fragments for decryption. This multi-layer key sharding mechanism avoids single-point key leakage.

Benefits of technology

It effectively reduces the security risks of data interaction between servers, improves the security compatibility of multi-party collaboration, enhances the defense against internal attacks and malicious decryption, and ensures the privacy and integrity of data during transmission and computation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121308971A_ABST
    Figure CN121308971A_ABST
Patent Text Reader

Abstract

The invention discloses a data processing method, system and device and a storage medium. Relates to the field of data transmission, and the method comprises the steps: obtaining to-be-transmitted target data, and encrypting the target data through a public key to obtain encrypted data; sending the encrypted data to the target server; and under the condition that an encryption operation result fed back by the target server side is received, restoring a private key piece of the target client side based on sub private key pieces of a plurality of users associated with the target client side, and restoring a target private key based on the private key pieces restored by the plurality of client sides, the sub private key pieces are obtained by splitting a private key piece of the target client in a secret sharing mode, and the private key pieces of the multiple clients are obtained by splitting a target private key in the secret sharing mode; and decrypting the encryption operation result based on the target private key to obtain a decrypted operation result. Through the method and the device, the problem of high security risk of data interaction between servers in related technologies is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data transmission, and more specifically, to a data processing method, system, apparatus, and storage medium. Background Technology

[0002] In recent years, against the backdrop of rapid informatization and intelligentization in the civil aviation industry, the secure sharing and privacy protection of sensitive information such as flight scheduling, passenger data, and flight records have become key technological challenges. Currently, various enterprises in the civil aviation industry encrypt their data and upload it to a cloud platform for centralized storage, hoping to achieve joint computing and analysis of cross-enterprise data on this basis. During the data encryption process, each enterprise typically keeps its own private key. However, if any enterprise's private key is stolen by an external attacker, it may lead to the decryption of all encrypted data in the cloud platform, making it difficult to guarantee the overall data security. Therefore, related technologies suffer from high security risks in data interaction between servers.

[0003] There is currently no effective solution to the aforementioned problems in the relevant technologies. Summary of the Invention

[0004] The main objective of this application is to provide a data processing method, system, apparatus, and storage medium to address the high security risks associated with data interaction between servers in related technologies.

[0005] To achieve the above objectives, according to one aspect of this application, a data processing method is provided. This method is applied to a target client, wherein the target client is any one of multiple clients. The method includes: acquiring target data to be transmitted and encrypting the target data using a public key to obtain encrypted data; sending the encrypted data to a target server, wherein the target server performs aggregation operations on the encrypted data sent by the multiple clients to obtain an encryption operation result; upon receiving the encryption operation result from the target server, reconstructing the target client's private key fragment based on the sub-private key fragments of multiple users associated with the target client, and reconstructing the target private key based on the reconstructed private key fragments of each of the multiple clients, wherein the sub-private key fragments are obtained by splitting the target client's private key fragment using a secret sharing method, and the private key fragments of the multiple clients are obtained by splitting the target private key using a secret sharing method; and decrypting the encryption operation result based on the target private key to obtain a decrypted operation result.

[0006] Optionally, the data processing method further includes: before acquiring the target data to be transmitted, determining a first threshold value based on the number of clients of multiple clients, wherein the first threshold value represents the minimum number of private key fragments required to restore the target private key; for each client, determining a second threshold value corresponding to that client based on the number of users associated with the client, wherein the second threshold value represents the minimum number of sub-private key fragments required to restore the private key fragment of that client; based on a secret sharing method, splitting the target private key according to the first threshold value to obtain the private key fragments corresponding to each client; for each client's private key fragment, based on a secret sharing method, splitting the private key fragment according to the second threshold value corresponding to that private key fragment to obtain multiple sub-private key fragments corresponding to that private key fragment.

[0007] Optionally, the data processing method further includes: obtaining an initial first threshold value and a preset first security redundancy parameter; determining a first threshold based on the initial first threshold value and the first security redundancy parameter; and adjusting the initial first threshold value to obtain a first threshold value when the number of clients is less than the first threshold, with the goal of controlling the number of clients to be greater than or equal to the first threshold.

[0008] Optionally, the data processing method further includes: obtaining an initial second threshold value and a preset second security redundancy parameter; determining a second threshold value based on the initial second threshold value and the second security redundancy parameter; and adjusting the initial second threshold value to obtain a second threshold value when the number of users associated with the client is less than the second threshold value, with the goal of controlling the number of users associated with the client to be greater than or equal to the second threshold value.

[0009] Optionally, the data processing method further includes: collecting sub-private key fragments of multiple users associated with the target client; determining whether the number of sub-private key fragments collected by the target client is greater than or equal to a target second threshold value, wherein the target second threshold value represents the minimum number of sub-private key fragments required to restore the target client's private key fragment; if the number of collected sub-private key fragments is greater than or equal to the target second threshold value, using Lagrange interpolation to restore the target client's private key fragment based on the collected sub-private key fragments.

[0010] Optionally, the data processing method further includes: collecting private key fragments that have been restored from multiple clients; determining whether the number of private key fragments collected from the target client is greater than or equal to a first threshold value, wherein the first threshold value represents the minimum number of private key fragments required to restore the target private key; and if the number of private key fragments collected is greater than or equal to the first threshold value, using Lagrange interpolation to restore the target private key based on the collected private key fragments.

[0011] Optionally, the data processing method further includes: encrypting the target data using a public key to obtain initial encrypted data; obtaining a random number, hashing the random number to obtain first data; and determining encrypted data based on the initial encrypted data and the first data.

[0012] To achieve the above objectives, according to another aspect of this application, a data processing system is provided, comprising multiple clients. Each client is used to acquire target data to be transmitted and encrypt the target data using a public key to obtain encrypted data; send the encrypted data to a target server; upon receiving the encryption operation result from the target server, the client's private key is restored based on the sub-private key pieces of multiple users associated with that client, and the target private key is restored based on the restored private key pieces of each of the multiple clients. The sub-private key pieces are obtained by splitting the client's private key piece using a secret sharing method, and the private key pieces of the multiple clients are obtained by splitting the target private key using a secret sharing method. The target server is used to perform aggregation operations on the encrypted data sent by the multiple clients to obtain the encryption operation result, and then feed the encryption operation result back to the clients.

[0013] To achieve the above objectives, according to another aspect of this application, a data processing apparatus is provided. This apparatus is applied to a target client, wherein the target client is any one of multiple clients. The apparatus includes: an encryption module for acquiring target data to be transmitted and encrypting the target data using a public key to obtain encrypted data; a sending module for sending the encrypted data to a target server, wherein the target server performs aggregation operations on the encrypted data sent by the multiple clients to obtain an encryption operation result; a processing module for, upon receiving the encryption operation result from the target server, restoring the target client's private key based on the sub-private key pieces of multiple users associated with the target client, and restoring the target private key based on the restored private key pieces of each of the multiple clients, wherein the sub-private key pieces are obtained by splitting the target client's private key piece using a secret sharing method, and the private key pieces of the multiple clients are obtained by splitting the target private key using a secret sharing method; and a decryption module for decrypting the encryption operation result based on the target private key to obtain a decrypted operation result.

[0014] Optionally, the data processing device further includes: a first determining module, configured to determine a first threshold value based on the number of clients of multiple clients, wherein the first threshold value represents the minimum number of private key fragments required to restore the target private key; a second determining module, configured to determine a second threshold value corresponding to each client based on the number of users associated with the client, wherein the second threshold value represents the minimum number of sub-private key fragments required to restore the private key fragment of the client; a first splitting module, configured to split the target private key according to the first threshold value based on a secret sharing method to obtain private key fragments corresponding to each client; and a second splitting module, configured to split the private key fragment of each client according to the second threshold value corresponding to the private key fragment based on a secret sharing method to obtain multiple sub-private key fragments corresponding to the private key fragment.

[0015] Optionally, the first determining module further includes: a first acquiring submodule, used to acquire an initial first threshold value and a preset first security redundancy parameter; a first determining submodule, used to determine a first threshold based on the initial first threshold value and the first security redundancy parameter; and a first adjusting submodule, used to adjust the initial first threshold value to obtain the first threshold value when the number of clients is less than the first threshold, with the goal of controlling the number of clients to be greater than or equal to the first threshold.

[0016] Optionally, the second determining module further includes: a second obtaining submodule, used to obtain an initial second threshold value and a preset second security redundancy parameter; a second determining submodule, used to determine a second threshold based on the initial second threshold value and the second security redundancy parameter; and a second adjusting submodule, used to adjust the initial second threshold value to obtain a second threshold value when the number of users associated with the client is less than the second threshold, with the goal of controlling the number of users associated with the client to be greater than or equal to the second threshold.

[0017] Optionally, the processing module further includes: a first collection submodule, used to collect sub-private key pieces of multiple users associated with the target client; a first judgment submodule, used to determine whether the number of sub-private key pieces collected by the target client is greater than or equal to a target second threshold value, wherein the target second threshold value represents the minimum number of sub-private key pieces required to restore the target client's private key piece; and a first processing submodule, used to restore the target client's private key piece based on the collected sub-private key pieces using Lagrange interpolation if the number of collected sub-private key pieces is greater than or equal to the target second threshold value.

[0018] Optionally, the processing module further includes: a second collection submodule for collecting multiple restored private key fragments from clients; a second judgment submodule for judging whether the number of private key fragments collected from the target client is greater than or equal to a first threshold value, wherein the first threshold value represents the minimum number of private key fragments required to restore the target private key; and a second processing submodule for restoring the target private key based on the collected private key fragments using Lagrange interpolation if the number of collected private key fragments is greater than or equal to the first threshold value.

[0019] Optionally, the encryption module further includes: an encryption submodule for encrypting the target data using a public key to obtain initial encrypted data; a third acquisition submodule for acquiring a random number and hashing the random number to obtain first data; and a third determination submodule for determining encrypted data based on the initial encrypted data and the first data.

[0020] To achieve the above objectives, according to another aspect of this application, a computer-readable storage medium is provided, which includes a stored executable program, wherein, when the executable program is running, it controls the device where the computer-readable storage medium is located to perform the above-described data processing method.

[0021] To achieve the above objectives, according to another aspect of this application, an electronic device is provided, the electronic device including a memory storing an executable program; and a processor for running the program, wherein the program executes the above-described data processing method during runtime.

[0022] To achieve the above objectives, according to another aspect of this application, a computer program product is provided, including computer instructions that, when executed by a processor, implement the steps of the data processing method described above.

[0023] In this embodiment, the target private key is split into multiple client private key fragments using a secret sharing method. These client private key fragments are then further split into sub-private key fragments using the same method. The target private key is then reconstructed from these sub-private key fragments to decrypt the encryption result returned by the target server. This introduces a multi-layered key sharding mechanism during data encryption and decryption. The private key is divided and distributed to multiple participants at different levels using a secret sharing algorithm, avoiding data security risks caused by single-point key leakage. This improves the security compatibility of multi-party collaboration and enhances defense against internal attacks and malicious decryption, effectively reducing the security risks of data interaction between servers. Furthermore, by aggregating the encrypted data sent by multiple clients to obtain the encryption result, joint data computation is achieved without decryption, further reducing data security risks.

[0024] Therefore, the method provided in this application achieves the purpose of dividing the private key using a multi-layer key fragmentation mechanism, effectively reducing the security risks of data interaction between servers, and solving the technical problem of high security risks in data interaction between servers in related technologies. Attached Figure Description

[0025] The accompanying drawings, which form part of this application, are used to provide a further understanding of this application. The illustrative embodiments and descriptions of this application are used to explain this application and do not constitute an undue limitation of this application. In the drawings:

[0026] Figure 1 This is a hardware structure block diagram of a computer terminal provided according to an embodiment of this application;

[0027] Figure 2 This is a flowchart of a data processing method provided according to an embodiment of this application;

[0028] Figure 3 This is a schematic diagram of a data processing system provided according to an embodiment of this application;

[0029] Figure 4 This is a schematic diagram of a data processing apparatus provided according to an embodiment of this application;

[0030] Figure 5 This is a structural block diagram of an electronic device according to an embodiment of this application. Detailed Implementation

[0031] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0032] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0033] It should be noted that the information collected in this application (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for display, data used for analysis, etc.) are information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, storage, use, processing, transmission, provision, disclosure, and application of this data all comply with relevant laws, regulations, and standards, necessary confidentiality measures have been taken, and they do not violate public order and good morals. Corresponding access points are provided for users to choose to authorize or refuse. For example, interfaces are set up between this system and relevant users or organizations, providing users with corresponding access points to choose to agree to or refuse automated decision-making results; if the user chooses to refuse, the process proceeds to the expert decision-making stage.

[0034] Example 1

[0035] According to an embodiment of this application, an embodiment of a data processing method is also provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0036] The method embodiment provided in Embodiment 1 of this application can be executed on a mobile terminal, computer terminal, or similar computing device. Figure 1 A hardware structure block diagram of a computer terminal (or mobile device) for implementing a data processing method is shown. Figure 1 As shown, the computer terminal 10 (or mobile device) may include one or more processors 102 (shown as 102a, 102b, ..., 102n in the figure) 102 (processor 102 may include, but is not limited to, a microprocessor (MCU) or a field-programmable gate array (FPGA) or similar processing device), a memory 104 for storing data, and a transmission device 106 for communication functions. In addition, it may also include: a display, an input / output (I / O) interface, a Universal Serial Bus (USB) port (which may be included as one of the ports of a BUS bus), a network interface, a power supply, and / or a camera. Those skilled in the art will understand that... Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the aforementioned electronic device. For example, computer terminal 10 may also include... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.

[0037] It should be noted that the aforementioned one or more processors 102 and / or other data processing circuits are generally referred to herein as "data processing circuits". These data processing circuits may be embodied, in whole or in part, in software, hardware, firmware, or any other combination thereof. Furthermore, the data processing circuits may be a single, independent processing module, or may be integrated, in whole or in part, into any other element within the computer terminal 10 (or mobile device). As involved in the embodiments of this application, the data processing circuits serve as a processor control mechanism (e.g., selection of a variable resistor termination path connected to an interface).

[0038] The memory 104 can be used to store software programs and modules of application software, such as program instructions / data storage devices corresponding to the data processing method in this embodiment. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, thereby implementing the aforementioned data processing method. The memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the computer terminal 10 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0039] The transmission device 106 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by the communication provider of the computer terminal 10. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 may be a Radio Frequency (RF) module, used for wireless communication with the Internet.

[0040] The display can be, for example, a touchscreen liquid crystal display (LCD), which allows the user to interact with the user interface of the computer terminal 10 (or mobile device).

[0041] Under the aforementioned operating environment, this application provides the following: Figure 2 The data processing method shown is applied to a target client, which can be any one of multiple clients. Figure 2 This is a flowchart of the data processing method according to Embodiment 1 of this application, as follows: Figure 2 As shown, the method includes:

[0042] Step S201: Obtain the target data to be transmitted, and encrypt the target data using the public key to obtain encrypted data.

[0043] Optionally, target data refers to data that the target client needs to transmit to the target server. In an optional embodiment, the target server may be a cloud storage server. Target data may be sensitive data or other data that requires encryption. The specific content of the target data varies depending on the actual application scenario. For example, in the civil aviation industry, target data may be flight scheduling, passenger data, flight records, etc.

[0044] After acquiring the target data, it is encrypted using the public key to obtain the encrypted data. The public key can be a key generated and publicly disclosed by a trusted third party. For example, an optional method for generating the public key and its corresponding private key is shown below:

[0045] (1) Secure public key generation algorithm;

[0046] Gen(γ,t1,t2,P);

[0047] Where γ represents a security parameter, a large prime number that determines the key size and encryption strength; t1 represents the first-level participant threshold, the degree of a polynomial; t2 represents the second-level participant threshold, the degree of a polynomial; and P represents the set of participants. The target private key corresponding to the public key is split into multiple private key pieces based on a secret sharing method. Each private key piece is then split into multiple sub-private key pieces based on the secret sharing method. t1 can also be called the first threshold value, representing the minimum number of private key pieces required to recover the target private key; t2 can also be called the second threshold value, representing the minimum number of sub-private key pieces required to recover the target private key piece.

[0048] (2) Public key generation process;

[0049] 1. Randomly select two large prime numbers p and q, each with γ digits, and |p|=|q|=γ;

[0050] 2. Calculate the large prime number N = p × q, ω = lcm(p-1, q-1);

[0051] 3. Take a random integer g, and let... That is, g is N 2 Elements in the multiplication group that satisfy the above conditions:

[0052] μ=(L(g ω modN 2 )) -1 mod N;

[0053]

[0054] Based on the above equation, the final generated keys are: public key: pk = (N, g); private key: sk = (ω, μ).

[0055] Step S202: Send encrypted data to the target server, wherein the target server is used to perform aggregation operations on the encrypted data sent by multiple clients to obtain the encryption operation result.

[0056] Optionally, the target server can be a cloud storage server, which receives encrypted data from multiple clients and performs aggregation operations without decrypting the data to obtain the encrypted operation result. In an optional embodiment, the aggregation operation refers to performing mathematical operations, such as summation and averaging, on the encrypted data uploaded by multiple clients in an encrypted state to obtain a summary result. This process is called homomorphic encryption aggregation operation, which can be performed without decryption.

[0057] Step S203: Upon receiving the encryption operation result from the target server, the target client's private key is restored based on the sub-private key fragments of multiple users associated with the target client, and the target private key is restored based on the restored private key fragments of each of the multiple clients. The sub-private key fragments are obtained by splitting the target client's private key fragment using a secret sharing method, and the private key fragments of the multiple clients are obtained by splitting the target private key using a secret sharing method.

[0058] In an optional embodiment, the process of generating private key fragments and sub-private key fragments is illustrated by way of example. For instance, a trusted third party generates a trusted public-private key pair, publishes the public key, and fragments the target private key using a multi-layered secret sharing method to obtain multiple private key fragments. These fragments are then distributed to the enterprise administrators corresponding to each client (a one-to-one relationship exists between clients and enterprise administrators), ensuring that each client has a unique private key fragment. The trusted third party further fragments the client's private key fragment to obtain multiple sub-private key fragments, which are then distributed to multiple department administrators corresponding to the client (a one-to-many relationship exists between clients and department administrators), ensuring that each department administrator has a unique sub-private key fragment. Each department administrator is the user associated with the client. Then, the enterprise administrators use the published public key through the client to encrypt their respective data and upload it to a cloud storage server. When the number of private key fragments reaches a certain threshold t1, the target private key can be decrypted from the fragments. When the number of sub-private key fragments reaches a certain threshold t2, the private key fragments can be reconstructed from the sub-private key fragments.

[0059] After receiving encrypted data uploaded by an enterprise administrator, the cloud storage server performs aggregation calculations on the encrypted data and publishes the results. When an enterprise administrator on a client side wants to decrypt the aggregation result, they first request a private key fragment from their department administrators. Once a certain threshold of department administrators agrees, a multi-layer secret sharing algorithm is used to obtain the original private key fragment corresponding to the client. Subsequently, through negotiation between the client and other enterprise administrators on other clients, and with the agreement of a certain threshold of department administrators, the original target private key can be restored. The target private key is then used to decrypt the publicly published aggregation result on the cloud storage server to obtain the final aggregated plaintext for subsequent use.

[0060] Step S204: Decrypt the encryption result based on the target private key to obtain the decrypted result.

[0061] In this embodiment, the target private key is split into multiple client private key fragments using a secret sharing method. These client private key fragments are then further split into sub-private key fragments using the same method. The target private key is then reconstructed from these sub-private key fragments to decrypt the encryption result returned by the target server. This introduces a multi-layered key sharding mechanism during data encryption and decryption. The private key is divided and distributed to multiple participants at different levels using a secret sharing algorithm, avoiding data security risks caused by single-point key leakage. This improves the security compatibility of multi-party collaboration and enhances defense against internal attacks and malicious decryption, effectively reducing the security risks of data interaction between servers. Furthermore, by aggregating the encrypted data sent by multiple clients to obtain the encryption result, joint data computation is achieved without decryption, further reducing data security risks.

[0062] Therefore, the method provided in this application achieves the purpose of dividing the private key using a multi-layer key fragmentation mechanism, effectively reducing the security risks of data interaction between servers, and solving the technical problem of high security risks in data interaction between servers in related technologies.

[0063] Optionally, in the data processing method provided in this application embodiment, before obtaining the target data to be transmitted, the method further includes: determining a first threshold value based on the number of clients of multiple clients, wherein the first threshold value represents the minimum number of private key fragments required to restore the target private key; for each client, determining a second threshold value corresponding to the client based on the number of users associated with the client, wherein the second threshold value represents the minimum number of sub-private key fragments required to restore the private key fragment of the client; splitting the target private key according to the first threshold value based on a secret sharing method to obtain the private key fragments corresponding to each client; for each client's private key fragment, splitting the private key fragment according to the second threshold value corresponding to the private key fragment based on a secret sharing method to obtain multiple sub-private key fragments corresponding to the private key fragment.

[0064] In an optional embodiment, the multi-level splitting method of the private key sk=(ω,μ) is split using a dynamic random matrix method, and the decryption threshold is processed using a dynamic random assignment method. That is, as the number of clients / the number of department administrators corresponding to the clients dynamically changes, the encryption and decryption of the key also changes randomly. At the same time, the load balancing design concept is adopted to randomly assign the threshold to each level to ensure system security.

[0065] The dynamic random matrix is ​​as follows:

[0066]

[0067] As the number of clients / the number of department administrators corresponding to the clients dynamically changes, the selected D and M are added and deleted. For the changing D and M values, the specified thresholds for each layer are also load-balanced through a trusted third party. That is, the trusted third party adds a threshold scheduler to each key pair distribution and performs state processing on the thresholds of each layer.

[0068] Optionally, a first threshold value is determined based on the number of clients. This threshold ensures that even if some clients' private key fragments are lost, the target private key can be securely reconstructed and effectively decrypted as long as the number of collected private key fragments reaches or exceeds the first threshold value. In an optional embodiment, the number of clients is positively correlated with the first threshold value. For example, if there are 15 clients in the system, the trusted third party may set the first threshold value to 8, meaning that the target private key can only be successfully restored when the private key fragments of at least 8 clients are collected and used for reconstruction; if there are 20 clients in the system, the trusted third party may set the first threshold value to 10.

[0069] Optionally, for each client, a second threshold value is determined based on the number of users associated with that client. For each client in the system, a trusted third party or enterprise administrator determines the second threshold value based on the number of users within that client (i.e., the number of department administrators). This threshold ensures that even if some sub-private key fragments among the department administrators are lost, the client's private key fragments can be securely reconstructed as long as the number of collected sub-private key fragments reaches or exceeds the second threshold value. In an optional embodiment, the number of users associated with the client is positively correlated with the second threshold value.

[0070] After determining the first threshold, the target private key is split according to the first threshold using a secret sharing method, resulting in private key fragments for each client. For example, the first layer has D participants (D is a variable), where each participant is equivalent to a client (or the enterprise administrator corresponding to the client), and the participant set P = {P1, P2, ..., P...} D}, and the threshold value for the first layer is t1. For threshold-based secret sharing at the first layer, the private key sk=(ω,μ) is divided into D parts, i.e.:

[0071] sk = sk1, sk2, ..., sk D ;

[0072] Send each shard's private key to the participants to generate the t1-1 polynomial:

[0073]

[0074] Among them, the private key fragment sk obtained by the i-th participant i = f(i), a1, a2, ..., a t1-1 The first layer of random coefficients is x, which is the independent variable. Different participants will have different values ​​for x, such as x taking the values ​​1, 2, 3, etc.

[0075] After determining the second threshold value for each client, for each client's private key piece, based on a secret sharing method, the private key piece is split according to the second threshold value corresponding to that private key piece, resulting in multiple sub-private key pieces. For example, for each individual participant (i.e., client) in the first layer, internal members (M is a variable) are split for each sk... i Perform key chip splitting, with a threshold value of t2 for the first layer and M (a general term, the number of members in different layers varies, and so does M) for the second layer, expressed as:

[0076] P = {P i1 ,P i2 ,...,P iM};

[0077] sk iThe split key fragments are sent to internal members to generate the t²⁻¹ polynomial:

[0078]

[0079] Among them, j participants out of M internal members (i.e., department administrators) obtain the sub-private key fragment sk. i,j =g i (j) mod q (j = 1, 2, ..., M), Let x be the second-level random coefficient corresponding to the i-th client, and let x be the independent variable, which varies among different internal members. The sub-private key fragment obtained by each second-level participant (i.e., the department administrator) can be represented as:

[0080]

[0081] In an optional embodiment, the target client may request a trusted third party to split the target private key into private key fragments. That is, the trusted third party, based on a secret sharing method and according to a first threshold value, splits the target private key to obtain private key fragments corresponding to each client. The target client may also split its own private key fragment into multiple sub-private key fragments. Alternatively, the target client may request a trusted third party to split its private key fragment into multiple sub-private key fragments; that is, the trusted third party, based on a secret sharing method and according to a second threshold value corresponding to the private key fragment, splits the private key fragment to obtain multiple sub-private key fragments corresponding to the private key fragment.

[0082] It should be noted that by setting first and second threshold values, and by using a secret sharing method to split and reconstruct the target private key and its fragments, a multi-layered security protection system is achieved. This system ensures that even if some key fragments or sub-key fragments are lost or illegally obtained, as long as the corresponding threshold values ​​are not reached, the overall key system and data security can still be effectively protected. Furthermore, the dynamic threshold mechanism can be adjusted according to changes in the number of clients and internal users, increasing the system's flexibility and security. This two-layered threshold secret sharing strategy not only enhances defense against internal attacks and malicious decryption but also ensures the privacy and integrity of data during transmission, storage, and computation, providing an efficient and secure solution for multi-party collaborative data sharing environments.

[0083] Optionally, in the data processing method provided in this application embodiment, determining a first threshold value based on the number of clients of multiple clients includes: obtaining an initial first threshold value and a preset first security redundancy parameter; determining a first threshold based on the initial first threshold value and the first security redundancy parameter; and adjusting the initial first threshold value to obtain the first threshold value when the number of clients is less than the first threshold, with the goal of controlling the number of clients to be greater than or equal to the first threshold.

[0084] Optionally, assuming the first layer has D participants and a threshold value of t1; and the second layer has M participants and a threshold value of t2, a threshold state machine is used to maintain the current threshold value (t1, t2) and the minimum number of available nodes (n1, n2) for each layer. The minimum number of available nodes can also be represented as (D, M). An optional dynamic addition / deletion rule is as follows: Define a safety redundancy parameter γ. If the current number of available nodes is less than the initial threshold value of the corresponding layer + γ, the threshold value is automatically reduced. Simultaneously, for layers with a large base number, threshold nodes need to be added, specifically based on the base number.

[0085] In an optional embodiment, an initial first threshold value and a preset first security redundancy parameter can be obtained. The initial first threshold value is a preset value, which can be initially set by a trusted third party or staff based on system security requirements. The preset first security redundancy parameter is to ensure that even if some clients log out or are attacked, the system can still recover the target private key using the remaining private key fragments, thus maintaining the stability and security of the system.

[0086] In an optional embodiment, the initial first threshold value is added to the first security redundancy parameter to obtain the first threshold. For example, if the initial first threshold value is 5, it means that at least 5 client private key fragments are required to reconstruct the target private key. Assuming the first security redundancy parameter is set to 2, it means that the system should additionally support the loss or unavailability of 2 client private key fragments, and the calculated first threshold is 7.

[0087] In an optional embodiment, the initial first threshold value is multiplied by a first security redundancy parameter to obtain a first threshold. For example, if the initial first threshold value is 5 and the first security redundancy parameter is set to 1.6, the calculated first threshold value is 8.

[0088] If the system detects that the number of clients actually participating in data processing is lower than a first threshold, it will automatically adjust the initial first threshold value to ensure the reconstruction of the target private key. This adjustment aims to ensure that the number of participating clients meets or exceeds the first threshold. For example, if the target number of clients is 6, and the first threshold calculated based on the initial first threshold value and the first security redundancy parameter is 7, the system will recognize that the current number of clients is insufficient to ensure the secure reconstruction of the target private key. Therefore, the system will adjust the initial first threshold value, for example, reducing it to 4. Adding the first security redundancy parameter 2, the new first threshold becomes 6, ensuring that the number of participating clients at least meets the requirements for secure reconstruction, thus setting 4 as the first threshold value.

[0089] In an optional embodiment, if the number of clients is greater than or equal to a first threshold, an initial first threshold value is determined as the first threshold value.

[0090] In an optional embodiment, to prevent the target key from being recovered with only a small portion of the private key fragments when the number of clients is too large, the initial first threshold value can be adjusted to ensure that the excess value is less than or equal to the first value when the number of clients exceeds a first threshold by a value greater than a first value. In simpler terms, when the number of clients is too large, the threshold node needs to be increased.

[0091] It should be noted that, through the above method, the system can automatically adjust the first threshold value based on the effective participation of the client, ensuring that the reconstruction of the target private key is always within the range specified by the security redundancy parameters. Even in the face of a decrease in the number of clients, the system can maintain its security by adjusting the threshold value, thereby improving the reliability of data processing.

[0092] Optionally, in the data processing method provided in this application embodiment, determining the second threshold value corresponding to the client based on the number of users associated with the client includes: obtaining an initial second threshold value and a preset second security redundancy parameter; determining a second threshold based on the initial second threshold value and the second security redundancy parameter; and adjusting the initial second threshold value to obtain the second threshold value when the number of users associated with the client is less than the second threshold, with the goal of controlling the number of users associated with the client to be greater than or equal to the second threshold.

[0093] In an optional embodiment, an initial second threshold value and a preset second security redundancy parameter can be obtained. The initial second threshold value is a preset value, which can be initially set by a trusted third party or staff based on system security requirements. The second security redundancy parameter is set to cope with fluctuations in the number of users, ensuring that even if some users are unavailable, the system can still complete secure operations using the remaining users' sub-private keys.

[0094] In an optional embodiment, the initial second threshold value is added to the second security redundancy parameter to obtain a second threshold. For example, if the initial second threshold value is 3 and the second security redundancy parameter is 1, then the second threshold is 4, meaning that at least four department administrators' sub-private key pieces are required to ensure the secure reconstruction of the client's private key piece.

[0095] In an optional embodiment, the initial second threshold value is multiplied by the second security redundancy parameter to obtain the second threshold. For example, if the initial second threshold value is 4 and the first security redundancy parameter is set to 1.5, the calculated first threshold value is 6.

[0096] If system monitoring detects that the number of users within a client is below the second threshold, the system will automatically adjust the initial second threshold value to ensure that the number of users meets or exceeds the second threshold. For example, if the number of department administrators actually participating within a client is 3, and the second threshold is 4, the system will adjust the initial second threshold value to lower it to 3, ensuring that the number of currently participating users can reach the goal of secure refactoring, thus determining the second threshold value to be 3.

[0097] In an optional embodiment, if the number of users associated with the client is greater than or equal to the second threshold, the initial second threshold value is determined as the second threshold value.

[0098] In an optional embodiment, to prevent the private key fragment from being reconstructed using only a small portion of the sub-private key fragments when the number of users associated with the client is too large, the initial second threshold value can be adjusted to ensure that the excess value is less than or equal to the second threshold value when the number of users associated with the client exceeds the second threshold value. In simpler terms, when the number of users associated with the client is too large, a threshold node needs to be added.

[0099] It should be noted that by introducing a dynamic adjustment mechanism for changes in the number of internal users, the security and adaptability of multi-layered secret sharing are further enhanced, thereby improving the reliability of data processing.

[0100] Optionally, in the data processing method provided in this application embodiment, restoring the private key of the target client based on the sub-private key fragments of multiple users associated with the target client includes: collecting the sub-private key fragments of multiple users associated with the target client; determining whether the number of sub-private key fragments collected by the target client is greater than or equal to a target second threshold value, wherein the target second threshold value represents the minimum number of sub-private key fragments required to restore the private key of the target client; and restoring the private key of the target client based on the collected sub-private key fragments when the number of collected sub-private key fragments is greater than or equal to the target second threshold value, using the Lagrange interpolation method.

[0101] A department administrator, as one of several users associated with the target client, holds sub-private key fragments distributed by the enterprise administrator. When decryption of the aggregated result is required, the target client sends a request to all its department administrators to collect these sub-private key fragments. After collection, it checks whether the total number of sub-private key fragments collected from the department administrators reaches a pre-set target second threshold. If the pre-set target second threshold is reached, the private key fragment can be recovered based on the collected sub-private key fragments. Conversely, if the pre-set target second threshold is not reached, a prompt message can be generated to inform the relevant personnel that the number of sub-private key fragments does not meet the requirement.

[0102] For example, the target client can recover the target client's private key fragment in the following way:

[0103] Second-level key reconstruction sk i =f(i):

[0104] For the second-level participants, when collecting key slices that satisfy the requirement of t2 participants, key reconstruction is performed using Lagrange interpolation, i.e.:

[0105]

[0106] Among them, sk i sk represents the i-th private key fragment to be restored. i,j S represents the j-th sub-private key piece corresponding to the i-th private key piece to be restored. i Let l represent the set of collected sub-private key pieces corresponding to the i-th private key piece. In formula (2), l and j are temporary subscript variables used for Lagrange interpolation summation and product calculation. l is the subscript of the outer summation, indicating that the l-th valid sub-private key piece is currently being used for accumulation. j is the subscript of the inner product calculation, indicating that, except for the l-th piece, the remaining pieces are used for difference product calculation.

[0107] It should be noted that the above method enables the effective restoration of the private key.

[0108] Optionally, in the data processing method provided in this application embodiment, the method of restoring the target private key based on the restored private key pieces of multiple clients includes: collecting the restored private key pieces of multiple clients; determining whether the number of private key pieces collected by the target client is greater than or equal to a first threshold value, wherein the first threshold value represents the minimum number of private key pieces required to restore the target private key; and restoring the target private key based on the collected private key pieces when the number of collected private key pieces is greater than or equal to the first threshold value, using the Lagrange interpolation method.

[0109] Optionally, the target client can request other clients to collect the restored private key fragments held by those clients. Other clients refer to clients other than the target client. After collecting a certain number of private key fragments, the target client will verify the quantity to ensure it is not less than a pre-set first threshold. If the number of private key fragments reaches the pre-set first threshold, the target private key can be restored based on the collected fragments. Conversely, if the number of private key fragments does not reach the pre-set first threshold, a notification message can be generated to inform relevant personnel that the required number of private key fragments is insufficient.

[0110] For example, the target client can recover the target client's private key in the following way:

[0111] First-level key reconstruction sk:

[0112] Once t1 participants satisfying the threshold have been collected: When reconstructing the private key, Lagrange interpolation is used, i.e.:

[0113] sk=∑ i∈T sk i ·Δ i mod q(3)

[0114]

[0115] Where sk is the target private key to be restored, T is the set of private key pieces that have been collected, and i and j in formula (4) are temporary subscript variables used in the Lagrange interpolation operation. i is the subscript of the outer summation, indicating that the i-th private key piece is currently being used, and j is the subscript of the inner product, indicating that, except for the i-th piece, the remaining pieces are used to perform a difference product.

[0116] In an optional embodiment, after the target private key is recovered, the encryption result can be decrypted in the following way to obtain the decrypted result:

[0117] (1) Decrypt the encryption result;

[0118] Decrypt the encrypted result c using the private key sk=(ω,μ). agg ,get And calculate the intermediate value:

[0119]

[0120] use Decrypting the formula, i.e.:

[0121]

[0122] Calculate the denominator of the decryption constant, i.e.:

[0123]

[0124] Among them, g ω It represents g raised to the power of ω.

[0125] Restore aggregated plaintext:

[0126]

[0127] Where, m agg This represents the result of the decryption operation.

[0128] It should be noted that the above method effectively restores the target key, improving the reliability of data processing.

[0129] Optionally, in the data processing method provided in this application embodiment, encrypting target data with a public key to obtain encrypted data includes: encrypting target data with a public key to obtain initial encrypted data; obtaining a random number, hashing the random number to obtain first data; and determining encrypted data based on the initial encrypted data and the first data.

[0130] For example, encrypted data can be obtained in the following ways:

[0131] For the first-level participants P = {P1, P2, ..., P...} D The plaintext data m = {m1, m2, ..., m} D Encrypt it using the public key pk = (N, g) to obtain

[0132] Select random number To ensure the uncertainty of the encrypted data, and to resist ciphertext attacks by hashing the random numbers, the final encryption result is as follows:

[0133]

[0134] Among them, c i This represents the encrypted data of the i-th client (target client). Indicates the first data. This represents the initial encrypted data.

[0135] Optionally, the process by which the target server determines the result of the encryption operation is illustrated as follows:

[0136] The target server receives encrypted data from each participant:

[0137]

[0138] Where K represents the number of clients that upload encrypted data to the target server.

[0139] The uploaded encrypted data is aggregated and calculated, namely:

[0140]

[0141] Among them, c agg This indicates the result of the encryption operation.

[0142] It should be noted that the above method effectively encrypts the target data and improves the reliability of the encrypted data.

[0143] Therefore, the method provided in this application achieves the purpose of dividing the private key using a multi-layer key fragmentation mechanism, effectively reducing the security risks of data interaction between servers, and solving the technical problem of high security risks in data interaction between servers in related technologies.

[0144] It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases the steps shown or described may be executed in a different order than that shown here.

[0145] Example 2

[0146] According to embodiments of this application, a data processing system is also provided. Figure 3 This is a schematic diagram of a data processing system provided according to an embodiment of this application, such as... Figure 3 As shown, the system includes:

[0147] Multiple clients are used, each client to obtain the target data to be transmitted, and encrypt the target data using a public key to obtain encrypted data; send the encrypted data to the target server; upon receiving the encryption operation result from the target server, the client's private key is restored based on the sub-private key pieces of multiple users associated with the client, and the target private key is restored based on the restored private key pieces of each of the multiple clients. The sub-private key pieces are obtained by splitting the client's private key piece using a secret sharing method, and the private key pieces of the multiple clients are obtained by splitting the target private key using a secret sharing method.

[0148] The target server is used to aggregate encrypted data sent by multiple clients, obtain the encryption result, and then feed the encryption result back to the client.

[0149] In an alternative embodiment, such as Figure 3As shown, the data processing system includes: a trusted third party, a cloud storage server (i.e., the target server), and multiple clients. Each client corresponds to one enterprise administrator and multiple department administrators. The trusted third party provides trusted keys for the entire system framework and distributes these keys to all participants (i.e., clients) within the system. The cloud storage server, also the target server, receives encrypted data uploaded by participants, performs aggregation operations on the data, and publishes the aggregation results to all participants. Enterprise administrators on the clients encrypt and upload data to the cloud platform through their clients. To prevent external attackers from attacking a single node, a multi-layered secret sharing method is used to fragment the private key and distribute it to enterprise administrators at the same level. When a certain threshold is reached, the private key can be obtained for decryption. Department administrators associated with the clients perform distributed authorization control over the sub-private key fragments distributed by the single enterprise administrator, preventing internal leakage of key fragments and improving system security and stability.

[0150] like Figure 3 As shown, in the application process, a trusted third party generates a trusted public-private key pair for the entire system, publishes the public key, fragments the private key, and distributes it to the enterprise administrator. The enterprise administrator, through the trusted third party, further fragments their private key fragments and distributes them to department administrators. Then, the enterprise administrator uses the published public key to encrypt their respective data and uploads it to the cloud storage server. After receiving the encrypted data uploaded by the enterprise administrator, the cloud storage server performs aggregation operations on the encrypted data and publishes the results. When the enterprise administrator wants to decrypt the aggregation results, they first send a request to the department administrators through a client to obtain the private key fragments. When a certain threshold of department administrators agree, the client uses a multi-layer secret sharing algorithm to obtain the original private key fragments. Subsequently, through negotiation with other clients, and after a certain threshold of clients agree, the original private key can be restored. The private key is then used to decrypt the aggregation results published by the cloud storage server to obtain the final aggregated plaintext for subsequent use.

[0151] Therefore, the method provided in this application achieves the purpose of dividing the private key using a multi-layer key fragmentation mechanism, effectively reducing the security risks of data interaction between servers, and solving the technical problem of high security risks in data interaction between servers in related technologies.

[0152] Example 3

[0153] This application also provides a data processing apparatus. It should be noted that the data processing apparatus of this application can be used to execute the data processing method provided in this application. The data processing apparatus provided in this application will be described below.

[0154] According to an embodiment of this application, an apparatus for implementing the above-described data processing method is also provided. This apparatus is applied to a target client, wherein the target client is any one of a plurality of clients, such as... Figure 4 As shown, the device includes:

[0155] Encryption module 401 is used to acquire the target data to be transmitted and encrypt the target data using a public key to obtain encrypted data;

[0156] The sending module 402 is used to send encrypted data to the target server, wherein the target server is used to perform aggregation operations on the encrypted data sent by multiple clients to obtain the encryption operation result;

[0157] The processing module 403 is used to, upon receiving the encryption operation result fed back by the target server, restore the private key of the target client based on the sub-private key pieces of multiple users associated with the target client, and restore the target private key based on the restored private key pieces of each of the multiple clients. The sub-private key pieces are obtained by splitting the private key piece of the target client using a secret sharing method, and the private key pieces of the multiple clients are obtained by splitting the target private key using a secret sharing method.

[0158] The decryption module 404 is used to decrypt the encryption result based on the target private key to obtain the decrypted result.

[0159] In this embodiment, the target private key is split into multiple client private key fragments using a secret sharing method. These client private key fragments are then further split into sub-private key fragments using the same method. The target private key is then reconstructed from these sub-private key fragments to decrypt the encryption result returned by the target server. This introduces a multi-layered key sharding mechanism during data encryption and decryption. The private key is divided and distributed to multiple participants at different levels using a secret sharing algorithm, avoiding data security risks caused by single-point key leakage. This improves the security compatibility of multi-party collaboration and enhances defense against internal attacks and malicious decryption, effectively reducing the security risks of data interaction between servers. Furthermore, by aggregating the encrypted data sent by multiple clients to obtain the encryption result, joint data computation is achieved without decryption, further reducing data security risks.

[0160] Therefore, the method provided in this application achieves the purpose of dividing the private key using a multi-layer key fragmentation mechanism, effectively reducing the security risks of data interaction between servers, and solving the technical problem of high security risks in data interaction between servers in related technologies.

[0161] Optionally, in the data processing apparatus provided in this application embodiment, the data processing apparatus further includes: a first determining module, configured to determine a first threshold value based on the number of clients of multiple clients, wherein the first threshold value represents the minimum number of private key fragments required to restore the target private key; a second determining module, configured to determine a second threshold value corresponding to each client based on the number of users associated with the client, wherein the second threshold value represents the minimum number of sub-private key fragments required to restore the private key fragment of the client; a first splitting module, configured to split the target private key according to the first threshold value based on a secret sharing method to obtain private key fragments corresponding to each client; and a second splitting module, configured to split the private key fragment of each client according to the second threshold value corresponding to the private key fragment based on a secret sharing method to obtain multiple sub-private key fragments corresponding to the private key fragment.

[0162] Optionally, in the data processing apparatus provided in the embodiments of this application, the first determining module further includes: a first acquiring submodule, used to acquire an initial first threshold value and a preset first security redundancy parameter; a first determining submodule, used to determine a first threshold based on the initial first threshold value and the first security redundancy parameter; and a first adjusting submodule, used to adjust the initial first threshold value to obtain the first threshold value when the number of clients is less than the first threshold, with the goal of controlling the number of clients to be greater than or equal to the first threshold.

[0163] Optionally, in the data processing apparatus provided in this application embodiment, the second determining module further includes: a second acquiring submodule, used to acquire an initial second threshold value and a preset second security redundancy parameter; a second determining submodule, used to determine a second threshold based on the initial second threshold value and the second security redundancy parameter; and a second adjusting submodule, used to adjust the initial second threshold value to obtain a second threshold value when the number of users associated with the client is less than the second threshold, with the goal of controlling the number of users associated with the client to be greater than or equal to the second threshold.

[0164] Optionally, in the data processing apparatus provided in this application embodiment, the processing module further includes: a first collection submodule, used to collect sub-private key pieces of multiple users associated with the target client; a first judgment submodule, used to judge whether the number of sub-private key pieces collected by the target client is greater than or equal to a target second threshold value, wherein the target second threshold value represents the minimum number of sub-private key pieces required to restore the private key piece of the target client; and a first processing submodule, used to restore the private key piece of the target client based on the collected sub-private key pieces using the Lagrange interpolation method when the number of collected sub-private key pieces is greater than or equal to the target second threshold value.

[0165] Optionally, in the data processing apparatus provided in this application embodiment, the processing module further includes: a second collection submodule, used to collect multiple private key fragments that have been restored by clients; a second judgment submodule, used to determine whether the number of private key fragments collected by the target client is greater than or equal to a first threshold value, wherein the first threshold value represents the minimum number of private key fragments required to restore the target private key; and a second processing submodule, used to restore the target private key based on the collected private key fragments using Lagrange interpolation if the number of collected private key fragments is greater than or equal to the first threshold value.

[0166] Optionally, in the data processing apparatus provided in this application embodiment, the encryption module further includes: an encryption submodule, used to encrypt target data using a public key to obtain initial encrypted data; a third acquisition submodule, used to acquire a random number and perform hash processing on the random number to obtain first data; and a third determination submodule, used to determine encrypted data based on the initial encrypted data and the first data.

[0167] It should be noted that the encryption module 401, sending module 402, processing module 403, and decryption module 404 mentioned above correspond to steps S201 to S204 in Embodiment 1. The four modules and their corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in Embodiment 1. It should be noted that the above modules or units can be hardware or software components stored in memory (e.g., memory 104) and processed by one or more processors (e.g., processors 102a, 102b, ..., 102n). The above modules can also be part of a device and run in the computer terminal 10 provided in Embodiment 1.

[0168] Example 4

[0169] Embodiments of this application may provide an electronic device. Figure 5 This is a structural block diagram of an electronic device according to an embodiment of this application. Figure 5 As shown, the electronic device may include: one or more ( Figure 5 (Only one is shown) processor 1002, memory 1004, memory controller, and peripheral interface, wherein the peripheral interface is connected to the radio frequency module, audio module and display.

[0170] The memory can be used to store software programs and modules, such as the program instructions / modules corresponding to the methods and apparatus in the embodiments of this application. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory, thereby implementing the above-described methods. The memory may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory may further include memory remotely located relative to the processor, and these remote memories can be connected to the terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0171] The processor can access information and applications stored in memory via the transmission device to execute the following steps: acquire the target data to be transmitted, and encrypt the target data using a public key to obtain encrypted data; send the encrypted data to the target server, where the target server performs aggregation operations on the encrypted data sent by multiple clients to obtain an encryption operation result; upon receiving the encryption operation result from the target server, reconstruct the target client's private key based on the sub-private key pieces of multiple users associated with the target client, and reconstruct the target private key based on the reconstructed private key pieces of each of the multiple clients, where the sub-private key pieces are obtained by splitting the target client's private key piece using a secret sharing method, and the private key pieces of the multiple clients are obtained by splitting the target private key using a secret sharing method; and decrypt the encryption operation result based on the target private key to obtain the decrypted operation result.

[0172] The processor can also invoke information and applications stored in the memory via the transmission device to perform the following steps: Before acquiring the target data to be transmitted, a first threshold value is determined based on the number of clients among multiple clients, wherein the first threshold value represents the minimum number of private key fragments required to restore the target private key; for each client, a second threshold value is determined based on the number of users associated with the client, wherein the second threshold value represents the minimum number of sub-private key fragments required to restore the client's private key fragment; based on a secret sharing method, the target private key is split according to the first threshold value to obtain the private key fragments corresponding to each client; for each client's private key fragment, based on a secret sharing method, the private key fragment is split according to the second threshold value corresponding to the private key fragment to obtain multiple sub-private key fragments corresponding to the private key fragment.

[0173] The processor can also call the information and application stored in the memory through the transmission device to perform the following steps: obtain an initial first threshold value and a preset first security redundancy parameter; determine a first threshold based on the initial first threshold value and the first security redundancy parameter; and adjust the initial first threshold value to obtain the first threshold value when the number of clients is less than the first threshold value, with the goal of controlling the number of clients to be greater than or equal to the first threshold value.

[0174] The processor can also call the information and application stored in the memory through the transmission device to perform the following steps: obtain an initial second threshold value and a preset second security redundancy parameter; determine a second threshold based on the initial second threshold value and the second security redundancy parameter; and adjust the initial second threshold value to obtain a second threshold value if the number of users associated with the client is less than the second threshold value, with the goal of controlling the number of users associated with the client to be greater than or equal to the second threshold value.

[0175] The processor can also invoke information and applications stored in the memory via the transmission device to perform the following steps: collect sub-private key fragments of multiple users associated with the target client; determine whether the number of sub-private key fragments collected by the target client is greater than or equal to a target second threshold value, wherein the target second threshold value represents the minimum number of sub-private key fragments required to restore the target client's private key fragment; if the number of collected sub-private key fragments is greater than or equal to the target second threshold value, restore the target client's private key fragment based on the collected sub-private key fragments using the Lagrange interpolation method.

[0176] The processor can also call the information and application stored in the memory through the transmission device to perform the following steps: collect the private key pieces that have been restored by multiple clients; determine whether the number of private key pieces collected by the target client is greater than or equal to a first threshold value, wherein the first threshold value represents the minimum number of private key pieces required to restore the target private key; if the number of private key pieces collected is greater than or equal to the first threshold value, restore the target private key based on the collected private key pieces using the Lagrange interpolation method.

[0177] The processor can also call the information and application stored in the memory through the transmission device to perform the following steps: encrypt the target data with the public key to obtain the initial encrypted data; obtain a random number, hash the random number to obtain the first data; and determine the encrypted data based on the initial encrypted data and the first data.

[0178] In this embodiment, the target private key is split into multiple client private key fragments using a secret sharing method. These client private key fragments are then further split into sub-private key fragments using the same method. The target private key is then reconstructed from these sub-private key fragments to decrypt the encryption result returned by the target server. This introduces a multi-layered key sharding mechanism during data encryption and decryption. The private key is divided and distributed to multiple participants at different levels using a secret sharing algorithm, avoiding data security risks caused by single-point key leakage. This improves the security compatibility of multi-party collaboration and enhances defense against internal attacks and malicious decryption, effectively reducing the security risks of data interaction between servers. Furthermore, by aggregating the encrypted data sent by multiple clients to obtain the encryption result, joint data computation is achieved without decryption, further reducing data security risks.

[0179] Therefore, the method provided in this application achieves the purpose of dividing the private key using a multi-layer key fragmentation mechanism, effectively reducing the security risks of data interaction between servers, and solving the technical problem of high security risks in data interaction between servers in related technologies.

[0180] Those skilled in the art will understand that Figure 5 The structure shown is for illustrative purposes only. Electronic devices can also be smartphones, tablets, handheld computers, mobile internet devices (MIDs), PADs, and other terminal devices. Figure 5 This does not limit the structure of the aforementioned electronic device. For example, electronic devices may also include components that are more... Figure 5 The more or fewer components shown (such as network interfaces, display devices, etc.), or having the same Figure 5 The different configurations shown.

[0181] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be implemented by a program instructing the hardware related to the terminal device. The program can be stored in a computer-readable storage medium, which may include: flash drive, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.

[0182] Example 5

[0183] Embodiments of this application also provide a storage medium. Optionally, in this embodiment, the storage medium can be used to store the program code executed by the data processing method provided in Embodiment 1.

[0184] Optionally, in this embodiment, the storage medium may be located in any computer terminal in a group of computer terminals in a computer network, or in any mobile terminal in a group of mobile terminals.

[0185] This application also provides a computer program product, which, when executed on a data processing device, is a program adapted to perform data processing method steps.

[0186] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0187] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0188] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.

[0189] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0190] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0191] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.

[0192] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A data processing method, characterized in that, Applied to a target client, wherein the target client is any one of a plurality of clients, including: The target data to be transmitted is obtained, and the target data is encrypted using a public key to obtain encrypted data; The encrypted data is sent to the target server, wherein the target server is used to perform aggregation operations on the encrypted data sent by the multiple clients to obtain the encryption operation result; Upon receiving the encryption operation result from the target server, the private key of the target client is restored based on the sub-private key pieces of multiple users associated with the target client, and the target private key is restored based on the restored private key pieces of each of the multiple clients. The sub-private key pieces are obtained by splitting the private key piece of the target client using a secret sharing method, and the private key pieces of the multiple clients are obtained by splitting the target private key using a secret sharing method. The encryption result is decrypted based on the target private key to obtain the decrypted result.

2. The method according to claim 1, characterized in that, Before acquiring the target data to be transmitted, the method further includes: A first threshold value is determined based on the number of clients among the plurality of clients, wherein the first threshold value represents the minimum number of private key fragments required to restore the target private key; For each client, a second threshold value is determined based on the number of users associated with the client, wherein the second threshold value represents the minimum number of sub-private key pieces required to restore the private key piece of the client; Based on the secret sharing method, the target private key is split according to the first threshold value to obtain the private key fragments corresponding to each client; For each client's private key piece, based on the secret sharing method, the private key piece is split according to the second threshold value corresponding to the private key piece to obtain multiple sub-private key pieces corresponding to the private key piece.

3. The method according to claim 2, characterized in that, Determining a first threshold value based on the number of clients among the plurality of clients includes: Obtain the initial first threshold value and the preset first safety redundancy parameter; A first threshold is determined based on the initial first threshold value and the first security redundancy parameter; If the number of clients is less than the first threshold, the initial first threshold value is adjusted with the goal of controlling the number of clients to be greater than or equal to the first threshold, and the first threshold value is obtained.

4. The method according to claim 2, characterized in that, Based on the number of users associated with the client, a second threshold value is determined for that client, including: Obtain the initial second threshold value and the preset second safety redundancy parameter; The second threshold is determined based on the initial second threshold value and the second security redundancy parameter; If the number of users associated with the client is less than the second threshold, the initial second threshold value is adjusted to obtain the second threshold value with the goal of controlling the number of users associated with the client to be greater than or equal to the second threshold.

5. The method according to claim 1, characterized in that, The private key fragment of the target client is restored based on the sub-private key fragments of multiple users associated with the target client, including: Collect the sub-private key fragments of multiple users associated with the target client; Determine whether the number of sub-private key pieces collected by the target client is greater than or equal to a target second threshold value, wherein the target second threshold value represents the minimum number of sub-private key pieces required to restore the private key pieces of the target client; If the number of collected sub-private key fragments is greater than or equal to the target second threshold value, the private key fragment of the target client is restored based on the collected sub-private key fragments using the Lagrange interpolation method.

6. The method according to claim 1, characterized in that, The target private key is recovered based on the private key fragments that have been recovered by the various clients, including: Collect the private key fragments that have been restored from the multiple clients; Determine whether the number of private key fragments collected by the target client is greater than or equal to a first threshold value, wherein the first threshold value represents the minimum number of private key fragments required to restore the target private key; If the number of collected private key fragments is greater than or equal to the first threshold, the target private key is reconstructed based on the collected private key fragments using the Lagrange interpolation method.

7. The method according to claim 1, characterized in that, The target data is encrypted using a public key to obtain encrypted data, including: The target data is encrypted using a public key to obtain initial encrypted data; Obtain a random number, and perform hash processing on the random number to obtain the first data; The encrypted data is determined based on the initial encrypted data and the first data.

8. A data processing system, characterized in that, include: Multiple clients, each client is used to obtain the target data to be transmitted, and encrypt the target data using a public key to obtain encrypted data; Send the encrypted data to the target server; Upon receiving the encryption operation result from the target server, the client's private key is restored based on the sub-private key pieces of multiple users associated with the client, and the target private key is restored based on the restored private key pieces of each of the multiple clients. The sub-private key pieces are obtained by splitting the client's private key piece using a secret sharing method, and the private key pieces of the multiple clients are obtained by splitting the target private key using a secret sharing method. The target server is used to perform aggregation operations on the encrypted data sent by the multiple clients, obtain the encryption operation result, and feed the encryption operation result back to the client.

9. A data processing apparatus, characterized in that, Applied to a target client, wherein the target client is any one of a plurality of clients, including: An encryption module is used to acquire target data to be transmitted and encrypt the target data using a public key to obtain encrypted data; The sending module is used to send the encrypted data to the target server, wherein the target server is used to perform aggregation operations on the encrypted data sent by the multiple clients to obtain the encryption operation result; The processing module is configured to, upon receiving the encryption operation result fed back by the target server, restore the private key of the target client based on the sub-private key pieces of multiple users associated with the target client, and restore the target private key based on the restored private key pieces of each of the multiple clients, wherein the sub-private key pieces are obtained by splitting the private key piece of the target client using a secret sharing method, and the private key pieces of the multiple clients are obtained by splitting the target private key using a secret sharing method; The decryption module is used to decrypt the encryption result based on the target private key to obtain the decrypted result.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored executable program, wherein, when the executable program is executed, it controls the device on which the computer-readable storage medium is located to perform the data processing method according to any one of claims 1 to 7.