Business collaborative processing method, device, medium and equipment based on privacy protection

By obtaining auxiliary public sequences and element position shuffling algorithms, the privacy protection problem of coordinated adjustment of business data location in multi-party computing is solved, and effective coordinated processing of business data without leaking data content and adjustment methods is realized, reducing communication complexity.

CN114254354BActive Publication Date: 2025-08-08SHANGHAI MATRIXELEMENTS TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111579679.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-22
Publication Date
2025-08-08
Estimated Expiration
2041-12-22

AI Technical Summary

Technical Problem

In multi-party computing, how to achieve coordinated position adjustment of business data without exposing plain text data to meet privacy protection needs, especially in business processing such as data binning and model training, it is difficult for the existing technology to achieve effective privacy protection.

Method used

By obtaining auxiliary public sequences, using element position shuffling algorithm and homomorphic encryption technology, the designated privacy sequence is re-arranged, and coordinated with other business parties under privacy protection to achieve position adjustment.

Benefits of technology

Without revealing the specific content and position adjustment method of the reference privacy sequence, the location adjustment of the specified privacy sequence is completed, the communication volume complexity and number of communication rounds are reduced, and effective privacy protection and service collaborative processing are achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114254354B_ABST
    Figure CN114254354B_ABST
Patent Text Reader

Abstract

The embodiments of this specification specifically disclose a business collaborative processing method, apparatus, medium, and device based on privacy protection. The method includes: obtaining an auxiliary public sequence; the auxiliary public sequence refers to a sequence disclosed by a business party holding a reference private sequence and used to characterize the position adjustment method of the reference private sequence in an encrypted manner; using the auxiliary public sequence to perform position adjustment on the private sequence fragments held by the specified business party in the specified private sequence to obtain the rearranged private sequence fragments; and jointly performing business collaborative processing under privacy protection with other business parties using at least the rearranged specified private sequence fragments held by each business party.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification applies to the field of business collaborative processing technology, and specifically relates to a business collaborative processing method, device, medium and equipment based on privacy protection. Background Art

[0002] Secure multi-party computation (MPC) mainly solves the problem of how two or more parties can successfully complete a calculation without revealing their inputs to each other. The current application prospects of MPC are becoming more and more extensive, and the demand for business collaboration between enterprises, units and individuals is becoming increasingly strong. A typical scenario is that in the rapid development of artificial intelligence, the demand for data privacy has become increasingly strong. In business processes such as feature data quality analysis and AI model training, the required business data cannot be obtained due to privacy compliance reasons, resulting in the inability to complete the corresponding business processing. At present, attempts are being made to use MPC to solve the privacy protection problem of business processing, that is, how to have multiple business parties collaborate to perform business processing without directly exposing plaintext data. Summary of the Invention

[0003] The purpose of the embodiments of this specification is to provide a privacy-protected collaborative business processing method, apparatus, medium, and device, which can complete the process of adjusting the position of a specified privacy sequence based on the position adjustment method of a reference privacy sequence without exposing the specific content and position adjustment method of the reference privacy sequence, thereby realizing privacy-protected collaborative business processing.

[0004] This specification provides a privacy-preserving collaborative business processing method, apparatus, medium, and device, which are implemented in the following ways:

[0005] A business collaborative processing method based on privacy protection is applied to a designated business party in business collaborative processing, the method comprising: obtaining an auxiliary public sequence; the auxiliary public sequence is a sequence disclosed by a business party holding a reference private sequence and used to characterize the position adjustment method of the reference private sequence in an encrypted manner; using the auxiliary public sequence to perform position adjustment on the private sequence fragments held by the designated business party in the designated private sequence to obtain rearranged private sequence fragments; and jointly performing business collaborative processing under privacy protection with other business parties in business collaborative processing, at least using the rearranged designated private sequence fragments held by each business party.

[0006] In some other embodiments, the auxiliary public sequence is disclosed by the business party holding the reference private sequence after processing the auxiliary private sequence using an element position shuffling algorithm; wherein, the auxiliary private sequence refers to a sequence used by the business party holding the reference private sequence to represent the position adjustment method of the reference private sequence in ciphertext form.

[0007] In some other embodiments, the use of the auxiliary public sequence to perform position adjustment on the privacy sequence fragments held by the designated business party in the designated privacy sequence to obtain privacy sequence fragments after position rearrangement includes: using the element value at any position in the auxiliary public sequence to represent the position identifier of the element adjusted to that position in the designated privacy sequence, performing position adjustment on the designated privacy sequence fragments held by the designated business party to obtain intermediate designated privacy sequence fragments; and using the reverse shuffling algorithm corresponding to the element position shuffling algorithm to reverse shuffle the intermediate designated privacy sequence fragments to obtain designated privacy sequence fragments after position rearrangement.

[0008] In some other embodiments, the auxiliary privacy sequence is constructed by the business party holding the reference privacy sequence in the following manner: an initial auxiliary sequence is obtained, the position identifier of the initial auxiliary sequence is the same as the position identifier of the reference privacy sequence, and the element value at any position in the initial auxiliary sequence is configured as the ciphertext form of the position identifier of the corresponding position; the initial auxiliary sequence is position adjusted based on the position adjustment method of the reference privacy sequence to obtain an auxiliary privacy sequence.

[0009] In other embodiments, when the reference privacy sequence is collaboratively adjusted by more than two business parties, the auxiliary public sequence is constructed by the business party holding the reference privacy sequence fragment in the following manner: obtaining an initial auxiliary sequence fragment, the position identifier in the initial auxiliary sequence fragment is the same as the position identifier of the reference privacy sequence fragment held by the business party, and the element value at any position in the initial auxiliary sequence fragment is configured as the ciphertext form of the position identifier of the corresponding position; based on the position adjustment method of the reference privacy sequence fragment held by the business party, the initial auxiliary sequence fragment is position adjusted to obtain an auxiliary privacy sequence fragment; using the element position shuffling algorithm to shuffle the auxiliary privacy sequence fragment to obtain an auxiliary public sequence fragment, and publicly disclose the auxiliary public sequence fragment; obtaining the auxiliary public sequence fragments disclosed by other business parties holding the reference privacy sequence, and combining the auxiliary public sequence fragments to obtain an auxiliary public sequence.

[0010] In other embodiments, the element position shuffling algorithm includes a shuffle algorithm.

[0011] On the other hand, the present specification also provides a business collaborative processing device based on privacy protection, which is applied to a designated business party in business collaborative processing, and the device includes: a public sequence acquisition module, used to obtain an auxiliary public sequence; the auxiliary public sequence refers to a sequence disclosed by the business party holding the reference privacy sequence, which is used to characterize the position adjustment method of the reference privacy sequence in an encrypted manner; a position adjustment module, used to use the auxiliary public sequence to perform position adjustment on the designated privacy sequence fragments held by the designated business party to obtain the designated privacy sequence fragments after position rearrangement; a collaborative processing module, used to jointly perform business collaborative processing under privacy protection with other business parties in business collaborative processing, at least using the designated privacy sequence fragments after position rearrangement held by each business party.

