Deleting and inserting rows in fully homomorphically encrypted databases using queues
US-2023129422-A1 · Apr 27, 2023 · US
US12585797B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12585797-B2 |
| Application number | US-202418778619-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 19, 2024 |
| Priority date | Jan 20, 2022 |
| Publication date | Mar 24, 2026 |
| Grant date | Mar 24, 2026 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Data query methods, apparatuses and computer-readable media are described. In an example process of processing, by a third party, a federated data table formed based on data of a plurality of data parties, if related data need to be obtained based on sorting of multiple attribute columns of the data table, when the federated data table is sorted based on attribute values of the attribute columns, a row identifier is introduced for an out-of-order data table obtained by disordering the federated data table, and an index is created based on the row identifier. The row identifier is determined by the third party and exists in a form of ciphertext in an index table. A row identifier of a candidate row can be restored to a plaintext.
Opening claim text (preview).
The invention claimed is: 1 . A computer-implemented method for federated data query by a third party device to securely query target data from a federated data table of a plurality of data parties, wherein the federated data table is an attribute ciphertext data table created based on federated attribute data of the plurality of data parties for multiple service subjects, and the method is performed by the third party device and comprises: obtaining multiple associated index points of a query target based on comparison between a ciphertext of the query target and ciphertexts of a plurality of index points corresponding to a first attribute column, wherein each index point corresponding to the first attribute column is a data segmentation point for indexes created based on attribute value sorting of the first attribute column, and the query target comprises a query value in the first attribute column; obtaining a coded ciphertext of each of row identifiers corresponding to the multiple associated index points, wherein a row identifier of each row is determined through row coding for an out-of-order data table pre-obtained by disordering the federated data table; restoring a corresponding coded ciphertext to a plaintext row identifier, to determine a candidate row from the out-of-order data table; and comparing a ciphertext of an attribute value of each of candidate rows in the first attribute column with the ciphertext of the query target, to determine a target row from the candidate rows to obtain target data in the target row. 2 . The computer-implemented method according to claim 1 , wherein the third party device has a trusted cryptographic computing architecture, the trusted cryptographic computing architecture comprises a plurality of nodes, and a service associated with the federated data table is processed between the plurality of nodes through secure multi-party computation. 3 . The computer-implemented method according to claim 2 , wherein the federated data table is stored in a form of component ciphertext in the third party device, a single node stores a corresponding single component ciphertext for a single element in the federated data table, the query target is split into components by a querier, and each node holds a component ciphertext of a single component. 4 . The computer-implemented method according to claim 2 , wherein a single node in the third party device is implemented in a trusted execution environment. 5 . The computer-implemented method according to claim 1 , wherein the obtaining multiple associated index points of a query target based on comparison between a ciphertext of the query target and ciphertexts of a plurality of index points corresponding to a first attribute column comprises: performing size comparison between a ciphertext of the query value and the index points corresponding to the first attribute column; and in response to a comparison result that the query value has opposite size relationships with two adjacent index points, determining the two adjacent index points as associated index points of the query target. 6 . The computer-implemented method according to claim 1 , wherein the obtaining multiple associated index points of a query target based on comparison between a ciphertext of the query target and ciphertexts of a plurality of index points corresponding to a first attribute column comprises: performing size comparison between a ciphertext of the query value and the index points corresponding to the first attribute column; and in response to a comparison result that the query value is less than all index points, determining a smallest index point as an associated index point of the query target, or in response to a comparison result that the query value is greater than all index points, determining a largest index point as an associated index point of the query target. 7 . The computer-implemented method according to claim 1 , wherein for the first attribute column, each index point is determined by: extracting each attribute value ciphertext of the first attribute column from the out-of-order data table, to form a first index table with a coded ciphertext of a corresponding row identifier, wherein a coded ciphertext of a single row identifier is obtained by encrypting the single row identifier in a predetermined manner; performing sorting based on a size of an attribute value of the first attribute column after disordering the first index table; and determining each index point based on a sorting result and a predetermined attribute value segmentation condition. 8 . The computer-implemented method according to claim 1 , wherein the plurality of index points corresponding to the first attribute column are level-1 index points of the first attribute column, a single level-1 index point corresponds to a plurality of level-2 index points, and the plurality of level-2 index points segment row data corresponding to the single level-1 index point into a plurality of level-2 index attribute value ranges; and the obtaining multiple associated index points of a query target based on comparison between a ciphertext of the query target and ciphertexts of index points corresponding to a first attribute column comprises: comparing the ciphertext of the query target with a ciphertext of each level-1 index point of the first attribute column, to obtain multiple level-1 index points associated with the query target; and determining, based on comparison between the ciphertext of the query target and ciphertexts of level-2 index points corresponding to the multiple level-1 index points, the multiple associated index points of the query target from the level-2 index points. 9 . The computer-implemented method according to claim 1 , wherein the query target further comprises a query value in a second attribute column, and the restoring a corresponding coded ciphertext to a plaintext row identifier, to obtain each corresponding candidate row from the out-of-order data table further comprises: obtaining a first plaintext row identifier set based on plaintext row identifiers restored from coded ciphertexts corresponding to the multiple associated index points; detecting an intersection set of the first plaintext row identifier set and a second plaintext row identifier set, to obtain multiple common row identifiers, wherein the second plaintext row identifier set comprises each plaintext row identifier determined based on each index point associated with the query target in the second attribute column, and each index point associated with the query target in the second attribute column is determined based on comparison between the ciphertext of the query target and ciphertexts of a plurality of index points corresponding to the second attribute column; and determining each row corresponding to each common row identifier in the out-of-order data table as a candidate row. 10 . The computer-implemented method according to claim 1 , wherein the coded ciphertext of the plaintext row identifier is updated and used to recreate an index when one of the following is satisfied: a predetermined moment arrives; a third-party system is idle; or a quantity of restored plaintext row identifiers reaches a predetermined quantity threshold. 11 . A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations for federated data query by a third party device to securely query target data from a federated data table of a plurality of data parties, wherein the federated data table is an attribute ciphertext data table created based on federated attribute data of the plurality of data parti
in federated or virtual databases · CPC title
Query execution · CPC title
where protection concerns the structure of data, e.g. records, types, queries · CPC title
Providing cryptographic facilities or services · CPC title
Query optimisation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.