Three-party efficient private record linkage method and system for large-scale databases
By combining quadratic residual homomorphic encryption, Bloom filters, and differential privacy techniques, and employing non-redundant block partitioning and semi-honest third-party linking units, efficient private record linking for large-scale databases is achieved. This solves the problems of high computational complexity and high resource consumption in existing technologies, and improves the scalability and matching efficiency of the system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- UNIV OF JINAN
- Filing Date
- 2026-03-24
- Publication Date
- 2026-05-19
AI Technical Summary
Existing technologies suffer from high computational complexity and resource consumption in linking private records in large-scale databases, making it difficult to maintain acceptable performance in cross-organizational scenarios. In particular, the computational cost of accurate matching increases dramatically in homomorphic encryption environments.
It employs a combination of homomorphic encryption based on quadratic residues, Bloom filters, and differential privacy techniques. By reducing the number of candidate record pairs through non-redundant block partitioning, protecting privacy with differential privacy perturbations, and introducing semi-honest third-party linking units to randomly assign candidate record pairs, it achieves approximate matching by combining Bloom filter encoding, thereby reducing computational and communication overhead.
It effectively reduces computing costs and communication volume in large-scale database scenarios, improves system scalability and matching efficiency, and ensures that data privacy is not leaked.
Smart Images

Figure CN121902212B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of privacy-preserving data linking technology, specifically relating to a method and system for efficient third-party private record linking for large-scale databases. Background Technology
[0002] The statements herein provide only background information in relation to this invention and do not necessarily constitute prior art.
[0003] In the era of big data, data, as a core production factor, relies on secure sharing and integrated analysis across organizations and institutions to unlock its value. However, due to strict privacy regulations, the need to protect trade secrets, and data security considerations, data held by various institutions has formed "data silos." Private Record Linkage (PRL) technology aims to identify and link records in different databases that point to the same real-world entity without disclosing the original sensitive data. It is a key technology for breaking down data silos and achieving privacy-preserving data collaboration.
[0004] Record linking aims to identify and link all records from different databases that point to the same real-world entity. It can be used to link records across multiple databases or to detect duplicate records within a single database. One research direction in record linking is linking records in a privacy-preserving manner. Due to privacy concerns, legal restrictions, or commercial interests, databases from different organizations need to link records across organizations without disclosing their sensitive information. In private record linking, to protect local private sensitive data, the database first removes unique identifier attributes (such as ID numbers, mobile phone numbers, etc.) that represent records. Then, it selects attributes from public attributes as quasi-identifier attributes for encoding or encryption. Finally, the quasi-identifier attribute values of each candidate record pair are compared. If a record pair matches, the sensitive attribute value of the other record is obtained.
[0005] In private record links, databases typically rely on secure multi-party computation techniques such as homomorphic encryption to complete record matching operations, thereby achieving cross-database links while ensuring data privacy. However, homomorphic encryption is more suitable for precise matching scenarios in practical applications, and its ability to preserve the original similarity of records is limited. To improve the accuracy and stability of matching results, existing research often requires selecting multiple attributes as quasi-identifiers, comprehensively comparing candidate record pairs, and using metrics such as squared Euclidean distance to quantify the differences between record pairs, thereby determining whether the record pairs match. While the above matching methods can improve link quality to some extent, they also significantly increase computational and communication overhead. On the one hand, calculating squared Euclidean distance involves a large number of square and addition operations, and in a homomorphic encryption environment, these operations need to be performed in ciphertext space, with computational complexity far exceeding that of plaintext operations. On the other hand, the frequent data encryption, decryption, and interaction operations during the matching process further amplify the overall system overhead. As the data scale continues to grow, the above high-cost operations will lead to an exponential increase in matching time and resource consumption, making it difficult for the system to maintain acceptable performance in large-scale dataset scenarios. Summary of the Invention
[0006] The purpose of this invention is to overcome the shortcomings of the existing technology and provide a method and system for efficient third-party private record linking for large-scale databases. By combining homomorphic encryption based on quadratic residues, Bloom filters and differential privacy technology, it achieves approximate matching of private record links with low computational overhead and communication volume and high scalability.
[0007] To achieve the above objectives, the present invention is implemented through the following technical solution:
[0008] In a first aspect, the technical solution of the present invention provides a method for efficient third-party private record linking for large-scale databases, including:
[0009] The first participant and the second participant each divide their local records, add differential privacy perturbations to each local block, and send them to the linking unit. The linking unit then generates candidate record pairs and distributes them to the first participant and the second participant respectively.
[0010] The first and second participants request encrypted data of the corresponding records from each other based on the received candidate record pair information; the requested party encodes the relevant information of the requested record using a Bloom filter; the obtained Bloom filter encoding is encrypted using a homomorphic encryption algorithm based on quadratic residues, and an encryption offset list is calculated. The encrypted Bloom filter encoding and the encryption offset list are then sent to the requesting party.
[0011] The requester uses the Bloom filter encoding of the local record to perform homomorphic addition on the received encrypted Bloom filter encoding, and combines it with the received encrypted offset list to obtain the encrypted intermediate result representing the similarity of the records.
[0012] The intermediate encrypted result is decrypted based on the linking unit, and the decryption result indicates the matching random number to be returned to the requester, and the matching record pair is output.
[0013] In at least one embodiment, the first participant and the second participant respectively divide their local records, and send each local block after division with differential privacy perturbation to the linking unit, specifically including:
[0014] The first and second participants divide their local records according to the shared block key value, resulting in multiple non-overlapping local blocks, and record the range of block key values for each local block.
[0015] The local blocks are perturbed by adding virtual records or deleting real records to obtain perturbed local blocks, and the number of perturbed local blocks is recorded.
[0016] The local block summary is composed of the block key value range of each local block and the number of local blocks after perturbation, and then sent to the linking unit.
[0017] In at least one embodiment, the shared block key value includes one or more of gender, surname, or age.
[0018] In at least one embodiment, after the linking unit generates candidate record pairs, it assigns them to the first participant and the second participant respectively. Specifically, after receiving the local block summary, the linking unit merges the local blocks from the first participant and the local blocks from the second participant according to the overlapping block key value range to construct a non-overlapping common block, generates candidate record pairs according to the common block, and randomly and equally distributes the generated candidate record pairs to the first participant and the second participant.
[0019] In at least one embodiment, the first and second participants request encrypted data of the corresponding record from each other based on the received candidate record pair information. The requested party encodes the relevant information of the requested record using a Bloom filter, specifically including:
[0020] The first and second participants extract each other's record number from the received candidate record pairs and send the record number to the encrypted record of the other party's request response;
[0021] After receiving the request, the requested party converts the quasi-identifier attribute value corresponding to the record label into a q-gram set, and maps each q-gram substring in the q-gram set to a Bloom filter for encoding, thus obtaining the Bloom filter encoding.
[0022] In at least one embodiment, the quasi-identifier attribute is specifically an attribute selected from public attributes for comparison during the matching phase.
[0023] In at least one embodiment, the requesting party uses locally recorded Bloom filter codes to perform homomorphic addition on the received encrypted Bloom filter codes, specifically including:
[0024] Map the local records in the requester's candidate record pair to Bloom filter encoding;
[0025] By using the 1-bit position information in the locally recorded Bloom filter code to perform homomorphic addition on the corresponding position of the received encrypted Bloom filter code, the cardinality of the intersection of the two recorded Bloom filter codes is obtained.
[0026] In at least one embodiment, an intermediate encrypted result representing the similarity of records is obtained by combining the received list of encrypted offsets, specifically including:
[0027] The corresponding encryption offset is found based on the Hamming weights encoded by the Bloom filter in the local record. The encryption offset is then combined with the intersection cardinality of the encryption using a homomorphic computation function to obtain the homomorphic computation result.
[0028] For each candidate record pair, a random record pair number is generated, and this random record pair number is combined with the homomorphic computation result to form an encrypted intermediate result, which is then sent to the linking unit for decryption.
[0029] In at least one embodiment, the linking unit decrypts the received random record pair number. If the decryption result is 1, the random record pair number is sent to the database as the requester. The database searches for relevant candidate record pairs based on the received random record pair number and outputs the final matching record pair.
[0030] Secondly, the technical solution of the present invention also provides a three-party efficient private record linking system for large-scale databases, including: a first participating party terminal, a second participating party terminal and a linking unit terminal;
[0031] The first participant terminal is configured to: divide the local records of the first participant, add differential privacy perturbation to each local block after division, and send it to the link unit;
[0032] Receive candidate record pair information and request the encrypted data of the corresponding record from the second participating terminal; receive the request from the second participating terminal, encode the relevant information of the requested record using a Bloom filter, encrypt the obtained Bloom filter encoding using a homomorphic encryption algorithm based on quadratic residues, calculate the encryption offset list, and send the encrypted Bloom filter encoding and encryption offset list to the second participating terminal.
[0033] Using the Bloom filter code recorded locally by the first participant, a homomorphic addition operation is performed on the received encrypted Bloom filter code, and combined with the received encrypted offset list, an encrypted intermediate result representing the similarity of the records is obtained, and the encrypted intermediate result is sent to the link unit terminal.
[0034] The second participating terminal is configured to: divide the local records of the second participating party, add differential privacy perturbation to each local block after division, and send it to the link unit;
[0035] Receive candidate record pair information and request the encrypted data of the corresponding record from the first participating party terminal; receive the request sent by the first participating party terminal, encode the relevant information of the requested record using a Bloom filter, encrypt the obtained Bloom filter code using a homomorphic encryption algorithm based on quadratic residues, calculate the encryption offset list, and send the encrypted Bloom filter code and encryption offset list to the first participating party terminal.
[0036] Using the Bloom filter encoding recorded locally by the second participant, a homomorphic addition operation is performed on the received encrypted Bloom filter encoding, and combined with the received encrypted offset list, an encrypted intermediate result representing the similarity of the records is obtained, and the encrypted intermediate result is sent to the link unit terminal.
[0037] The link unit terminal is configured to receive each local block after division, generate candidate record pairs, and then distribute them to the first participant terminal and the second participant terminal respectively.
[0038] The encrypted intermediate result sent by the first participating party terminal is decrypted, and the decryption result indicates the matching random number to be returned to the first participating party terminal to output the matching record pair;
[0039] The encrypted intermediate result sent by the second participating terminal is decrypted, and the decryption result indicates the matching random number to be returned to the second participating terminal to output the matching record pair.
[0040] The beneficial effects of the above-described technical solution of the present invention are as follows:
[0041] This invention presents a method for efficient three-party private record linking for large-scale databases. First, it uses non-redundant block partitioning to reduce the number of candidate record pairs and differential privacy technology to add noise for privacy protection. Simultaneously, it introduces a semi-honest third party as the linking unit, randomly and evenly distributing candidate record pairs to both database parties, reducing the computational burden on one database and distributing it across both, effectively achieving parallel processing. In the matching phase, it uses homomorphic encryption based on quadratic residues to address the problem of third parties inferring similarity through decrypting intermediate results. Combined with Bloom filters to encode quasi-identifier attribute values, and using the Dice coefficient as a similarity index, it achieves approximate matching, reducing the number of attributes used as quasi-identifiers and avoiding high-overhead square operations and frequent encryption / decryption. While ensuring the privacy of the database participants' private records is not leaked, it effectively reduces the computational cost of precise matching based on homomorphic encryption, improving its scalability for large-scale databases in three-party scenarios. Attached Figure Description
[0042] The accompanying drawings, which form part of this invention, are used to provide a further understanding of the invention. The illustrative embodiments of the invention and their descriptions are used to explain the invention and do not constitute an improper limitation of the invention.
[0043] Figure 1 This is a schematic diagram of the efficient third-party private record linking method for large-scale databases disclosed in Embodiment 1 of the present invention;
[0044] Figure 2 This is a flowchart of the candidate record pair generation and separation process disclosed in Embodiment 1 of the present invention;
[0045] Figure 3 This is a flowchart of the database record conversion and encryption process disclosed in Embodiment 1 of the present invention;
[0046] Figure 4 This is a flowchart of the secure matching calculation disclosed in Embodiment 1 of the present invention;
[0047] Figure 5 This is a schematic diagram of the data scale comparison experiment results disclosed in Embodiment 1 of the present invention;
[0048] Figure 6 This is a schematic diagram of the communication volume comparison experiment results disclosed in Embodiment 1 of the present invention. Detailed Implementation
[0049] It should be noted that the following detailed description is illustrative and intended to provide further explanation of the invention. Unless otherwise specified, all technical and scientific terms used in this invention have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains.
[0050] Terminology Explanation:
[0051] (1) Homomorphic Encryption Based on Quadratic Residue: QR-HE, a secure string matching technique first proposed by Essex et al. in 2019, is mainly applied to private record links in medium-sized databases in two-party scenarios. QR-HE improves the secure string matching technique by directly outputting the ciphertext of the comparison between the similarity of record pairs and the matching threshold through homomorphic encryption based on quadratic residue, thereby solving the privacy leakage problem caused by the exposure of intermediate similarity values during the matching process. This technique achieves approximate matching by combining with fixed-length bit vectors, which solves the privacy leakage problem in the matching stage while also having good matching accuracy. However, this technique uses fixed-length bit vectors, resulting in large space storage overhead, especially for sparse vectors, causing unnecessary space waste. Moreover, since it is a two-party scenario, the computational pressure is borne by the database side, which leads to a sharp increase in computational overhead and communication costs as the data scale increases, making it difficult to link large databases.
[0052] (2) Non-redundant block partitioning: In private record links, in order to reduce the number of record pairs compared during the matching phase, block partitioning is required to divide the records into blocks. Only records from different databases within the same block can form candidate record pairs for comparison. Non-redundant block partitioning is a type of block partitioning technique. Each record can only be divided into one block. It mainly uses block key-value technology to preprocess the records to filter out some mismatched record pairs.
[0053] (3) Bloom filter: The Bloom filter is a probabilistic data structure with high space efficiency and fast query speed. It can be used to determine whether an element belongs to a certain set. In the private record link, the Bloom filter is used as an encoding technique to encode the quasi-identification attribute values from different databases to preserve the original similarity. The Dice coefficient is used as the similarity index to achieve approximate matching. Compared with using a fixed bit vector, the encoding method is more flexible.
[0054] (4) Differential Privacy: Differential privacy is a method for quantifying privacy protection, designed to ensure that query results for individual data do not reveal too much information about the individual. By adding noise to the query results, differential privacy ensures that even if an attacker knows the existence or non-existence of certain data, they cannot infer information about other individuals. Noise is added to the blocks during the segmentation phase of private record links to protect privacy.
[0055] As described in the background section, the purpose of this invention is to overcome the shortcomings of the prior art and provide a method and system for efficient third-party private record linking for large-scale databases. By combining quadratic residual homomorphic encryption, Bloom filters and differential privacy techniques, it achieves approximate matching of private record links with low computational overhead and communication volume, and high scalability.
[0056] Example 1
[0057] In a typical embodiment of the present invention, such as Figures 1 to 6 As shown, this embodiment discloses a method for efficient third-party private record linking for large-scale databases, specifically including the following steps:
[0058] S1. The first participant and the second participant divide their respective local records, add differential privacy perturbation to each local block after division, and send it to the linking unit. The linking unit generates candidate record pairs and then distributes them to the first participant and the second participant respectively.
[0059] S2. The first and second participants request the encrypted data of the corresponding record from each other based on the received candidate record information; the requested party encodes the relevant information of the requested record using a Bloom filter; encrypts the obtained Bloom filter encoding using a homomorphic encryption algorithm based on quadratic residues, calculates the encryption offset list, and sends the encrypted Bloom filter encoding and encryption offset list to the requesting party.
[0060] S3. The requester uses the Bloom filter encoding of the local record to perform homomorphic addition on the received encrypted Bloom filter encoding, and combines it with the received encrypted offset list to obtain the encrypted intermediate result representing the similarity of the records.
[0061] S4. Decrypt the intermediate encrypted result based on the linking unit, return the matching random number of the decryption result to the requester, and output the matching record pair.
[0062] The efficient third-party private record linking method for large-scale databases proposed in this embodiment is an approximate matching scheme based on a combination of quadratic residue homomorphic encryption and Bloom filters. While ensuring the confidentiality of private records of database participants, it effectively reduces the computational cost of precise matching based on homomorphic encryption, improving its scalability for large-scale databases in third-party scenarios. This method first uses non-redundant block partitioning to reduce the number of candidate record pairs and differential privacy technology to add noise to protect privacy. Then, it uses homomorphic encryption based on quadratic residues to address the problem of third parties inferring similarity through decryption of intermediate results. Combined with Bloom filter encoding, it achieves approximate matching using a similarity index, reducing the number of attributes and avoiding high-overhead quadratic operations and frequent encryption / decryption operations. The following detailed description of the above-mentioned efficient third-party private record linking method for large-scale databases is provided in conjunction with specific implementation methods.
[0063] S1. The first participant and the second participant each divide their local records, add differential privacy perturbations to each local block after division, and send them to the linking unit. The linking unit generates candidate record pairs and then distributes them to the first participant and the second participant respectively.
[0064] This embodiment mainly includes three roles: the first participant corresponding to the first database. The second participant corresponding to the second data block And the link unit as a third party .
[0065] In this step, non-redundant block partitioning is first used to reduce the number of candidate record pairs. For example... Figure 2 As shown, the first participant Second Participant Each database independently partitions its local records based on a preset shared partitioning key value, resulting in multiple local partitions for the first database and multiple local partitions for the second database. During partitioning, records with the same partitioning key value are grouped into the same local partition, and the range of the partitioning key value for each local partition is determined by its lower and upper limits. To protect the privacy of the number of records within a block, each database employs a differential privacy mechanism, perturbing statistical information by adding virtual records or deleting real records. As a further implementation, the preset shared partitioning key value can be a combination of one or more common attributes such as gender, surname, or age.
[0066] Specifically, the first participant Record it locally The local block set is obtained by dividing the data according to the preset shared block key value. The block range is To the first local block set Add differential privacy perturbation noise to each local block. After obtaining the perturbation corresponding to the first database, local blocks are created. Indicates the first participant Number of local records This indicates the number of the first local block.
[0067] Second Participant Record it locally According to the first participating party The selected shared block keys are partitioned based on the same shared block key value to obtain the second local block set. The block range is To the second local block set Add differential privacy perturbation noise to each local block. After obtaining the perturbation corresponding to the second database, local blocks are created. Indicates the second participant Number of local records This indicates the number of the second local blocks.
[0068] In this embodiment, the first participant Second Participant The same block range can significantly reduce the occurrence of redundant blocks and effectively reduce computational overhead.
[0069] The number of records corresponding to the first database after perturbation and block key range Together, they constitute the local block summary corresponding to the first database, and the perturbed record count corresponding to the second database. and block key range Together, these constitute the local block summary corresponding to the first database. For security reasons, the local block summary only contains record numbers and does not disclose any original attribute values. Each database sends its corresponding local block summary to the linking unit, which acts as a third party. .
[0070] Link unit Upon receiving the local chunk summary, the key value range of the overlapping chunks will be determined from the first participant. Local partitioning Second Participant Local partitioning Merge the blocks to create non-overlapping common blocks. This ensures that each record belongs to only one common block, and only records within the same common block can form candidate record pairs for comparison with each other. To reduce unnecessary comparisons.
[0071] Link unit Generate candidate records Randomly and evenly distributed to the first participant Second Participant Assigned to the first participant The representation of is Assigned to the second participant The representation of is .
[0072] S2. The first and second participants request the encrypted data of the corresponding record from each other based on the received candidate record pair information; the requested party encodes the relevant information of the requested record using a Bloom filter; encrypts the obtained Bloom filter encoding using a homomorphic encryption algorithm based on quadratic residues, calculates the encryption offset list, and sends the encrypted Bloom filter encoding and encryption offset list to the requesting party.
[0073] like Figure 3 As shown, in this step, when the first participant... To the second participating party When requesting a record, the first participant As the requesting party, from the received candidate records Extracting the second participant Record number And number the record. Send to the second participant who is the requested party Request the corresponding encrypted record.
[0074] As the second participant of the requested party Upon receiving the request, the quasi-identifier attribute values of the corresponding record are first converted into a q-gram set. Quasi-identifier attributes are selected from common attributes and used for comparison during the matching phase, such as character attributes like last name, first name, and address. Then, each q-gram substring in the converted q-gram set is mapped to a Bloom filter and encoded using the Bloom filter to obtain the Bloom filter encoding. Subsequently, the recorded Bloom filter encoding is performed using a homomorphic encryption algorithm based on quadratic residues. Encryption is performed to obtain the encrypted Bloom filter code. And calculate the offset corresponding to the record, specifically as follows:
[0075] ;
[0076] In the formula, Representing records The corresponding z-th offset; Representing records The offset index in the corresponding offset list; This represents the preset record identifier attribute value encoded by the Bloom filter with the maximum Hamming weight; This indicates the preset matching threshold; Representing records Hamming weights encoded by Bloom filters.
[0077] The set of all offsets in this record constitutes an offset list. For this offset list Encryption is performed to obtain a list of encrypted offsets. and encode the encrypted Bloom filter. and encrypted offset list Send to the first party who is the requester .
[0078] Similarly, when the second participant To the first participant When requesting a record, the second participant As the requesting party, from the received candidate records Extracting the first participant Record number And number the record. Send to the first party as the requested party Request the corresponding encrypted record.
[0079] As the first participant of the requested party Upon receiving the request, first assign a record number. The quasi-identifier attribute values are converted into a q-gram set. Quasi-identifier attributes are character attributes selected from common attributes for comparison during the matching phase, such as last name, first name, and address. Then, each q-gram substring in the resulting q-gram set is mapped to a Bloom filter and encoded using the Bloom filter to obtain the Bloom filter encoding. Subsequently, the recorded Bloom filter encoding is performed using a homomorphic encryption algorithm based on quadratic residues. Encryption is performed to obtain the encrypted Bloom filter code. And calculate the offset corresponding to the record, specifically as follows:
[0080] ;
[0081] In the formula, Representing records The corresponding number One offset; Representing records Hamming weights encoded by Bloom filters.
[0082] Record number The set of all offsets constitutes the offset list. For this offset list Encryption is performed to obtain a list of encrypted offsets. and encode the encrypted Bloom filter. and encrypted offset list Send to the second participant who is the requester .
[0083] S3. The requester uses the Bloom filter encoding of the local record to perform homomorphic addition on the received encrypted Bloom filter encoding, and combines it with the received encrypted offset list to obtain the encrypted intermediate result representing the similarity of the records.
[0084] like Figure 4 As shown, in this step, when the first participant... When acting as the requesting party, it receives a second participating party from the requested party. Encryption Bloom filter encoding and encrypted offset list Then, the candidate records allocated to the requester will be... The local records in the encoding are mapped to Bloom filter codes. Then, using the 1-bit position information from the Bloom filter code of the local record, the encrypted Bloom filter code of the received encrypted record is generated. Homomorphic addition is performed at the corresponding positions to obtain the cardinality of the intersection of the two records after Bloom filter encoding and encryption, which is expressed as:
[0085] ;
[0086] In the formula, Indicates the preset Bloom filter length; Indicates the first Bloom filter code within the encoding Each element.
[0087] Next, the corresponding encryption offset is found based on the Hamming weights encoded by the Bloom filter in the local record. And the encryption offset is obtained through a homomorphic computation function. Intersection cardinality with encryption To combine, specifically:
[0088] ;
[0089] In the formula, Indicates the first participant The results of homomorphic computation of the candidate records held; This represents the homomorphic computation function used in the QR-HE technique.
[0090] Finally, generate random record pair numbers for each candidate record pair. And match the random record with the number Results of homomorphic computation Combined into encrypted intermediate results Send to link unit Decrypt.
[0091] Similarly, when the second participant When acting as the requesting party, it receives the first participating party's information from the requested party. Encryption Bloom filter encoding and encrypted offset list Then, the corresponding candidate records are paired. The local record is mapped to a Bloom filter code. Then, using the 1-bit position information from the Bloom filter code of the local record, the encrypted Bloom filter code of the received encrypted record is generated. Homomorphic addition is performed at the corresponding positions to obtain the cardinality of the intersection of the two records after Bloom filter encoding and encryption, which is expressed as:
[0092] ;
[0093] Next, the corresponding encryption offset is found based on the Hamming weights encoded by the Bloom filter in the local record. And the encryption offset is obtained through a homomorphic computation function. Intersection cardinality with encryption To combine, specifically:
[0094] ;
[0095] In the formula, Indicates the second participant The candidate records held are used to compute the homomorphic results.
[0096] Finally, generate random record pair numbers for each candidate record pair. And match the random record with the number Results of homomorphic computation Combined into encrypted intermediate results Send to link unit Decrypt.
[0097] S4. Decrypt the intermediate encrypted result based on the linking unit, return the matching random number of the decryption result to the requester, and output the matching record pair.
[0098] Link unit use Number the received random record pairs and Decryption is performed. If the decryption result is 1, the random record pair number is sent to the database that is the requesting party. The database searches for relevant candidate record pairs based on the received random record pair number and outputs the final matching record pair.
[0099] This embodiment also experimentally verifies the above-mentioned efficient third-party private record linking method for large-scale databases. A state voter registration form was selected as the experimental dataset, given_name was chosen as the quasi-identifier attribute, and surname was selected as the block key. Records of 1000, 2000, 3000, 4000, and 5000 records were randomly selected from datasets dataset4a and dataset4b in the recordlinkage function library, respectively, as the experimental datasets, i.e., the first participating party. Second Participant This method demonstrates improved scalability by comparing runtime and communication overhead across different data scales. Furthermore, comparing runtime under different parameters proves a significant improvement in computational efficiency.
[0100] (1) Data Scale Comparison Experiment: To ensure the experiment is unaffected by parameters such as matching threshold and key security level, the same experimental parameters were selected for this experiment. For example... Figure 5 As shown in the experimental results, the runtime of our proposed method increases more slowly with the number of records compared to the baseline scheme, demonstrating better performance on large-scale datasets. Furthermore, the runtime of the baseline scheme increases 15 times from medium-sized to large-scale datasets, while the runtime of our proposed method increases 12 times, proving that our method has improved scalability.
[0101] (2) Traffic Comparison Experiment: To ensure the experiment is unaffected by parameters such as matching threshold and key security level, the same experimental parameters were selected for this experiment. The overall cost of the scheme is concentrated in the database record conversion and encryption stage, with data encryption costs being the primary factor. In this stage, the first participant... Second Participant The system requires sending the recipient's locally encrypted records; therefore, the communication cost of the entire solution is concentrated on the amount of encrypted data transmitted between the databases. For example... Figure 6 As shown in the experimental results, the communication volume of the proposed method is significantly reduced compared to the baseline scheme, and the reduction in communication volume becomes more pronounced as the data size increases, demonstrating good performance on large-scale datasets.
[0102] (3) Parameter Comparison Experiment: To ensure the experiment was not affected by the data size, the same number of records was selected for this experiment. This method introduces a semi-honest third party as the linking unit to distribute the computational burden between the two databases. At the same time, it uses non-redundant block partitioning technology to effectively reduce the number of record pairs to be matched, and combines Bloom filter encoding to achieve approximate matching. As shown in Table 1, the experimental results show that this method is significantly better than the benchmark scheme in terms of running time, and the computational efficiency can be improved by up to 15 times compared to the benchmark scheme.
[0103] Table 1. Comparison of runtime (s) of the scheme under different parameters
[0104]
[0105] This method can be applied to cross-institutional privacy-preserving data integration in large-scale dataset scenarios, enabling multiple organizations and institutions to link records without sharing original sensitive data. For example, in the medical field, it can integrate the medical records of the same patient across different hospitals to provide more comprehensive treatment for that patient; in the business field, it can integrate the browsing records of the same user on different platforms to provide more accurate personalized services; and in the service sector, it can be used for collaborative privacy-preserving analysis between different departments to carry out service work more efficiently and ensure high-quality public services.
[0106] Example 2
[0107] In a typical embodiment of the present invention, this embodiment discloses a three-party efficient private record linking system for large-scale databases, including: a first participating party terminal, a second participating party terminal, and a linking unit terminal;
[0108] The first participating party's terminal is configured as follows:
[0109] (1) Divide the local records of the first participant, and send each local block after division with differential privacy perturbation to the linking unit;
[0110] (2) Receive candidate record pair information and request the encrypted data of the corresponding record from the second participating terminal; receive the request sent by the second participating terminal, encode the relevant information of the requested record using a Bloom filter, encrypt the obtained Bloom filter code using a homomorphic encryption algorithm based on quadratic residues, calculate the encryption offset list, and send the encrypted Bloom filter code and encryption offset list to the second participating terminal.
[0111] (3) Using the Bloom filter code recorded locally by the first participant, perform homomorphic addition on the received encrypted Bloom filter code, and combine it with the received encrypted offset list to obtain the encrypted intermediate result representing the similarity of the records, and send the encrypted intermediate result to the link unit terminal.
[0112] The second participating party's terminal is configured as follows:
[0113] (1) Divide the local records of the second participant, add differential privacy perturbation to each local block after division, and send it to the linking unit;
[0114] (2) Receive candidate record pair information and request the encrypted data of the corresponding record from the first participating terminal; receive the request sent by the first participating terminal, encode the relevant information of the requested record using a Bloom filter, encrypt the obtained Bloom filter code using a homomorphic encryption algorithm based on quadratic residues, calculate the encryption offset list, and send the encrypted Bloom filter code and the encryption offset list to the first participating terminal.
[0115] (3) Using the Bloom filter code recorded locally by the second participant, perform homomorphic addition on the received encrypted Bloom filter code, and combine it with the received encrypted offset list to obtain the encrypted intermediate result representing the similarity of the records, and send the encrypted intermediate result to the link unit terminal.
[0116] The link unit terminal is configured as follows:
[0117] (1) Receive each local block after division, generate candidate record pairs and then allocate them to the first participant terminal and the second participant terminal respectively;
[0118] (2) Decrypt the encrypted intermediate result sent by the first participating party terminal, and return the random number of the decryption result to the first participating party terminal to output the matching record pair;
[0119] (3) Decrypt the encrypted intermediate result sent by the second participating terminal, and return the random number of the decryption result to the second participating terminal to output the matching record pair.
[0120] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A method for efficient third-party private record linking in large-scale databases, characterized in that: include: The first participant and the second participant each divide their local records, add differential privacy perturbations to each local block, and send them to the linking unit. The linking unit then generates candidate record pairs and distributes them to the first participant and the second participant respectively. Based on the received candidate record pair information, the first and second participants request the encrypted data of the corresponding record from each other; The requested party uses a Bloom filter to encode the relevant information of the requested record; The obtained Bloom filter code is encrypted using a homomorphic encryption algorithm based on quadratic residues, and an encryption offset list is calculated. The encrypted Bloom filter code and the encryption offset list are then sent to the requester. The requester uses the Bloom filter encoding of the local record to perform homomorphic addition on the received encrypted Bloom filter encoding, and combines it with the received encrypted offset list to obtain the encrypted intermediate result representing the similarity of the records. The intermediate encrypted result is decrypted based on the linking unit, and the decryption result indicates the matching random number to be returned to the requester, and the matching record pair is output.
2. The method for efficient third-party private record linking for large-scale databases as described in claim 1, characterized in that, The first and second participants each divide their local records, add differential privacy perturbations to each local block, and then send them to the linking unit. Specifically, this includes: The first and second participants divide their local records according to the shared block key value, resulting in multiple non-overlapping local blocks, and record the range of block key values for each local block. The local blocks are perturbed by adding virtual records or deleting real records to obtain perturbed local blocks, and the number of perturbed local blocks is recorded. The local block summary is composed of the block key value range of each local block and the number of local blocks after perturbation, and then sent to the linking unit.
3. The method for efficient third-party private record linking for large-scale databases as described in claim 2, characterized in that, Shared block key values include one or more of gender, last name, or age.
4. The method for efficient third-party private record linking for large-scale databases as described in claim 2, characterized in that, After generating candidate record pairs, the linking unit distributes them to the first participant and the second participant respectively. Specifically, after receiving the local block summary, the linking unit merges the local blocks from the first participant and the local blocks from the second participant according to the overlapping block key value range to construct a non-overlapping common block. Candidate record pairs are generated according to the common block, and the generated candidate record pairs are randomly and evenly distributed to the first participant and the second participant.
5. The method for efficient third-party private record linking for large-scale databases as described in claim 1, characterized in that, Based on the received candidate record pairs, the first and second participants request encrypted data for the corresponding records from each other. The requested party uses a Bloom filter to encode the relevant information of the requested records, specifically including: The first and second participants extract each other's record number from the received candidate record pairs and send the record number to the encrypted record of the other party's request response; After receiving the request, the requested party converts the quasi-identifier attribute value corresponding to the record label into a q-gram set, and maps each q-gram substring in the q-gram set to a Bloom filter for encoding, thus obtaining the Bloom filter encoding.
6. The method for efficient third-party private record linking for large-scale databases as described in claim 5, characterized in that, The quasi-identifier attribute is specifically selected from the public attributes for comparison during the matching phase.
7. The method for efficient third-party private record linking for large-scale databases as described in claim 1, characterized in that, The requester uses the locally recorded Bloom filter code to perform homomorphic addition on the received encrypted Bloom filter code, specifically including: Map the local records in the requester's candidate record pair to Bloom filter encoding; By using the 1-bit position information in the locally recorded Bloom filter code to perform homomorphic addition on the corresponding position of the received encrypted Bloom filter code, the cardinality of the intersection of the two recorded Bloom filter codes is obtained.
8. The method for efficient third-party private record linking for large-scale databases as described in claim 7, characterized in that, The received list of encryption offsets is used to obtain intermediate encryption results representing the similarity of records, specifically including: The corresponding encryption offset is found based on the Hamming weights encoded by the Bloom filter in the local record. The encryption offset is then combined with the intersection cardinality of the encryption using a homomorphic computation function to obtain the homomorphic computation result. For each candidate record pair, a random record pair number is generated, and this random record pair number is combined with the homomorphic computation result to form an encrypted intermediate result, which is then sent to the linking unit for decryption.
9. The method for efficient third-party private record linking for large-scale databases as described in claim 8, characterized in that, The linking unit decrypts the received random record pair number. If the decryption result is 1, it sends the random record pair number to the database that is the requester. The database searches for relevant candidate record pairs based on the received random record pair number and outputs the final matching record pair.
10. A high-efficiency third-party private record linking system for large-scale databases, characterized in that: include: First participant terminal, second participant terminal, and linking unit terminal; The first participant terminal is configured to: divide the local records of the first participant, add differential privacy perturbation to each local block after division, and send it to the link unit; Receive candidate record pair information and request the encrypted data of the corresponding record from the second participating terminal; receive the request from the second participating terminal, encode the relevant information of the requested record using a Bloom filter, encrypt the obtained Bloom filter encoding using a homomorphic encryption algorithm based on quadratic residues, calculate the encryption offset list, and send the encrypted Bloom filter encoding and encryption offset list to the second participating terminal. Using the Bloom filter code recorded locally by the first participant, a homomorphic addition operation is performed on the received encrypted Bloom filter code, and combined with the received encrypted offset list, an encrypted intermediate result representing the similarity of the records is obtained, and the encrypted intermediate result is sent to the link unit terminal. The second participating terminal is configured to: divide the local records of the second participating party, add differential privacy perturbation to each local block after division, and send it to the link unit; Receive candidate record pair information and request the encrypted data of the corresponding record from the first participating party terminal; receive the request sent by the first participating party terminal, encode the relevant information of the requested record using a Bloom filter, encrypt the obtained Bloom filter code using a homomorphic encryption algorithm based on quadratic residues, calculate the encryption offset list, and send the encrypted Bloom filter code and encryption offset list to the first participating party terminal. Using the Bloom filter encoding recorded locally by the second participant, a homomorphic addition operation is performed on the received encrypted Bloom filter encoding, and combined with the received encrypted offset list, an encrypted intermediate result representing the similarity of the records is obtained, and the encrypted intermediate result is sent to the link unit terminal. The link unit terminal is configured to receive each local block after division, generate candidate record pairs, and then distribute them to the first participant terminal and the second participant terminal respectively. The encrypted intermediate result sent by the first participating party terminal is decrypted, and the decryption result indicates the matching random number to be returned to the first participating party terminal to output the matching record pair; The encrypted intermediate result sent by the second participating terminal is decrypted, and the decryption result indicates the matching random number to be returned to the second participating terminal to output the matching record pair.