[0012] In some other embodiments, when the reference privacy sequence is collaboratively adjusted by two or more business parties including the designated business party, the device further includes an auxiliary public sequence construction module; wherein the auxiliary public sequence construction module includes: an initial auxiliary sequence acquisition unit, for acquiring an initial auxiliary sequence fragment, wherein the position identifier in the initial auxiliary sequence fragment is the same as the position identifier of the reference privacy sequence fragment held by the business party, and the element value at any position in the initial auxiliary sequence fragment is configured as the ciphertext form of the position identifier of the corresponding position; a position adjustment unit, for adjusting the position of the initial auxiliary sequence fragment based on the position adjustment method of the reference privacy sequence fragment held by the business party, to obtain an auxiliary privacy sequence fragment; a position shuffling unit, for performing element position shuffling processing on the auxiliary privacy sequence fragment using an element position shuffling algorithm, to obtain an auxiliary public sequence fragment; a disclosure unit, for disclosing the auxiliary public sequence fragment; a sequence fragment combination unit, for acquiring the auxiliary public sequence fragments disclosed by other business parties holding the reference privacy sequence, and combining the auxiliary public sequence fragments to obtain an auxiliary public sequence.

[0013] On the other hand, an embodiment of this specification further provides a computer-readable storage medium having computer instructions stored thereon, which, when executed by a processor, implement the steps of the method described in any one or more of the above embodiments.

[0014] On the other hand, an embodiment of this specification also provides a computer device, including a memory, a processor, and computer instructions stored in the memory, wherein the processor executes the computer instructions to implement the steps of the method described in any one or more of the above embodiments.

[0015] The privacy-preserving collaborative business processing method, apparatus, medium, and device provided in one or more embodiments of this specification can complete the process of adjusting the position of a specified private sequence based on the position adjustment method of a reference private sequence without exposing the specific content of the reference private sequence or the position adjustment method, thereby realizing privacy-preserving collaborative business processing. Furthermore, during the collaborative position adjustment process, a business party only needs to send the auxiliary public sequence fragment to another business party, achieving O(n) communication volume complexity and O(1) communication round complexity, significantly reducing the communication volume complexity and communication round complexity of privacy-preserving collaborative business processing. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] In order to more clearly illustrate the embodiments of this specification or the technical solutions in the prior art, the following briefly introduces the drawings required for the embodiments or the description of the prior art. Obviously, the drawings described below are only some of the embodiments described in this specification. For those skilled in the art, other drawings can be obtained based on these drawings without inventive work. In the drawings:

[0017] Figure 1 A diagram of the interactive process of collaborative business processing based on privacy protection provided in this manual;

[0018] Figure 2 A schematic diagram of the positional cooperative rearrangement of the specified privacy sequence provided in this specification;

[0019] Figure 3 A schematic diagram of the positional cooperative rearrangement of the reference privacy sequence provided in this specification;

[0020] Figure 4 A schematic diagram of cyclic shift during the position coordinated rearrangement execution process provided in this specification;

[0021] Figure 5 A schematic diagram of sequence expansion during the execution of positional coordinated rearrangement provided in this specification;

[0022] Figure 6 A diagram of the interactive process of collaborative business processing based on privacy protection provided in this manual;

[0023] Figure 7 A schematic diagram of the positional cooperative rearrangement of the specified privacy sequence provided in this specification;

[0024] Figure 8 A schematic diagram of the implementation process of the privacy protection-based business collaborative processing method provided in this manual;

[0025] Figure 9A schematic diagram of constructing an auxiliary privacy sequence for multi-party collaborative position rearrangement provided in this specification;

[0026] Figure 10 This is a schematic diagram of the business collaborative processing module structure based on privacy protection provided in this manual;

[0027] Figure 11 This is a schematic diagram of the module structure of the computer equipment provided in this manual. DETAILED DESCRIPTION

[0028] In order to help those skilled in the art better understand the technical solutions in this specification, the following will clearly and completely describe the technical solutions in one or more embodiments of this specification in conjunction with the drawings in one or more embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of the specification, not all of the embodiments. Based on one or more embodiments of this specification, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the embodiments of this specification.

[0029] The solutions provided in the embodiments of this specification can be applied to various business parties in business collaborative processing. The various business parties in the business collaborative processing may be devices corresponding to enterprises, units, individuals, etc. In view of the differences among the business parties involved in business collaborative processing, the plaintext data of each business party involved in the business collaborative processing process needs to be privacy-protected and cannot be directly exposed to other business parties, so as to achieve the purpose of privacy protection of the business data held by each business party. Under this business application requirement, the business collaborative processing based on privacy protection may include: model collaborative training and collaborative prediction based on privacy protection, business collaborative data analysis based on privacy protection, etc.

[0030] In a scenario example, Figure 1 As shown in the figure, assuming that the business parties involved in the collaborative business processing are P1 and P2, each business party can read business data from its corresponding business system and perform collaborative business processing based on multi-party secure computation. Of course, the collaborative business processing process can also involve a coordination service device, which can communicate with the devices of each business party to execute or unify the processing instructions involved in the collaborative business processing process.

[0031] In business processing processes such as collaborative model training and collaborative prediction based on privacy protection, and collaborative business data analysis based on privacy protection, the collaborative adjustment of the business data positions of various business parties is one of the business processing sub-links that is commonly involved in many business collaborative processing processes. For example, data binning processing involves the sorting of feature data and the corresponding position adjustment of label data. Therefore, how to handle the collaborative adjustment of business data positions based on privacy protection is very critical to business collaborative processing. In the collaborative adjustment of business data positions based on privacy protection, it is necessary to adjust the position of the specified privacy sequence without knowing the specific form of the reference privacy sequence on which it is based, and without disclosing the adjustment method of the reference privacy sequence on which it is based, so as to protect the privacy of the business data involved in the business collaborative processing as much as possible.

[0032] For example, in data binning, suppose business party P1 holds some feature data and some label data, while business party P2 holds another portion of feature data and another portion of label data. Business parties P1 and P2 need to collaborate to bin the data as required and then calculate the IV (Information Value) of the feature data based on the binned feature data to measure the overall predictive power of the feature data.

[0033] In the process of performing data binning, it involves treating the feature data held by business parties P1 and P1 as a whole and sorting them to perform binning based on the sorted feature data. Usually, each feature value and label value in the feature data and label data is associated with a business object. Business objects can be user objects, commodity objects, transaction objects, and so on. For example, if the business object is a user object, the feature type is age, and the label type is user risk, then the feature value in the feature data is the age of each user, and the label value in the label data is the risk level of each user. Accordingly, the feature sequence composed of each feature value and the position of the feature value and label value of each business object in the label sequence composed of each label value need to be consistent to facilitate subsequent business processing. After sorting the feature data, it is also necessary to synchronize the label data based on the feature value position adjustment method involved in the sorting process of the feature data, so that the label data corresponding to each business object after the position adjustment corresponds to the position of the feature data.

