DBSCAN algorithm calculation method and device for protecting data privacy
By secretly sharing the data and performing DBSCAN clustering calculations between two computing servers, the efficiency and security problems of the DBSCAN algorithm in big data scenarios are solved, and data privacy protection and efficient clustering results are achieved.
Patent Information
- Application Number
- CN202510509607.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-22
- Publication Date
- 2025-08-08
- Estimated Expiration
- 2045-04-22
AI Technical Summary
The existing DBSCAN algorithm has low computing efficiency and insufficient security in big data scenarios. Traditional plaintext clustering algorithms are difficult to protect privacy when sharing data among multiple data holders. The existing privacy protection technology has large computing overhead and privacy leakage risks.
Secret sharing technology is used to encrypt the data into the first and second secret sharing forms, and sent to two non-compulsory computing servers for calculation of DBSCAN clustering algorithm, and determine and return the cluster tag results to ensure data privacy and improve computing efficiency.
While protecting data privacy, the computing efficiency and security of the DBSCAN algorithm are improved, data leakage is avoided, and the accuracy and consistency of clustering results are ensured.
Smart Images

Figure CN120449180A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of privacy computing technology, and in particular to a DBSCAN algorithm calculation method and device for protecting data privacy. Background Art
[0002] In clustering algorithms, data scale and data quality have a crucial impact on the effectiveness and accuracy of clustering results. Large-scale data sets can often more comprehensively reflect the true situation of data distribution, thereby helping to discover more detailed and precise clustering structures. Therefore, in many cases, multiple data holders are required to share data for joint clustering.
[0003] Traditional plaintext clustering algorithms require all plaintext data to be aggregated for computation. However, directly sharing raw data often exposes sensitive information and even risks privacy breaches. For information security, privacy protection, and related legal considerations, data from multiple data holders is often not shared directly. Instead, privacy-preserving technologies are used to cluster information distributed across different data sources without exposing specific privacy information.
[0004] DBSCAN (Density-Based Spatial Clustering of Applications with Noise), a density-based clustering algorithm, demonstrates unique advantages when processing non-convex and noisy data. However, its complex algorithmic structure and low computational efficiency limit its application in big data scenarios. Furthermore, while related technologies such as homomorphic encryption and differential privacy can enhance DBSCAN's privacy protection to a certain extent, these methods often come with a significant increase in computational overhead and a certain degree of privacy leakage risk, thereby reducing the computational efficiency and security of the privacy-preserving DBSCAN algorithm, which urgently needs to be addressed. Summary of the Invention
[0005] This application is based on the following problems and understandings made by the inventors:
[0006] Clustering algorithms are widely used unsupervised machine learning methods that classify data in a dataset into multiple categories based on similarity, facilitating the observation of characteristics across different categories. The DBSCAN algorithm is a density-based spatial clustering algorithm that does not require a predefined number of clusters. Instead, the algorithm defines two key parameters: the neighborhood radius (Eps) and the minimum number of points (MinPts). Initially, the algorithm iterates over each data point in the dataset. For a given data point, if the number of points within a neighborhood with a radius of Eps, centered on the data point, is at least MinPts, the point is labeled a core point. If the number of points within the neighborhood is less than MinPts, the point is labeled as a noise point. Next, starting from any core point, all points within its neighborhood (including core and non-core points) are grouped into the same cluster. Using these newly added core points as a starting point, the algorithm then expands outward, adding points within its neighborhood to the same cluster. This process is repeated until no further expansion is possible, thus completing the formation of a cluster. When all core points have been processed and no new points can be classified, the algorithm terminates. The final set of different clusters and noise points is the clustering result of the DBSCAN algorithm.
[0007] Traditional plaintext clustering algorithms require all plaintext data to be aggregated before computation. Data privacy and confidentiality are increasingly important. When the data to be clustered is dispersed across different entities, the transmission and centralization of plaintext data is difficult to achieve due to privacy regulations and legal requirements. Therefore, clustering algorithms that protect data privacy are needed. Privacy-preserving designs for the DBSCAN algorithm have been proposed, but these existing works suffer from efficiency or security issues. Regarding security, some existing works leak distance information between different data points or their neighbor relationships during computation. These data leaks can lead to varying degrees of information leakage related to the original data. Other works utilize three-party secure computations, relying on the honest multi-party security assumption, which is less secure than two-party secure computations. Furthermore, regarding efficiency, some works often use the computationally inefficient Paillier semi-homomorphic encryption system based on the discrete logarithm problem, resulting in lengthy privacy-preserving computation protocols that require urgent improvement.
[0008] This application provides a DBSCAN algorithm calculation method and device for protecting data privacy, in order to solve the problems that technologies such as homomorphic encryption and differential privacy in related technologies are often accompanied by a significant increase in computing overhead and a certain degree of privacy leakage risk, thereby reducing the computational efficiency and security of the privacy-preserving DBSCAN algorithm.
[0009] The first aspect of the present application provides a DBSCAN algorithm calculation method for protecting data privacy, including the following steps: encrypting target data from multiple data holders to obtain data in a first secret sharing form and data in a second secret sharing form; sending the data in the first secret sharing form to a first computing server, and sending the data in the second secret sharing form to a second computing server; after using the first computing server and the second computing server to perform target DBSCAN clustering algorithm calculation, determining the first cluster label result of the first computing server and the second cluster label result of the second computing server, and returning the first cluster label result and the second cluster label result to the multiple data holders.
[0010] Optionally, in one embodiment of the present application, the target data in multiple data holders are encrypted to obtain data in a first secret sharing form and data in a second secret sharing form, including: using a target fixed-point number to represent all data in at least one data holder to encode all the data into data in a target integer form; performing a target random splitting process on the target integer form data to generate target random data, and using the target random data as data in the first secret sharing form; calculating target difference data between the target integer form data and the target random data to determine data in the second secret sharing form based on the target difference data.
[0011] Optionally, in one embodiment of the present application, after performing the target DBSCAN clustering algorithm calculation using the first computing server and the second computing server, to determine the first cluster label result of the first computing server and the second cluster label result of the second computing server, including: based on the target oblivious transmission technology, calculating the first proximity relationship and the first data point distribution density of each data point in the data in the first secret sharing form; using the first proximity relationship and the first data point distribution density to determine the first cluster label result in the target ciphertext form; based on the target oblivious transmission technology, calculating the second proximity relationship and the second data point distribution density of each data point in the data in the second secret sharing form; using the second proximity relationship and the second data point distribution density to determine the second cluster label result in the target ciphertext form.
[0012] Optionally, in one embodiment of the present application, returning the first cluster label result and the second cluster label result to the multiple data holders includes: performing target interactive processing on the first cluster label result determined by the first computing server and the second cluster label result determined by the second computing server to determine the final cluster label result; and returning the final cluster label result to the multiple data holders based on the first computing server or the second computing server.
[0013] Optionally, in one embodiment of the present application, after returning the first cluster label result and the second cluster label result to the multiple data holders, it also includes: decrypting the first cluster label result and the second cluster label result to obtain the final plaintext cluster labels of the multiple data holders.
[0014] The second aspect of the present application provides a DBSCAN algorithm calculation device for protecting data privacy, including: an encryption module for encrypting target data from multiple data holders to obtain data in a first secret sharing form and data in a second secret sharing form; a sending module for sending the data in the first secret sharing form to a first computing server, and sending the data in the second secret sharing form to a second computing server; a calculation module for determining a first cluster label result of the first computing server and a second cluster label result of the second computing server after performing a target DBSCAN clustering algorithm calculation using the first computing server and the second computing server, and returning the first cluster label result and the second cluster label result to the multiple data holders.
[0015] Optionally, in one embodiment of the present application, the encryption module includes: an encoding unit for representing all data in at least one data holder using a target fixed-point number to encode all the data into data in a target integer form; a processing unit for performing target random splitting processing on the data in the target integer form to generate target random data, and using the target random data as data in a first secret sharing form; a first calculation unit for calculating target difference data between the data in the target integer form and the target random data to determine the data in the second secret sharing form based on the target difference data.
[0016] Optionally, in one embodiment of the present application, the calculation module includes: a second calculation unit, used to calculate the first proximity relationship and the first data point distribution density of each data point in the data in the first secret sharing form based on the target oblivious transmission technology; a first determination unit, used to determine the first clustering label result in the target ciphertext form using the first proximity relationship and the first data point distribution density; a third calculation unit, used to calculate the second proximity relationship and the second data point distribution density of each data point in the data in the second secret sharing form based on the target oblivious transmission technology; a second determination unit, used to determine the second clustering label result in the target ciphertext form using the second proximity relationship and the second data point distribution density.
[0017] Optionally, in one embodiment of the present application, the computing module includes: a third determination unit, used to perform target interactive processing on the first clustering label result determined by the first computing server and the second clustering label result determined by the second computing server to determine the final clustering label result; a return unit, used to return the final clustering label result to the multiple data holders based on the first computing server or the second computing server.
[0018] Optionally, in one embodiment of the present application, the device of the embodiment of the present application also includes: a decryption module, which is used to decrypt the first cluster label result and the second cluster label result after returning the first cluster label result and the second cluster label result to the multiple data holders to obtain the final plaintext cluster labels of the multiple data holders.
[0019] The third aspect of the present application provides an electronic device, comprising: a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the processor executes the program to implement the DBSCAN algorithm calculation method for protecting data privacy as described in the above embodiment.
[0020] The fourth aspect of the present application provides a computer-readable storage medium, which stores a computer program. When the program is executed by a processor, it implements the above-mentioned DBSCAN algorithm calculation method for protecting data privacy.
[0021] The fifth aspect of the present application provides a computer program product, including a computer program, which, when executed, is used to implement the above-mentioned DBSCAN algorithm calculation method for protecting data privacy.
[0022] The embodiment of the present application can encrypt the target data of multiple data holders, send the obtained data in the form of first secret sharing to the first computing server, and send the data in the form of second secret sharing to the second computing server. After using the first computing server and the second computing server to calculate the target DBSCAN clustering algorithm, the first cluster label result and the second cluster label result are determined, and the first cluster label result and the second cluster label result are returned to the multiple data holders, effectively improving the computational efficiency and security of the privacy-preserving DBSCAN algorithm. Thus, the problems of homomorphic encryption, differential privacy and other technologies in related technologies, which are often accompanied by a significant increase in computational overhead and a certain degree of privacy leakage risk, are solved, thereby reducing the computational efficiency and security of the privacy-preserving DBSCAN algorithm.
[0023] Additional aspects and advantages of the present application will be given in part in the description below, and in part will become apparent from the description below, or will be learned through practice of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:
[0025] Figure 1 A flowchart of a DBSCAN algorithm calculation method for protecting data privacy provided in accordance with an embodiment of the present application;
[0026] Figure 2 A schematic diagram showing the visualization of the results of clustering algorithm on the S1 dataset in a specific embodiment of the present application;
[0027] Figure 3 A schematic diagram of the structure of a DBSCAN algorithm computing device for protecting data privacy provided in accordance with an embodiment of the present application;
[0028] Figure 4 A schematic diagram of the structure of an electronic device provided according to an embodiment of the present application. DETAILED DESCRIPTION
[0029] The following describes in detail embodiments of the present application, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, and should not be construed as limiting the present application.
[0030] The following describes the DBSCAN algorithm calculation method and device for protecting data privacy in an embodiment of the present application with reference to the accompanying drawings. In view of the fact that technologies such as homomorphic encryption and differential privacy in the related technologies mentioned in the background technology center are often accompanied by a significant increase in computing overhead and a certain degree of privacy leakage risk, thereby reducing the computational efficiency and security of the privacy-protecting DBSCAN algorithm, the present application provides a DBSCAN algorithm calculation method for protecting data privacy, in which the target data in multiple data holders can be encrypted, the data obtained in the form of a first secret sharing is sent to a first computing server, and the data in the form of a second secret sharing is sent to a second computing server. After the target DBSCAN clustering algorithm is calculated using the first computing server and the second computing server, the first cluster label result and the second cluster label result are determined, and the first cluster label result and the second cluster label result are returned to the multiple data holders, effectively improving the computational efficiency and security of the privacy-protecting DBSCAN algorithm. Thus, the problem that technologies such as homomorphic encryption and differential privacy in the related technologies are often accompanied by a significant increase in computing overhead and a certain degree of privacy leakage risk, thereby reducing the computational efficiency and security of the privacy-protecting DBSCAN algorithm is solved.
[0031] Specifically, Figure 1 A flow chart of a DBSCAN algorithm calculation method for protecting data privacy provided in an embodiment of the present application.
[0032] like Figure 1 As shown, the DBSCAN algorithm calculation method for protecting data privacy includes the following steps:
[0033] In step S101 , target data in multiple data holders is encrypted to obtain data in a first secret sharing format and data in a second secret sharing format.
[0034] In the embodiment of the present application, the target data is the data on which privacy calculation is to be performed.
[0035] It can be understood that the embodiments of the present application can encrypt data from multiple data holders. For example, the embodiments of the present application can convert the data from any data holder into fixed-point representation in the manner described in the following steps, and encode it into an integer, and randomly split the encoded integer into data in the first secret sharing form and data in the second secret sharing form, thereby effectively improving the security of the data.
[0036] Among them, in an embodiment of the present application, sending the data in the first secret sharing form to the first computing server and sending the data in the second secret sharing form to the second computing server includes: representing all data in at least one data holder using a target fixed-point number to encode all data into data in the target integer form; performing target random splitting processing on the data in the target integer form to generate target random data, and using the target random data as the data in the first secret sharing form; calculating the target difference data between the data in the target integer form and the target random data to determine the data in the second secret sharing form according to the target difference data.
[0037] In the actual execution process, an embodiment of the present application can represent all data in any data holder using a target fixed-point number to encode all data into data in the target integer form. For example, it can be through any data provider D i All its data First, represent it in fixed-point numbers and encode it into integers Among them, Is the fixed-point number representation encoding function, where t is the integer ring modulus represented by the fixed-point number. Then, after splitting it into data in the secret sharing form, it is sent to two computing servers P0 and P1 respectively. That is, for any x ij , the data provider D i Randomly generates the first vector <x ij >0 = r ij , that is, obtains the data in the first secret sharing form; then, calculates the second vector <x ij >1 = x ij - r ij , that is, obtains the data in the second secret sharing form, thereby realizing the secure distributed processing and analysis of data while ensuring data privacy and avoiding the risk of privacy leakage.
[0038] In an embodiment of the present application, fixed-point numbers are used to represent decimals, and the secret sharing technology is used as one of the ways to store the ciphertext of intermediate results. For an integer 0 ≤ x < t, take The two computing servers P0 and P1 participating in the calculation respectively hold Recorded as the two parties holding the secret sharing <x> t , when t is clear in the context, this superscript is omitted and it is directly recorded as <x>When t = 2, this secret sharing is also called Boolean secret sharing, otherwise it is arithmetic secret sharing. For simplicity, the value space is expressed using <x>∈S means x∈S. For a decimal This application uses fixed-point numbers to represent integers. The fixed-point precision is φ, and the encoding is It should be noted that after a fixed-point number undergoes a multiplication, its precision is doubled to 2φ. <y> =F( <x>) in the form of abbreviation, indicating that the input of the protocol F is secret sharing, that is, P0 input <x>0, P1 input <x>1. The output is also in the form of secret sharing, that is, P0 obtains <y>0, P1 obtained <y>1.
[0039] In step S102 , data in the first secret sharing format is sent to the first computing server, and data in the second secret sharing format is sent to the second computing server.
[0040] It is understandable that the embodiment of the present application can send the data in the first secret sharing form to the first computing server, and send the data in the second secret sharing form to the second computing server. For example, the data obtained in the above steps can be sent to the first computing server. <x ij >0 is sent to the first computing server P0; <x ij >1 is sent to the second computing server P1, thereby enabling distributed secure computing of data, ensuring that no party can obtain complete data alone, thereby effectively protecting data privacy and laying the foundation for subsequent secure multi-party computing.
[0041] Among them, the first computing server and the second computing server are two computing servers that do not collude with each other. Two parties can be selected from all data holders as computing servers, or two participants other than the data holders can be required to provide computing services.
[0042] In step S103, after the target DBSCAN clustering algorithm is calculated using the first computing server and the second computing server, the first cluster label result of the first computing server and the second cluster label result of the second computing server are determined, and the first cluster label result and the second cluster label result are returned to multiple data holders.
[0043] In the privacy-preserving DBSCAN algorithm, given a neighborhood radius ∈ and a minimum number of points m, two computing servers P0 and P1 input a secret shared vector dataset. Among them, x i Both are d-dimensional vectors, and the algorithm outputs the number of clusters k and cluster labels l i ∈{-1}∪[k],i∈[n], where l i =-1 means that the data point is a noise point, otherwise, l i =j means it belongs to cluster j. The specific steps of the DBSCAN algorithm are as follows:
[0044] 1) Both parties call the element-by-element multiplication protocol and sum to calculate the distance matrix The calculation is as follows:
[0045]
[0046] <D ii >←0,i∈[n]
[0047] in, <x i,k > represents the secret sharing vector <x i > the kth element, <x j,k > represents the secret sharing vector <x j >, the addition (sum) and subtraction in this computation can be performed locally by both parties using their respective secret shared operands, without interaction. The only computation that requires an interactive protocol is the element-by-element multiplication protocol.
[0048] 2) Both parties call the positive detection protocol and calculate:
[0049] <R b >←Positive( <d>-Fixed(∈ 2 ,φ 2 )),
[0050] in, <R b > represents the neighbor judgment Boolean matrix, ∈ represents the neighborhood radius, φ represents the fixed-point number precision, <d>Represents a distance matrix.
[0051] 3) Both parties call Boolean secret sharing and convert it into an arithmetic secret sharing protocol to calculate:
[0052] <r>←B2A( <R b >),
[0053] in, <r>Represents the nearest neighbor determination arithmetic matrix.
[0054] 4) Both parties call the positive number detection protocol to calculate the Boolean secret sharing vector <c>:
[0055]
[0056] in, <R ij > represents a matrix <r>The i-th row and j-th column element of , where m represents the minimum number of points.
[0057] 5) Both parties call the logic and protocol to calculate the Boolean secret sharing matrix <s>:
[0058]
[0059] in, Representation matrix <R b The i-th row and j-th column element of > indicates whether the i-th point and the j-th point are neighbors.
[0060] 6) Perform n rounds of iterations, i.e., for i←0,1,…,n-1:
[0061] a) Call logic and protocol, calculate <t> ←<S i >∧ <c>,in, <t>represents the neighbor reachable update vector of element i, i >Yes ij > the i-th row.
[0062] b) Call the Boolean vector outer product logic and algorithm to calculate <z>←OuterAnd( <t>, i >), where <z>Represents the updated value of the neighbor reachability matrix.
[0063] c) Call logic or protocol, calculate <s>← <s>∨ <z>.
[0064] 7) Take <l i >←<-1>,i∈[n], where, <l i > represents all cluster labels.
[0065] 8) Perform n rounds of iterations, i.e., for i←0,1,…,n-1:
[0066] a) Both parties call the element-wise multiplication protocol to update all <l j >← <l j >+ ij >·(i- <l j >),j∈[n].
[0067] 9) Both parties disclose all tags <l i >,i∈[n], that is, P0 will <l i >0 is sent to P1, P1 will send all <l i >1 is sent to P0, and both parties get l i =( <l i >0+ <l i >1)modt, where <l i >0 indicates the first cluster label result, <l i >1 indicates the second cluster label result. Both parties count all unique values in all labels except -1, which is the final number of clusters k. They then re-count all non--1 labels based on the unique values and assign them to k clusters. The DBSCAN algorithm ends.
[0068] It is understandable that the first computing server and the second computing server in the embodiment of the present application can complete the DBSCAN clustering algorithm calculation through the above steps. After the DBSCAN clustering algorithm calculation, the first cluster label result of the first computing server P0 is determined. <l i >0 and the second cluster label result of the second computing server P1 <l i >1, and returns the first cluster label result and the second cluster label result to multiple data holders in encrypted form, ensuring high privacy protection of original data and intermediate calculation results during the entire calculation process, avoiding the risk of data leakage, and allowing each data holder to finally obtain accurate cluster analysis results, realizing secure data sharing and collaborative analysis.
[0069] Optionally, in one embodiment of the present application, after performing the target DBSCAN clustering algorithm calculation using the first computing server and the second computing server, the first cluster label result of the first computing server and the second cluster label result of the second computing server are determined, including: based on the target oblivious transmission technology, calculating the first proximity relationship and the first data point distribution density of each data point in the data in the first secret sharing form; using the first proximity relationship and the first data point distribution density to determine the first cluster label result in the target ciphertext form; based on the target oblivious transmission technology, calculating the second proximity relationship and the second data point distribution density of each data point in the data in the second secret sharing form; using the second proximity relationship and the second data point distribution density to determine the second cluster label result in the target ciphertext form.
[0070] In the embodiment of the present application, COT (correlated oblivious transfer) is an important technology for building a two-party computing server for secure computing. A correlated oblivious execution (or instance) transmission involves two participants: the sender and the receiver. The sender has no input, and the receiver inputs a Boolean value b. When the execution is completed, the sender obtains two pieces of information m0 and m1, each containing κ bits, where κ is a statistical security parameter and the public relation f(m0,m1)=0 holds. The receiver obtains m b The sender cannot obtain any information about b, and the receiver cannot obtain any information about m. 1-b any information.
[0071] Furthermore, the embodiments of the present application can determine the neighbor relationship and data point distribution density of data points through Boolean vector outer product logic and calculation algorithm, that is, based on the associative oblivious transfer technology, calculate the neighbor relationship and data point distribution density of each data point in the first secret sharing form of data and the neighbor relationship and data point distribution density of each data point in the second secret sharing form of data respectively; thereby determining the first clustering label result and the second clustering label result in the target ciphertext form, which can ensure the distributed consistency of the clustering results while protecting data privacy, and provide accurate and secure analysis results for all participants.
[0072] Among them, the Boolean vector outer product logic and algorithm inputs two secret shared Boolean vectors 2 ∈[2] n , 2 ∈[2] m (where [k] represents the set of natural numbers {0,1…,k}), output the secret-sharing Boolean matrix <c>∈[2] n×m , so that c ij =a i ∧b j The Boolean vector outer product logic and algorithm requires the use of a basic COT protocol (with a statistical security parameter of κ) and a hash function H(s,t):[2] κ ×[2] κ →[2]. The execution process of the Boolean vector outer product logic and algorithm is as follows:
[0073] For participant P0:
[0074] 1) As the sender, call (m+n) instances of COT and obtain (m+n) message pairs of length κ bits, denoted as and
[0075] 2) Randomly select R∈[2] n×m .
[0076] 3) Calculate 4 matrices The calculation method of each element is
[0077]
[0078] Among them, R ij represents the element in row i and column j of the random matrix R, i >0 indicates a secret sharing Boolean vector The secret shared fragment of the ith element of held by participant P0, j >0 indicates a secret sharing Boolean vector The secret shared fragment of the j-th element of , held by participant P0, Express The result of executing the hash function, Represents the Boolean outer product value after mask obfuscation.
[0079] 4) All four matrices M k Send to P1 and output <c>0←R, where <c>0 means the output result of participant P0 is shared secretly.
[0080] For party P1:
[0081] 1) Call (m+n) instances of COT as the receiver, and the input Boolean value is< / c> < / c> 1, 1. Obtain (m+n) messages of length κ, recorded as (s i ),i∈[n] and (t i ),i∈[m].
[0082] 2) P0 accepts four matrices M k ,k∈[4].
[0083] 3) Calculate the matrix M as follows:
[0084]
[0085] Among them, H(s i ,t j ) indicates that s i ,t j The result of executing the hash function, Indicates the second of the four accepted matrices i >1+ j >1 takes the element in row i and column j.
[0086] 4) Output <c>1←M, where <c>1 indicates that the output result of participant P0 is shared secretly.
[0087] The above agreement is recorded as <c> ←OuterAnd(< / c> < / c> < / c> , ), and Represents a secret-sharing Boolean vector.
[0088] In addition, embodiments of the present application can use clustering algorithm secure computing technology between two computing servers based on associative oblivious transfer to perform interactive computing protocols. Various basic operators for secure computing between two computing servers can be designed based on associative oblivious transfer. These operator protocols all use secret sharing as the input and output of the algorithm. The basic operators used in the work of this application include:
[0089] 1) Element-wise multiplication. · The secret sharing calculation multiplication of two given arithmetic elements is performed, and the result is in the form of arithmetic secret sharing.
[0090] 2) Logical AND. 2 ∧ 2 Compute the logical AND of two given Boolean secret shares, and the result is in the form of a Boolean secret share. The logical OR can be defined similarly.
[0091] 3) Convert Boolean secret sharing to arithmetic secret sharing. <h2 style=";text-align:left;direction:ltr"> t <h2 style=";text-align:left;direction:ltr"> (B2A) 2 ) Convert Boolean secret sharing to arithmetic secret sharing, where t Represents the converted arithmetic secret sharing result, which is in the arithmetic secret sharing form.
[0092] 4) Positive number detection. 2 =Positive( t ) Determines whether a given arithmetic secret sharing is a positive number. The result is in the form of a Boolean secret sharing.
[0093] Therefore, the embodiment of the present application further improves the speed of a large amount of computing logic and updating neighbor relationships based on the obliviously transmitted Boolean vector outer product logic and algorithm in this application, improves the end-to-end execution efficiency of the algorithm interaction protocol, and is conducive to the further acceptance, deployment and promotion of privacy protection algorithms in practice.
[0094] Optionally, in one embodiment of the present application, the first cluster label result and the second cluster label result are returned to multiple data holders, including: performing target interactive processing on the first cluster label result determined by the first computing server and the second cluster label result determined by the second computing server to determine the final cluster label result; based on the first computing server or the second computing server, returning the final cluster label result to multiple data holders.
[0095] In some embodiments, the present application embodiment can perform target interaction processing on the first cluster label result determined by the first computing server and the second cluster label result determined by the second computing server, for example, both computing servers disclose all labels. <l i >,i∈[n], that is, P0 will label all the first clusters <l i >0 is sent to P1, P1 will label all the second clusters <l i >1 is sent to P0, and both parties get l i =( <l i >0+ <l i >1) mod t to determine the final cluster labeling result, and any computing server can return the final cluster labeling result to multiple data holders to ensure data privacy and security.
[0096] It should be noted that, except for the final clustering label, the original data and intermediate calculation results of any data provider in the calculation process will not be leaked to other data providers or the two computing servers, so that the privacy and confidentiality of the data are protected.
[0097] Optionally, in one embodiment of the present application, after returning the first cluster label result and the second cluster label result to multiple data holders, it also includes: decrypting the first cluster label result and the second cluster label result to obtain the final plaintext cluster labels of multiple data holders.
[0098] In some embodiments, after multiple data holders receive the first cluster label result and the second cluster label result, the embodiments of the present application can decrypt the first cluster label result and the second cluster label result using their own decryption keys, so that the data holders can obtain the final plaintext cluster label, effectively protecting data privacy and improving computing security.
[0099] For example, the working principle of the embodiment of the present application is described in detail with a specific embodiment below. First, multiple data holders each hold a partial subset of the data set S1, and there are two servers dedicated to privacy computing. The S1 data set is a commonly used data set for testing clustering algorithms. Its data contains 5,000 2-dimensional vectors, which constitute 15 Gaussian distributed clusters, and each cluster contains 300 to 350 data points. Before the calculation begins, all data holders convert their data into fixed-point numbers to represent secret sharing in the manner described in the above steps, and send them to the two computing servers. The fixed-point number precision used is φ=16, and the modulus of arithmetic secret sharing is t=2 59 ,The statistical security parameter of the COT protocol is κ=128, the underlying COT protocol used is the BCG+19 protocol, and the hash function construction adopts the AES algorithm in CTR mode.
[0100] Then, after receiving the data in the form of secret sharing, the two servers perform the corresponding privacy-preserving DBSCAN algorithm and obtain the cluster label results (∈=0.125,m=100). Since the cluster label results are open to the two computing servers, the process ends after any computing server returns the cluster label results to all data holders. The cluster label visualization results on the S1 dataset are shown in Figure 2. Figure 2 As shown, points of different colors represent different clusters, and black points represent noise data points (cluster label is -1).
[0101] Therefore, the embodiments of the present application calculate the clustering results by comprehensively utilizing the full data sets provided by any number of data providers, while protecting the original data from leakage, which is conducive to the centralized utilization of the same type of data originally scattered among multiple parties for unsupervised machine learning data analysis, improving the value of data utilization, and contributing to the development and promotion of privacy protection technology; and, compared with existing related work, in the calculation process, except for the clustering labels, any intermediate calculation results such as the distance information between data points and the neighbor relationship information are not leaked, which greatly enhances the data confidentiality achieved by the algorithm and can provide higher security.
[0102] According to the DBSCAN algorithm calculation method for protecting data privacy proposed in the embodiment of the present application, the target data of multiple data holders can be encrypted, the data obtained in the form of a first secret sharing is sent to the first computing server, and the data in the form of a second secret sharing is sent to the second computing server. After the target DBSCAN clustering algorithm is calculated using the first computing server and the second computing server, the first cluster label result and the second cluster label result are determined and returned to the multiple data holders, effectively improving the computational efficiency and security of the privacy-preserving DBSCAN algorithm. As a result, the problems of homomorphic encryption, differential privacy and other technologies in related technologies, which are often accompanied by a significant increase in computational overhead and a certain degree of privacy leakage risk, are solved, thereby reducing the computational efficiency and security of the privacy-preserving DBSCAN algorithm.
[0103] Next, a DBSCAN algorithm computing device for protecting data privacy proposed in an embodiment of the present application will be described with reference to the accompanying drawings.
[0104] Figure 3 4 is a block diagram of a DBSCAN algorithm computing device for protecting data privacy according to an embodiment of the present application.
[0105] like Figure 3 As shown, the DBSCAN algorithm calculation device 10 for protecting data privacy includes: an encryption module 100, a sending module 200 and a calculation module 300.
[0106] Specifically, the encryption module 100 is used to encrypt target data in multiple data holders to obtain data in a first secret sharing format and data in a second secret sharing format.
[0107] The sending module 200 is configured to send data in the first secret sharing format to the first computing server, and send data in the second secret sharing format to the second computing server.
[0108] The computing module 300 is used to determine the first cluster label result of the first computing server and the second cluster label result of the second computing server after performing the target DBSCAN clustering algorithm calculation using the first computing server and the second computing server, and return the first cluster label result and the second cluster label result to multiple data holders.
[0109] Optionally, in one embodiment of the present application, the encryption module 200 includes: an encoding unit, a processing unit and a first computing unit.
[0110] The encoding unit is used to represent all data in at least one data holder using a target fixed-point number to encode all data into data in the target integer form.
[0111] The processing unit is configured to perform target random splitting processing on the data in the target integer form to generate target random data, and use the target random data as data in the first secret sharing form.
[0112] The first calculation unit is configured to calculate target difference data between target integer data and target random data, so as to determine data in a second secret sharing form according to the target difference data.
[0113] Optionally, in one embodiment of the present application, the calculation module 300 includes: a second calculation unit, a first determination unit, a third calculation unit and a second determination unit.
[0114] The second calculation unit is configured to calculate a first proximity relationship and a first data point distribution density of each data point in the data in the first secret sharing format based on the target oblivious transfer technique.
[0115] The first determining unit is configured to determine a first cluster label result in the target ciphertext form by using the first proximity relationship and the first data point distribution density.
[0116] The third calculation unit is configured to calculate a second neighbor relationship and a second data point distribution density of each data point in the data in the second secret sharing format based on the targeted oblivious transfer technique.
[0117] The second determining unit is configured to determine a second cluster label result in the target ciphertext form by using the second proximity relationship and the second data point distribution density.
[0118] Optionally, in one embodiment of the present application, the calculation module 300 includes: a third determination unit and a return unit.
[0119] The third determining unit is configured to perform target interactive processing on the first cluster label result determined by the first computing server and the second cluster label result determined by the second computing server to determine a final cluster label result.
[0120] The returning unit is configured to return the final clustering label result to the multiple data holders based on the first computing server or the second computing server.
[0121] Optionally, in one embodiment of the present application, the apparatus 10 of the embodiment of the present application further includes: a decryption module.
[0122] Among them, the decryption module is used to decrypt the first cluster label result and the second cluster label result after returning the first cluster label result and the second cluster label result to multiple data holders to obtain the final plaintext cluster labels of multiple data holders.
[0123] It should be noted that the aforementioned explanation of the embodiment of the DBSCAN algorithm calculation method for protecting data privacy is also applicable to the DBSCAN algorithm calculation device for protecting data privacy in this embodiment, and will not be repeated here.
[0124] According to the DBSCAN algorithm computing device for protecting data privacy proposed in the embodiment of the present application, the target data of multiple data holders can be encrypted, the data obtained in the form of a first secret sharing is sent to the first computing server, and the data in the form of a second secret sharing is sent to the second computing server. After the target DBSCAN clustering algorithm is calculated using the first computing server and the second computing server, the first cluster label result and the second cluster label result are determined and returned to the multiple data holders, effectively improving the computational efficiency and security of the privacy-preserving DBSCAN algorithm. As a result, the problems of homomorphic encryption, differential privacy and other technologies in related technologies, which are often accompanied by a significant increase in computational overhead and a certain degree of privacy leakage risk, are solved, thereby reducing the computational efficiency and security of the privacy-preserving DBSCAN algorithm.
[0125] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. The electronic device may include:
[0126] Memory 401 , processor 402 , and computer programs stored in the memory 401 and executable on the processor 402 .
[0127] When the processor 402 executes the program, the DBSCAN algorithm calculation method for protecting data privacy provided in the above embodiment is implemented.
[0128] Furthermore, the electronic device further includes:
[0129] The communication interface 403 is used for communication between the memory 401 and the processor 402 .
[0130] The memory 401 is used to store computer programs that can be run on the processor 402 .
[0131] The memory 401 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
[0132] If the memory 401, the processor 402, and the communication interface 403 are implemented independently, the communication interface 403, the memory 401, and the processor 402 can be connected to each other via a bus and communicate with each other. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 4 Only one thick line is used in the diagram, but this does not mean that there is only one bus or one type of bus.
[0133] Optionally, in a specific implementation, if the memory 401 , the processor 402 and the communication interface 403 are integrated on a chip, the memory 401 , the processor 402 and the communication interface 403 can communicate with each other through an internal interface.
[0134] The processor 402 may be a central processing unit (CPU), an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application.
[0135] This embodiment also provides a computer-readable storage medium having a computer program stored thereon. When the program is executed by a processor, the DBSCAN algorithm calculation method for protecting data privacy as described above is implemented.
[0136] This embodiment also provides a computer program product, including a computer program. When the computer program is executed, it is used to implement the above DBSCAN algorithm calculation method for protecting data privacy.
[0137] In the description of this specification, the reference terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" mean that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. In this specification, the schematic expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any one or N embodiments or examples in a suitable manner. In addition, those skilled in the art can combine and combine different embodiments or examples described in this specification and the features of different embodiments or examples without contradiction.
[0138] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features being referred to. Thus, a feature specified as "first" or "second" may explicitly or implicitly include at least one such feature. Throughout the description of this application, "N" means at least two, for example, two, three, etc., unless otherwise specifically defined.
[0139] Any process or method description in a flowchart or otherwise described herein may be understood to represent a module, fragment or portion of code comprising one or N executable instructions for implementing a custom logical function or process step, and the scope of the preferred embodiments of the present application includes alternative implementations in which functions may be performed in a different order than shown or discussed, including performing functions in a substantially simultaneous manner or in a reverse order depending on the functions involved, which should be understood by those skilled in the art to which the embodiments of the present application pertain.
[0140] The logic and / or steps represented in the flowcharts or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing the logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (e.g., a computer-based system, a system including a processor, or other system that can fetch and execute instructions from an instruction execution system, apparatus, or device). For purposes of this specification, a "computer-readable medium" can be any device that can contain, store, communicate, propagate, or transport a program for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include the following: an electrical connection with one or N wires (electronic devices), a portable computer disk cartridge (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and programmable read-only memory (EPROM or flash memory), fiber optic devices, and a portable compact disc read-only memory (CDROM). In addition, the computer-readable medium may even be paper or other suitable medium on which the program is printed, since the program can be obtained electronically by optically scanning the paper or other medium and then editing, interpreting or processing it in other suitable ways as necessary, and then storing it in a computer memory.
[0141] It should be understood that various parts of the present application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiment, the N steps or methods can be implemented using software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented using hardware, as in another embodiment, it can be implemented using any one or a combination of the following technologies known in the art: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application-specific integrated circuit having a suitable combination of logic gate circuits, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
[0142] Those skilled in the art will understand that all or part of the steps in the method of the above embodiment can be completed by instructing related hardware through a program, and the program can be stored in a computer-readable storage medium. When the program is executed, it includes one or a combination of the steps of the method embodiment.
[0143] In addition, the functional units in the various embodiments of the present application may be integrated into a processing module, or each unit may exist physically separately, or two or more units may be integrated into a module. The above-mentioned integrated module may be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it may also be stored in a computer-readable storage medium.
[0144] The storage medium mentioned above may be a read-only memory, a magnetic disk, or an optical disk, etc. Although the embodiments of the present application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present application. Persons skilled in the art may make changes, modifications, substitutions, and variations to the above embodiments within the scope of the present application. < / z> < / s> < / s> < / z> < / t> < / z> < / t> < / c> < / t> < / s> < / r> < / c> < / r> < / r> < / d> < / d> < / y> < / y> < / x> < / x> < / x> < / y> < / x> < / x> < / x>
Claims
1. A DBSCAN algorithm calculation method for protecting data privacy, characterized in that: The following steps are involved: encrypting target data from multiple data holders to obtain data in a first secret sharing format and data in a second secret sharing format; sending the data in the first secret sharing format to a first computing server, and sending the data in the second secret sharing format to a second computing server; After performing the target DBSCAN clustering algorithm calculation using the first computing server and the second computing server, a first cluster label result of the first computing server and a second cluster label result of the second computing server are determined, and the first cluster label result and the second cluster label result are returned to the multiple data holders.
2. The method according to claim 1, characterized in that The step of encrypting the target data of the plurality of data holders to obtain data in a first secret sharing format and data in a second secret sharing format includes: Representing all data in at least one data holder using a target fixed-point number to encode all the data into data in a target integer form; Performing a target random splitting process on the data in the target integer form to generate target random data, and using the target random data as the data in the first secret sharing form; Target difference data between the target integer form data and the target random data is calculated to determine the data in the second secret sharing form according to the target difference data.
3. The method according to claim 1, characterized in that After performing target DBSCAN clustering algorithm calculation using the first computing server and the second computing server, determining a first cluster label result of the first computing server and a second cluster label result of the second computing server, including: Calculating, based on the targeted oblivious transfer technique, a first proximity relationship and a first data point distribution density for each data point in the data in the first secret sharing format; Determining the first cluster label result in target ciphertext form by using the first proximity relationship and the first data point distribution density; calculating, based on the target oblivious transfer technique, a second proximity relationship and a second data point distribution density for each data point in the data in the second secret sharing format; The second cluster label result in the target ciphertext form is determined by using the second neighbor relationship and the second data point distribution density.
4. The method according to claim 1, wherein The returning the first cluster label result and the second cluster label result to the multiple data holders includes: Performing target interaction processing on the first cluster label result determined by the first computing server and the second cluster label result determined by the second computing server to determine a final cluster label result; Based on the first computing server or the second computing server, the final clustering label result is returned to the multiple data holders.
5. The method according to claim 1, wherein After returning the first cluster label result and the second cluster label result to the multiple data holders, the method further includes: The first cluster label result and the second cluster label result are decrypted to obtain final plaintext cluster labels of the multiple data holders.
6. A DBSCAN algorithm computing device for protecting data privacy, characterized in that: include: An encryption module, configured to encrypt target data from multiple data holders to obtain data in a first secret sharing format and data in a second secret sharing format; a sending module, configured to send the data in the first secret sharing format to a first computing server, and send the data in the second secret sharing format to a second computing server; A computing module is used to determine the first cluster label result of the first computing server and the second cluster label result of the second computing server after performing the target DBSCAN clustering algorithm calculation using the first computing server and the second computing server, and return the first cluster label result and the second cluster label result to the multiple data holders.
7. The device according to claim 6, characterized in that The encryption module includes: an encoding unit, configured to represent all data in at least one data holder by using a target fixed-point number, so as to encode all the data into data in a target integer form; a processing unit, configured to perform target random splitting processing on the data in the target integer form to generate target random data, and use the target random data as data in the first secret sharing form; A calculation unit is configured to calculate target difference data between the target integer data and the target random data, so as to determine the data in the second secret sharing form according to the target difference data.
8. An electronic device, characterized in that: include: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the DBSCAN algorithm calculation method for protecting data privacy according to any one of claims 1 to 5.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: The program is executed by a processor to implement the DBSCAN algorithm calculation method for protecting data privacy as described in any one of claims 1 to 5.
10. A computer program product comprising a computer program, characterized in that The computer program is executed by a processor to implement the DBSCAN algorithm calculation method for protecting data privacy as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Multi-client data privacy processing method, system, device, medium and product
CN118410521A
Cloud-based multi-source government affair data privacy protection clustering method and system and related equipment
CN118734106A
Privacy protection DBSCAN clustering method and device based on secure multi-party computing environment
CN119128556A
DBSCAN classification method and device based on secret sharing privacy protection, equipment and medium
CN119128640A
Image query method and device, storage medium and computer program product
CN119150351A