[0034] However, in the data binning process based on privacy protection, in the above-mentioned position adjustment process, it is necessary for business parties P1 (P2) to collaboratively complete the position adjustment of the feature data without exposing the specific form of the feature data held by each business party P1 (P2), and for the two business parties to collaboratively complete the position adjustment of the label data without exposing the position adjustment method of the feature data.

[0035] like Figure 2 As shown, array A is the reference privacy sequence, array A new Is the specified privacy sequence to be adjusted, array A new The position adjustment should be performed according to the position adjustment method of array A. Arrays A and A new Part of shard A is held by business parties P1 and P2 respectively 1 、A 1 new and A 2 、A 2 new . Corresponding to the above scenario example, A 1 It can be the ciphertext form of the feature data fragment held by the business party P1, A 2 It can be the ciphertext form of the feature data fragment held by the business party P2, A 1 new It can be the ciphertext form of the label data fragment held by the business party P1, A 2 new It can be the ciphertext form of the label data fragment held by the business party P2. For example, the feature data and label data can be encrypted using the homomorphic encryption algorithm to obtain A 1 、A 1 new and A 2 、A 2 new , so that the result of a certain operation on the ciphertext data is exactly equal to the ciphertext obtained after performing the expected operation on the plaintext data before encryption and then encrypting it.

[0036] It should be noted that Figure 2 The arrays A and A shown in new This is a combination of shards given directly for ease of presentation. In fact, array A corresponds to shard A of business parties P1 and P2. 1 、A 2 , array A new Shard A corresponding to business parties P1 and P2 new 1 、A new 2 , stored locally on business parties P1 and P2 respectively, and will not leave business parties P1 and P2.

[0037] Business parties P1 and P2 can cooperate to adjust the position of each element in array A to obtain array A'. Assume that business parties P1 and P2 cooperate to sort the elements involved in array A from small to large, and business parties P1 and P2 then cooperate to adjust the position of array A according to the position adjustment method performed during the sorting process. new Adjust the position. It should be noted that Figure 2 Array A innew After adjusting the position according to the position adjustment method of array A, the resulting array A′ new This is also a sorting method from small to large, which is an example of a special case. In actual implementation, array A new The position adjustment is based on the position adjustment method of array A, not limited to array A. new Sort the array A according to its sorting order.

[0038] Business parties P1 and P2 can first sort their respective feature data ciphertext fragments locally to form an ordered array fragment A. 1 、A 2 , so the sorting problem becomes how to slice two ordered arrays into A 1 、A 2 Adjust the data into an overall ordered array. Under privacy protection settings, data size comparison during the sorting process can be implemented using private_compare under MPC. At the same time, the movement of subscripts during the sorting process cannot be leaked, otherwise the relative sizes of the two data points compared each time will be exposed, thus leaking the privacy of the feature data.

[0039] like Figure 3 As shown, each business party can construct a one-hot vector A separately _index 、B _index , then, based on the one-hot vector, collaborate to complete A 1 、A 2 It should be noted that, for the sake of convenience, Figure 3 、 Figure 4 The one-hot vector shown in the figure is in plaintext. In practical applications, the one-hot vector exists in ciphertext. For example, the one-hot vector can be encrypted using a homomorphic encryption algorithm.

[0040] Each business party can obtain the one-hot vector A separately _index 、B _index With A 1 、A 2 The inner product of 1 、A 2 The corresponding element of _index and A 1 Inner product, you can take out A 1 The first element of A 2 Similarly, after taking it out, we can compare b = private_compare (11, 10) and get the comparison result b. The value of b is 1 or 0. If we can set A 1 The elements taken out are greater than A 2 If the element taken out is large, b is 1; A1 The elements taken out are greater than A 2 If the element to be taken out is small, b is set to 0. You can also set A 2 The elements taken out are greater than A 1 The element taken out is large; then b is 1, A 2 The elements taken out are greater than A 1 The extracted element is smaller, and b is set to 0. Then, based on the comparison result b, 10 and 11 can be selected under the ciphertext, res = private_select(11,10,b), and which element of 10 or 11 is configured with position 1 in the new array A′.

[0041] The next step is to 2 The index of B moves to the right, and its second element is taken out to participate in the next round of comparison. The problem is that if we directly operate B _index , which is obviously telling others that the previous comparison result is A 2 The element of is small, so in this cycle, update B _index The process leaks information about the relative size of the data. Figure 4 As shown, an additional shift one-hot vector A can be generated _next_index and B _next_index The method of generating is that business parties P1 and P2 respectively locally _index 、B _index Perform cyclic shift, such as A _index or B _index The last bit of A is moved to its beginning, which does not leak information. _index or B _index The first bit of the string is moved to the end of the string, and so on. The operation method can be changed as needed.

[0042] Afterwards, we can use the comparison result b to _index and A _next_index Make a ciphertext choice: A _index =private_select(A _index , A _next_index , 1-b), the one selected is the one to be matched with A in the next round 1 Do the inner product of the vectors. _index Still A _next_index , and private_select are all performed in ciphertext, so no information is exposed. _index and B _next_index Do the same operation. In this way, the result of the selection is also ciphertext, and it does not reveal that it is A _index Move right or B _indexMoved to the right, but did not expose A _index No movement to the right or B _index There is no right shift. Then we can loop again, take out the elements, compare, and so on.

[0043] Because of A 1 and A 2 When traversing, there may be a situation where one shard is traversed first. In this case, even if the previous solution is used, the information will be exposed: the elements of the remaining shard are relatively large. Therefore, for this situation, Figure 5 As shown, it can be 1 and A 2 Add at least two positions after A and configure float64_max values at the two added positions so that A _index or B _index When it moves to the max value, the dot product takes out the max, and when it is compared again, it will never be smaller than other numbers, so that A _index or B _index It will not move to the right anymore, thus avoiding exposing that the elements of the remaining shard are relatively large, further achieving the purpose of privacy protection.

[0044] Through the above sorting algorithm, business parties P1 and P2 can respectively implement A locally. 1 and A 2 Adjust the position of each element in the local record A 1 and A 2 The adjusted position information of each element in is obtained, which is equivalent to reordering the array A as a whole to obtain A′.

[0045] Afterwards, the array A can be sorted based on the position adjustment method involved in the process of sorting the array A. new position adjustment.

[0046] Array I can be further introduced and used as the initial auxiliary sequence. Accordingly, the position identifier of the initial auxiliary sequence is the same as the position identifier of the reference privacy sequence, and the element value at any position in the initial auxiliary sequence is configured as the ciphertext form of the position identifier of the corresponding position. In this scenario example, P1 and P2 can first cooperate to configure the position identifier for array A, that is, A 1 and A 2 Configure the location identifier. Figure 3As shown, assuming that after the position identifier configuration is completed, the position identifiers of A are 1, 2, ..., 9 from left to right, then the position identifiers of array I are also 1, 2, ..., 9 from left to right, and the element values at each position identifier are also 1, 2, ..., 9 from left to right. Of course, if the position identifiers of array A start from zero, such as 0, 1, ..., 8 from left to right, then the position identifiers and element values of array I are also 0, 1, ..., 8 from left to right. Of course, the position identifier configuration of the above reference privacy sequence is only an example for preferred illustration, and those skilled in the art can also make changes as needed, such as using the business object identifier as the position identifier.

[0047] Given that A 1 and A 2 It is distributed among different business parties, and array I is the shard A held by the business party. 1 、A 2 Therefore, the array I actually includes the shards I distributed in the two business parties P1 and P2. 1 , I 2 , respectively with A 1 、A 2 Corresponding. Figure 2 Array I is presented in plaintext. In reality, each slice of array I is also stored locally in ciphertext on each business entity. Each slice of array I can be encrypted using an algorithm such as homomorphic encryption, so that the result of a certain operation on the ciphertext data is exactly the same as the ciphertext obtained by performing the intended operation on the unencrypted data.

[0048] Business parties P1 and P2 can cooperate to transform array I into array I' based on the same position adjustment method as array A. Since the process of transforming array A into array A' is essentially completed through private_select, such as the first element of array A' is to select one between 11 and 10. Therefore, array I can be transformed into array I' through the same selection and movement. That is, in the sorting process, another initial auxiliary array I is introduced, and according to the comparison results in the sorting process, each business party performs the same operation on the slices of the initial auxiliary array I held by it as on the slices of the array A held by it, and obtains array I'. The specific execution method refers to the above-mentioned sorting implementation process of array A, which will not be repeated here. It should be noted that, Figure 2 The array I′ shown in FIG is for the sake of convenience. In fact, each business party locally allocates the slice I it holds. 1 , I 2 The elements in the shard are repositioned and the shard I is recorded locally. 1 , I 2 The adjusted position information of each element in the shard I1 , I 2 On the basis that the elements of do not leave the business parties P1 and P2, it is equivalent to changing the array I into the array I′ as a whole.

[0049] like Figure 2 As shown, in plain text display, after the position of array A is adjusted, the element at position identifier 1 of array A′ is the element "10" at position identifier 5 of array A, and accordingly, the element value at position identifier 1 of array I′ corresponds to position identifier 5 of array A; the element at position identifier 2 of array A′ is the element "11" at position identifier 1 of array A, and accordingly, the element value at position identifier 2 of array I′ corresponds to position identifier 1 of array A; and so on, in plain text display, the element value at each position in array I′ is the position identifier of the element of array A adjusted to the corresponding position, thereby realizing the use of array I′ to represent the position adjustment method of array A.

[0050] It should be noted that Figure 2 The arrays I′ and I′ shown in new They are all shown in plain text, but in actual application, because array I exists in cipher text, array I is changed to array I' and I' new In the process, it does not involve the processing of the element values of array I, so I' and I' new They are all in the form of ciphertext. Accordingly, in practical applications, the element values at each position in array I′ can be used to represent the position identifiers of the elements adjusted to the corresponding positions in array A in ciphertext form. In order to facilitate the distinction of expressions, array I′ can be described as an auxiliary privacy sequence. Accordingly, slice I can be 1 , I 2 The fragment information formed after the above position adjustment is described as fragment I 1 , I 2 The corresponding auxiliary privacy sequence sharding.

[0051] After obtaining the array I', business parties P1 and P2 can further cooperate to shuffle the elements of array I'. For example, they can perform a shuffle transformation on array I'. Figure 2 The shuffle process shown in the figure is to move the first three elements of array I' to the end, thereby realizing the position shuffling of the position information of the elements of array I'. Of course, this shuffle process example is only for illustration, and the specific implementation can be configured as needed. Figure 2As shown, after business party P1 shuffles the element positions in its auxiliary privacy sequence shards, the resulting position information is: element "1" is identified as position 8, element "2" is identified as position 9, element "3" is identified as position 3, and element "4" is identified as position 5. After business party P2 shuffles the element positions in its auxiliary privacy sequence shards, the resulting position information is: element "5" is identified as position 7, element "6" is identified as position 1, element "7" is identified as position 2, element "8" is identified as position 4, and element "9" is identified as position 6. Business parties P1 and P2 can record the position information of each element in the auxiliary privacy sequence shards after the element positions are shuffled.

[0052] When the values of each element corresponding to array I′ exist in ciphertext form, I′ will not disclose the specific content of the position identifier of array A; after further shuffling the positions of each element in I′, the position information of each element in array I′ can also be avoided from being exposed, so that even if a third party steals the sequence obtained after shuffling, it cannot deduce the position adjustment method of array A. Accordingly, each business party can disclose the sequence fragments obtained after shuffling the auxiliary privacy sequence fragments it holds. The disclosed sequence will not expose the specific content of the position identifier of the reference privacy sequence fragments held by each business party, nor will it disclose the position adjustment method of each element in the reference privacy sequence fragments, thereby ensuring the data privacy of each business party. For the sake of convenience, the sequence fragments obtained after shuffling the auxiliary privacy sequence fragments held can be described as auxiliary public sequence fragments.

[0053] Business party P1 (P2) can directly send the auxiliary public sequence fragments to business party P2 (P1). Business party P1 (P2) can also send the auxiliary public sequence fragments to the coordination service device, which will forward them to business party P2 (P1). Of course, business party P1 (P2) can also obtain the auxiliary public sequence fragments disclosed by business party P2 (P1) through other means.

[0054] Business parties P1 and P2 can obtain the auxiliary public sequence fragments disclosed by the other business party, and combine the obtained auxiliary public sequence fragments and the auxiliary public sequence fragments they hold to obtain I′ new In order to facilitate the distinction of expression, the array I′ new As an auxiliary public sequence.

[0055] Business parties P1 and P2 can collaborate to use array I' locally new , for the array A held new Shard A 1 new 、A 2 new Adjust the position of each element in the . Figure 2 As shown, the business parties P1 and P2 can use the element value at any position in the auxiliary public sequence to represent the position identifier of the element to be adjusted to that position in the specified private sequence, and perform position adjustment on the specified private sequence fragment held by the specified business party. Business party P1 can obtain I′ new The element value at position 8 is "1", which means that array A new The element with position 1 is placed at position 8; business party P1 can also record array A new The element with position ID 1 is adjusted to position ID 8. Business party P2 can obtain I′ new The element value at position 7 is "5", which means that array A new The element with position marker 5 is placed at position marker 7; business party P2 can also record array A new The element with position ID 5 is adjusted to position ID 7. Similarly, business parties P1 and P2 can use array I′ to new Extract the shard A that you own 1 new 、A 2 new The adjusted position information of each element in the , and record the adjusted position information of each element.

[0056] Of course, business parties P1 and P2 can obtain I′ on demand new The element value at each position is the value of the array A new The position of each element in the ; I′ can also be obtained in a random way new The element value at each position is the value of the array A new Adjust the position of each element in I′; or you can also get I′ at the same time new The element value at each position is the value of the array A new The position adjustment of each element in . Correspondingly, the above position adjustment process can be expressed as A′ new [i]=A new [I′ new [i]].

[0057] For the sake of convenience in distinguishing expressions, the fragment information obtained after each business party performs position adjustment on the designated privacy sequence fragments it holds can be described as an intermediate designated privacy sequence fragment.

[0058] In order to facilitate intuitive display, Figure 2 A 1 new 、A 2 new The new array A′ is obtained by adjusting the position information of each element in newAfterwards, the business parties P1 and P2 can unshuffle the designated private sequence shards according to the previous shuffle format, which is equivalent to the overall shuffle of A′. new Unshuffle is performed. At this point, array A is completed. new The process of performing position adjustment according to the position adjustment method of array A.

[0059] In other implementation scenarios, there may be situations where business party P1 holds all feature data and business party P2 holds all label data. Figure 6 As shown, the position of the tag data of business party P2 can be adjusted in the same way as the position adjustment of the characteristic data of business party P1. In the above position adjustment process, the position adjustment of the tag data needs to be completed locally by business party P2 without exposing the specific form of the characteristic data of business party P1 and the position adjustment method.

[0060] like Figure 7 As shown, array A is the reference privacy sequence, array A new Is the specified privacy sequence to be adjusted, array A new The position adjustment should be performed according to the position adjustment method of array A. Array A can be the ciphertext form of the feature data held by business party P1. new This can be the ciphertext form of the tag data held by the business party P2. For example, a homomorphic encryption algorithm can be used to encrypt the feature data and tag data so that the result of a certain operation on the ciphertext data is exactly the same as the ciphertext obtained by performing the expected operation on the plaintext data before encryption.

[0061] The business party P1 can use a preset position adjustment algorithm to adjust the position of each element in the array A to obtain the array A′. Figure 7 The following shows how to sort the elements involved in array A from small to large to adjust the position of each element in array A; array A new The position adjustment is performed according to the position adjustment method performed by array A during the sorting process. It should be noted that, Figure 7 Array A in new After adjusting the position according to the position adjustment method of array A, the resulting array A′ new This is also a sorting method from small to large, which is an example of a special case. In actual implementation, array A new The position adjustment is based on the position adjustment method of array A, not limited to array A. new Sort the array A according to its sorting order.

[0062] Afterwards, the array A can be sorted based on the position adjustment method involved in the process of sorting the array A.new position adjustment.

[0063] An array I can be further introduced, which is an initial auxiliary sequence. The position identifier of the initial auxiliary sequence is the same as the position identifier of the reference privacy sequence, and the element value at any position in the initial auxiliary sequence is configured as the ciphertext form of the position identifier of the corresponding position. It should be noted that, for the sake of convenience, Figure 7 The arrays I, I′ and I′ shown in new They are also shown in plain text, but in actual application, arrays I, I′ and I′ new They are all in the form of ciphertext. I can be encrypted using a homomorphic encryption algorithm so that the result of a certain operation on the ciphertext data is exactly equal to the ciphertext obtained by performing the expected operation on the data before encryption; accordingly, I′ and I′ new It also exists in ciphertext form.

[0064] like Figure 7 As shown, assuming that the position identifiers of array A are 1, 2, ..., 9 from left to right, then the values of the elements at the corresponding position identifiers of array I are 1, 2, ..., 9. Of course, if the position identifiers of array A start from zero, such as 0, 1, ..., 8 from left to right, then the values of the elements at the corresponding position identifiers of array I are 0, 1, ..., 8. Of course, the position identifier configuration of the above reference privacy sequence is only a preferred example, and those skilled in the art can also make changes as needed, such as using the business object identifier as the position identifier.

[0065] Business party P1 can change array I into array I' based on the same position adjustment algorithm as array A. In order to facilitate the distinction of expression, array I' can be used as an auxiliary privacy sequence. Accordingly, the value of the element at each position in array I' can be used to represent the position identifier of the element adjusted to the corresponding position in array A. For example, after the position adjustment of array A, the element at position identifier 1 of array A' is the element "10" at position identifier 5 of array A, and accordingly, the value of the element at position identifier 1 of array I' corresponds to the position identifier 5 of array A; the element at position identifier 2 of array A' is the element "11" at position identifier 1 of array A, and accordingly, the value of the element at position identifier 2 of array I' corresponds to the position identifier 1 of array A; and so on.

[0066] After that, the element positions of array I′ can be shuffled. For example, array I′ can be shuffled to obtain I′ new Then, business party P1 can use I′ new In order to facilitate the distinction of expression, the array I' can be new As an auxiliary public sequence. Figure 2 The shuffle process shown in FIG is to move the first three elements of array I′ to the end, thereby shuffling the position information of the elements of array I′. Of course, this example is only for illustration, and the specific implementation can be configured as needed.

[0067] Since array I′ exists in ciphertext form, array I′ new The element value of the array A will not reveal the position of the position of the position of the specific content, further shuffle conversion of I' can also further avoid exposing the position of each element in the array I', so that it is impossible to obtain the position of the elements in the array I' from the public I'. new Derive the position adjustment method of array A.

[0068] Business party P1 can directly use array I' new Send to business party P2. Business party P1 can also send array I' new It is sent to the coordination service device, which forwards it to the business party P2. Of course, the business party P2 can also obtain the array I' disclosed by the business party P1 through other means. new .

[0069] Accordingly, the business party P2 can use the array I' locally new , for array A new Adjust the position of each element in the . Figure 7 As shown, business party P2 can obtain I′ new The element value at position 1 is "6", which means that array A new The element with position 6 is placed at position 1; business party P2 can obtain I′ new The element value at position 2 is "7", which means that array A new The element with position marker 7 is placed at position marker 2; and so on, based on array I′ new Complete the pairing of array A new Adjust the position of each element in to get A′ new The above position adjustment process can be expressed as A′ new [i]=A new [I′ new [i]].

[0070] Afterwards, the business party P2 shuffles the array A′ according to the previous shuffle method. new Perform unshuffle. At this point, array A is completed. new The process of performing position adjustment according to the position adjustment method of array A.

[0071] Of course, the implementation methods described in the above scenario examples are only preferred examples. For example, the position adjustment method of the above array A can also adopt other types of position adjustment methods, such as sorting the positions from large to small, adjusting the positions according to preset indicators, etc., but as long as the functions and effects achieved are the same or similar, they should be covered within the scope of protection of this specification.

[0072] By performing the coordinated position adjustment of the business data sequence through the above implementation, the array A can be completed without exposing the specific content of the array A and the position adjustment method. new The position adjustment process is performed according to the position adjustment method of array A, thereby realizing privacy-preserving collaborative business processing. Furthermore, using the above implementation, a business party only needs to send the auxiliary public sequence fragment to another business party, and can also achieve O(n) communication complexity and O(1) communication round complexity, significantly reducing the communication complexity and communication round complexity of privacy-preserving collaborative business processing.

[0073] Based on the above scenario example, the embodiment of this specification provides a business collaborative processing method based on privacy protection, which can be applied to a designated business party in business collaborative processing. The designated business party can refer to any of the business parties involved in the business collaborative processing, or it can refer to a pre-designated business party. Figure 8 As shown, the method may include the following steps.

[0074] S80: Acquire an auxiliary public sequence; the auxiliary public sequence refers to a sequence disclosed by a service provider holding a reference private sequence and used to represent a position adjustment method of the reference private sequence in an encrypted manner.

[0075] The business collaborative processing may be a business processing method performed collaboratively by at least two business parties. As described in the above scenario example, the business collaborative processing may be a data binning process performed collaboratively by business parties P1 and P2. Of course, in other scenario examples, the business collaborative processing may also include other business processing types, such as collaborative training of business models, collaborative risk prediction of business objects, and so on. The business parties involved in the business collaborative processing may be two parties or multiple parties. Figure 9 As shown, during the process of adjusting the positions of the two elements, the same operations can be performed on array I, as described above. After multiple pairwise operations, array I' can be obtained. Next, the element positions of array I' can be scrambled and then made public.

[0076] In various business processing processes, the business data to be processed can be stored in the form of sequences. For example, in the aforementioned data binning process, feature data and label data are typically stored in the form of vectors, namely feature vectors and label vectors. Each element of the feature vector and label vector corresponds to the feature value and label value corresponding to a different business object, respectively. Accordingly, at the data level, the feature vector and label vector can each be a set of data sequences. The values of each element in the data sequence can be either numeric or character, without limitation here.

[0077] In order to facilitate the identification of the position of each element in the data sequence, a position identifier can be configured for the position of each element in the data sequence. Figure 2 As shown, the position identifiers of the elements in the data sequence can be configured as 1, 2, 3, ... from left to right. Of course, the position identifiers of the elements in the data sequence can also be configured as 0, 1, 2, ... from left to right; or, the position identifiers of the elements in the data sequence can also be configured as 0, 1, 2, ... from right to left; of course, the position identifiers of the elements in the data sequence can also be randomly determined or given based on other rules instead of increasing from left to right or from right to left, which is not limited here.

[0078] In business processing processes such as privacy-protected model collaborative training and collaborative prediction, and privacy-protected business collaborative data analysis, the collaborative adjustment of business data locations among various business parties is one of the business processing sub-links commonly involved in many business collaborative processing processes. Therefore, how to handle the collaborative adjustment of business data locations based on privacy protection is very critical to business collaborative processing.

[0079] In the process of collaborative position adjustment of data sequences, for the sake of convenience, the data sequence used as a reference arrangement can be described as a reference privacy sequence, and the data sequence that performs position adjustment based on the position adjustment method of other data sequences can be described as a designated privacy sequence. As described in the above data binning application scenario, the reference privacy sequence is the ciphertext form of the feature data, and the designated privacy sequence is the ciphertext form of the label data. Figure 2 or Figure 7 As shown, Figure 2 or Figure 7 The array A in is the reference privacy sequence, array A new Is the specified privacy sequence to be adjusted, array A new The position adjustment should be performed according to the position adjustment method of array A.

[0080] The designated privacy sequence can be held by one business party or by two or more business parties. In the case where the designated privacy sequence can be held by one business party, the designated privacy sequence fragment includes all the information of the designated privacy sequence, such as Figure 7 In the case where the specified privacy sequence can be held by more than two business parties, the specified privacy sequence fragment includes part of the information of the specified privacy sequence, such as Figure 2 shown.

[0081] The reference privacy sequence can be held by one business party or jointly held by two or more business parties. When the designated privacy sequence is held by one business party and the reference privacy sequence is also held by one business party, the business party holding the reference privacy sequence is a business party other than the designated business party, that is, the designated privacy sequence and the reference privacy sequence are held by different business parties respectively. When the reference privacy sequence is jointly held by two or more business parties, or the designated privacy sequence is jointly held by two or more business parties, the business parties holding the reference privacy sequence may include the business party holding the designated privacy sequence, or may not include the business party holding the designated privacy sequence, that is, there is no restriction on the business party holding the reference privacy sequence and the business party holding the designated privacy sequence, and there may or may not be overlap.

[0082] In the case where the reference privacy sequence is held by a single business party, as shown in the above scenario example, the business party can adjust the position of the reference privacy sequence based on a pre-set position adjustment method. The pre-set position adjustment method can be, for example, sorting the values of the elements in the reference privacy sequence from smallest to largest. Of course, other position adjustment methods are also possible and are not limited here. In the case where the reference privacy sequence is held by two or more business parties, the two or more business parties can collaboratively adjust the position of the reference privacy sequence based on the pre-set position adjustment method.

[0083] In the process of adjusting the position of the reference privacy sequence, the business party holding the reference privacy sequence can construct an auxiliary sequence to use the auxiliary sequence to characterize the position adjustment method of the reference privacy sequence. Given that the element sorting information and position adjustment method of the reference privacy sequence cannot be leaked during the business collaborative processing based on privacy protection, the auxiliary sequence can be encrypted in the process of using the auxiliary sequence to characterize the position adjustment method of the reference privacy sequence. Accordingly, the business party holding the reference privacy sequence can make the encrypted auxiliary sequence public, so that even if the public auxiliary sequence is obtained by a third party, it cannot easily deduce the element sorting information and position adjustment method of the reference privacy sequence, thereby maximizing the protection of the privacy of the data held by the business party. In order to facilitate the distinction of expression, the auxiliary sequence disclosed by the business party holding the reference privacy sequence can be described as an auxiliary public sequence. Accordingly, the designated business party can obtain the auxiliary public sequence, wherein the auxiliary public sequence is used to characterize the position adjustment method of the reference privacy sequence in an encrypted manner.

[0084] In some embodiments, the auxiliary public sequence can be made public by the business party holding the reference private sequence after processing the auxiliary private sequence using an element position shuffling algorithm; wherein the auxiliary private sequence refers to a sequence used by the business party holding the reference private sequence to represent the position adjustment method of the reference private sequence in ciphertext form.

[0085] Referring to the above example scenario, an initial auxiliary sequence can be pre-constructed. The position identifier of the initial auxiliary sequence is the same as the position identifier of the reference private sequence, and the element value at any position in the initial auxiliary sequence is configured as the ciphertext form of the position identifier of the corresponding position. The initial auxiliary sequence can be constructed by the business party holding the reference private sequence or by the coordination service device.

[0086] The business party holding the reference privacy sequence can obtain the initial auxiliary sequence and perform position adjustment on the initial auxiliary sequence based on the position adjustment method of the reference privacy sequence to obtain the auxiliary privacy sequence. The business party holding the reference privacy sequence can simultaneously perform corresponding position adjustment on the initial auxiliary sequence during the position adjustment of the reference privacy sequence; or, after the position adjustment of the reference privacy sequence, perform corresponding position adjustment on the initial auxiliary sequence based on the recorded position adjustment method.

[0087] The business party holding the reference private sequence can further perform element position shuffling on the auxiliary private sequence to obtain an auxiliary public sequence. For example, the shuffle algorithm can be used to perform element position shuffling on the auxiliary private sequence. Of course, other types of element position shuffling algorithms can also be used to process the auxiliary private sequence. Accordingly, the elements of the auxiliary public sequence will not expose the position information of the reference private sequence, nor will they expose the position adjustment method of the reference private sequence. Afterwards, the business party holding the reference private sequence can send the auxiliary public sequence to a designated business party; it can also send the auxiliary public sequence to a coordination service device, which will forward it to the designated business party.

[0088] In some embodiments, when the reference privacy sequence is collaboratively adjusted by more than two business parties, the auxiliary public sequence can also be constructed by the business party holding the reference privacy sequence fragment in the following manner: obtaining an initial auxiliary sequence fragment, the position identifier in the initial auxiliary sequence fragment is the same as the position identifier of the reference privacy sequence fragment held by the business party, and the element value at any position in the initial auxiliary sequence fragment is configured as the ciphertext form of the position identifier of the corresponding position; based on the position adjustment method of the reference privacy sequence fragment held by the business party, the initial auxiliary sequence fragment is adjusted to obtain an auxiliary privacy sequence fragment; the auxiliary privacy sequence fragment is shuffled by using an element position shuffling algorithm to obtain an auxiliary public sequence fragment, and the auxiliary public sequence fragment is made public; obtaining the auxiliary public sequence fragments disclosed by other business parties holding the reference privacy sequence, and combining the auxiliary public sequence fragments to obtain an auxiliary public sequence.

[0089] S82: Using the auxiliary public sequence, position adjustment is performed on the private sequence fragments held by the designated business party in the designated private sequence to obtain rearranged private sequence fragments.

[0090] The designated business party can use the value of an element at any position in the auxiliary public sequence to represent the position identifier of the element to be adjusted to that position in the designated private sequence, perform position adjustment on the designated private sequence fragments held by the designated business party, and obtain intermediate designated private sequence fragments. The intermediate designated private sequence fragments are then processed based on the inverse of the element position shuffling process to obtain rearranged designated private sequence fragments.

[0091] S84: The other business parties involved in the joint business collaborative processing at least use the designated privacy sequence fragments after position rearrangement held by each business party to perform the business collaborative processing under privacy protection.

[0092] After a business party obtains the rearranged designated privacy sequence fragments, it can collaborate with other business parties involved in the collaborative business process to utilize the rearranged designated privacy sequence fragments held by each business party to perform other business processing steps within the collaborative business process under privacy protection. This can include subsequent steps in the aforementioned data binning process, or other steps in collaborative model training. Of course, the designated business party can also collaborate with other business parties involved in the collaborative business process to utilize the adjusted reference privacy sequence and the designated privacy sequence to perform other business processing steps within the collaborative business process under privacy protection.

[0093] By performing collaborative repositioning of business data sequences through the above-described implementation, the process of repositioning a designated private sequence based on the repositioning method of a reference private sequence can be completed without exposing the specific content and repositioning method of the reference private sequence, thereby achieving collaborative business processing based on privacy protection and, in turn, protecting the privacy of business data held by the business parties. Furthermore, using the above-described implementation, during the collaborative repositioning process, a business party only needs to send the auxiliary public sequence fragment to another business party, achieving a communication complexity of O(n) and a communication round complexity of O(1), significantly reducing the communication complexity and communication round complexity of collaborative business processing based on privacy protection.

[0094] Of course, those skilled in the art may come up with other modified implementations based on the technical essence of the embodiments of this specification. However, as long as the functions and effects achieved are the same or similar, they should be included in the scope of protection of this specification.

[0095] The various embodiments in this specification are described in a progressive manner. The same or similar parts between the various embodiments can be referred to each other. Each embodiment focuses on the differences from other embodiments. For details, please refer to the description of the aforementioned related processing embodiments, and no further description is given here.

[0096] The foregoing description of this specification describes specific embodiments. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0097] like Figure 10As shown, based on the above-mentioned business collaborative processing method based on privacy protection, an embodiment of this specification also provides a business collaborative processing device based on privacy protection, which is applied to a designated business party in business collaborative processing. The device includes: a public sequence acquisition module 102, which is used to obtain an auxiliary public sequence; the auxiliary public sequence refers to a sequence disclosed by the business party holding the reference private sequence, which is used to characterize the position adjustment method of the reference private sequence in an encrypted manner; a position adjustment module 104, which is used to use the auxiliary public sequence to perform position adjustment on the designated private sequence fragments held by the designated business party to obtain the designated private sequence fragments after position rearrangement; a collaborative processing module 106, which is used to jointly perform business collaborative processing under privacy protection with other business parties in business collaborative processing, at least using the designated private sequence fragments after position rearrangement held by each business party.

[0098] In some other embodiments, when the reference privacy sequence is collaboratively adjusted by two or more business parties including the designated business party, the device further includes an auxiliary public sequence construction module; wherein the auxiliary public sequence construction module includes: an initial auxiliary sequence acquisition unit, for acquiring an initial auxiliary sequence fragment, wherein the position identifier in the initial auxiliary sequence fragment is the same as the position identifier of the reference privacy sequence fragment held by the business party, and the element value at any position in the initial auxiliary sequence fragment is configured as the ciphertext form of the position identifier of the corresponding position; a position adjustment unit, for adjusting the position of the initial auxiliary sequence fragment based on the position adjustment method of the reference privacy sequence fragment held by the business party, to obtain an auxiliary privacy sequence fragment; a position shuffling unit, for performing element position shuffling processing on the auxiliary privacy sequence fragment using an element position shuffling algorithm, to obtain an auxiliary public sequence fragment; a disclosure unit, for disclosing the auxiliary public sequence fragment; a sequence fragment combination unit, for acquiring the auxiliary public sequence fragments disclosed by other business parties holding the reference privacy sequence, and combining the auxiliary public sequence fragments to obtain an auxiliary public sequence.

[0099] It should be noted that the above-mentioned device may also include other implementations according to the description of the method embodiment and the scenario example. The specific implementation methods can refer to the description of the relevant method embodiment and will not be described in detail here.

[0100] It should be noted that the above-mentioned device may also include other implementations according to the description of the method embodiment and the scenario example. The specific implementation methods can refer to the description of the relevant method embodiment and will not be described in detail here.

[0101] like Figure 11As shown, based on the above-mentioned privacy protection-based business collaborative processing method, this specification also provides a computer device, which includes a memory, a processor and computer instructions stored on the memory, and the processor executes the computer instructions to implement the steps of the method described in any one or more of the above embodiments. The processor can take the form of, for example, a microprocessor or a processor and a computer-readable medium storing computer-readable program code (such as software or firmware) that can be executed by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller, etc. The memory includes but is not limited to random access memory (RAM), read-only memory (ROM), cache, hard disk drive (HDD) or memory card. The computer device can be a server of the method described in the above embodiment, etc. Of course, the computer device can also include module structures such as input devices and transmission modules. In this embodiment, the functions and effects specifically implemented by the computer device can be explained in comparison with other embodiments and will not be repeated here.

[0102] Furthermore, an embodiment of this specification also provides a computer-readable storage medium having computer instructions stored thereon, which, when executed by a processor, implement the steps of the method described in any one or more of the above embodiments. The storage medium may include a physical device for storing information, which is usually a device that digitizes the information and then stores it in a medium using electrical, magnetic or optical means. The storage medium may include: devices that use electrical energy to store information, such as various memories, such as RAM, ROM, etc.; devices that use magnetic energy to store information, such as hard disks, floppy disks, magnetic tapes, magnetic core memories, bubble memories, and USB flash drives; devices that use optical means to store information, such as CDs or DVDs. Of course, there are other types of readable storage media, such as quantum memories, graphene memories, and so on.

[0103] It should be noted that the embodiments of this specification are not limited to situations that must comply with standard data models / templates or the embodiments of this specification. Certain industry standards or slightly modified implementation plans based on the implementation of custom methods or the description of the embodiments can also achieve the same, equivalent or similar, or predictable implementation effects of the above embodiments after deformation. The embodiments obtained by applying these modified or deformed data acquisition, storage, judgment, processing methods, etc. can still fall within the scope of the optional implementation plans of this specification.

[0104] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between the various embodiments can be referenced across them. Each embodiment focuses on the differences from the other embodiments. In particular, since the system embodiments are generally similar to the method embodiments, their description is relatively simple. For relevant parts, reference can be made to the description of the method embodiments. Throughout this specification, reference to the terms "one embodiment," "some embodiments," "example," "specific example," or "some examples" means that the specific features, structures, materials, or characteristics described in conjunction with that embodiment or example are included in at least one embodiment or example of this specification. In this specification, the schematic representations of these terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, those skilled in the art may combine and integrate the different embodiments or examples, and features of different embodiments or examples, described in this specification, without conflict.

[0105] The foregoing is merely an example of the present invention and is not intended to limit the present invention. Various modifications and variations are possible within the scope of the present invention. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present invention are intended to be included within the scope of the claims of the present invention.

Claims

1. A business collaborative processing method based on privacy protection, characterized in that: Applied to a designated business party for business collaborative processing, the method includes: Obtaining an auxiliary public sequence; the auxiliary public sequence refers to a sequence disclosed by the business party holding the reference private sequence and used to encrypt the position adjustment method of the reference private sequence; the auxiliary public sequence is disclosed by the business party holding the reference private sequence after processing the auxiliary private sequence using an element position shuffling algorithm; wherein the auxiliary private sequence refers to a sequence used by the business party holding the reference private sequence to encrypt the position adjustment method of the reference private sequence; The position identifier of the element to be adjusted to the position in the designated private sequence is represented by the value of the element at any position in the auxiliary public sequence, and the position adjustment is performed on the designated private sequence fragment held by the designated business party to obtain the intermediate designated private sequence fragment; Using the reverse shuffling algorithm corresponding to the element position shuffling algorithm, reverse shuffle the intermediate designated privacy sequence fragments to obtain the designated privacy sequence fragments after position rearrangement; Other business parties involved in the joint business collaborative processing at least use the designated privacy sequence fragments after position rearrangement held by each business party to perform business collaborative processing under privacy protection.

2. The method according to claim 1, characterized in that The auxiliary privacy sequence is constructed by the business party holding the reference privacy sequence in the following manner: Obtaining an initial auxiliary sequence, wherein a position identifier of the initial auxiliary sequence is the same as a position identifier of a reference private sequence, and an element value at any position in the initial auxiliary sequence is configured as a ciphertext form of the position identifier of the corresponding position; The initial auxiliary sequence is position-adjusted based on the position-adjustment method of the reference privacy sequence to obtain an auxiliary privacy sequence.

3. The method according to claim 2, characterized in that In the case where the reference private sequence is collaboratively adjusted by two or more business parties, the auxiliary public sequence is constructed by the business party holding the reference private sequence fragments in the following manner: Obtaining an initial auxiliary sequence fragment, wherein the position identifier in the initial auxiliary sequence fragment is the same as the position identifier of the reference private sequence fragment held by the business party, and the element value at any position in the initial auxiliary sequence fragment is configured as the ciphertext form of the position identifier of the corresponding position; Based on the position adjustment method of the reference privacy sequence fragment held by the business party, the initial auxiliary sequence fragment is adjusted to obtain the auxiliary privacy sequence fragment; shuffling the auxiliary private sequence fragments by using an element position shuffling algorithm to obtain auxiliary public sequence fragments, and making the auxiliary public sequence fragments public; Obtain auxiliary public sequence fragments disclosed by other business parties holding the reference private sequence, and combine the auxiliary public sequence fragments to obtain an auxiliary public sequence.

4. The method according to claim 1, wherein The element position shuffling algorithm includes a shuffle algorithm.

5. A business collaborative processing device based on privacy protection, characterized in that: Applicable to a designated business party for business collaborative processing, the device includes: A public sequence acquisition module is configured to acquire an auxiliary public sequence; the auxiliary public sequence is a sequence disclosed by a business party holding a reference private sequence and used to encrypt the position adjustment method of the reference private sequence; the auxiliary public sequence is disclosed by the business party holding the reference private sequence after processing the auxiliary private sequence using an element position shuffling algorithm; the auxiliary private sequence is a sequence used by the business party holding the reference private sequence to encrypt the position adjustment method of the reference private sequence; A position adjustment module is configured to use the value of an element at any position in the auxiliary public sequence to represent the position identifier of the element to be adjusted to that position in the specified private sequence, perform position adjustment on the specified private sequence fragments held by the specified business party, and obtain intermediate specified private sequence fragments; and use the reverse shuffling algorithm corresponding to the element position shuffling algorithm to reverse shuffle the intermediate specified private sequence fragments to obtain rearranged specified private sequence fragments; The collaborative processing module is used to jointly process the business with other business parties, and at least use the designated privacy sequence fragments after position rearrangement held by each business party to perform business collaborative processing under privacy protection.

6. The device according to claim 5, characterized in that In the case where the reference private sequence is collaboratively adjusted by two or more business parties including the designated business party, the apparatus further includes an auxiliary public sequence construction module; wherein the auxiliary public sequence construction module includes: an initial auxiliary sequence acquisition unit, configured to acquire an initial auxiliary sequence fragment, wherein a position identifier in the initial auxiliary sequence fragment is the same as a position identifier of a reference private sequence fragment held by the service party, and an element value at any position in the initial auxiliary sequence fragment is configured as a ciphertext form of the position identifier of the corresponding position; a position adjustment unit, configured to adjust the position of the initial auxiliary sequence fragments based on the position adjustment method of the reference private sequence fragments held by the service party to obtain auxiliary private sequence fragments; a position shuffling unit, configured to perform element position shuffling processing on the auxiliary private sequence fragments using an element position shuffling algorithm to obtain auxiliary public sequence fragments; a publicizing unit, configured to publish the auxiliary public sequence fragments; The sequence fragment combination unit is used to obtain auxiliary public sequence fragments disclosed by other business parties holding the reference private sequence, and combine the auxiliary public sequence fragments to obtain an auxiliary public sequence.

7. A computer-readable storage medium having computer instructions stored thereon, characterized in that: When the instructions are executed by a processor, the steps of the method according to any one of claims 1 to 4 are implemented.

8. A computer device comprising a memory, a processor, and computer instructions stored in the memory, characterized in that: The processor executes the computer instructions to implement the steps of the method according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Data processing method and device based on privacy protection and server

    CN112100643A

  • Data processing method and device based on privacy protection and server

    CN112468521A