Secure Aggregate Function Computation System for Confidential Group-By Operations
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Group-by operations in secure computation often require determining intermediate data that are common across different operations, leading to increased computational complexity when performed simultaneously or in succession while maintaining confidentiality.
Innovation Solution
A secure aggregate function computation system that includes secure computation apparatuses capable of generating and sorting shares of key attributes and value attributes using permutations and flags to efficiently determine intermediate data, reducing computational complexity by sharing and sorting data in a way that preserves confidentiality.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple group-by operations are calculated simultaneously or in succession while keeping confidentiality, then security is maintained, but processing efficiency decreases due to overlapping computational complexity
Solution Approach 1:
The patent applies preliminary action by pre-determining intermediate data (such as sorted key attributes and permutation information) before executing multiple group-by operations. By preparing these intermediate results in advance through secure computation, the system avoids redundant processing during subsequent operations, thereby maintaining confidentiality while improving processing efficiency.
Solution Approach 2:
The patent implements universality by creating intermediate data structures that serve multiple group-by operations simultaneously. The sorted key attributes and permutation information generated once can be reused across different aggregate function calculations (count, sum, maximum, minimum, median, rank), allowing a single preprocessing step to support multiple operations without repeating the same computational steps.
2Measurement precision
If intermediate data is determined for each group-by operation separately, then calculation accuracy is maintained, but computational complexity increases
Solution Approach 1:
The patent merges the determination of intermediate data across multiple group-by operations by computing sorted key attributes and permutation information once, then reusing these merged results for all operations. This combining approach maintains calculation accuracy because the intermediate data structures preserve the necessary ordering and grouping information, while significantly reducing computational complexity by eliminating redundant processing.
Solution Approach 2:
By performing the sorting and intermediate data determination as a preliminary action before the actual aggregate function calculations, the patent separates the complex sorting operation from the simpler aggregation operations. This preliminary computation maintains accuracy for all subsequent operations while reducing overall computational complexity through reuse.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
To efficiently determine intermediate data for use with an aggregate function while keeping confidentiality. A bit decomposition unit (11) generates a share of a bit string by bit decomposition and concatenation of key attributes. A group sort generation unit (12) generates a share of a first permutation, which performs a stable sort of the bit string in ascending order. A bit string sorting unit (13) generates a share of a sorted bit string obtained by sorting the bit string with the first permutation. A flag generation unit (14) generates a share of a flag indicating a boundary between groups. A key aggregate sort generation unit (15) generates a share of a second permutation, which performs a stable sort of the negation of the flag in ascending order. A de-duplication unit (16) generates shares of de-duplicated key attributes. A key sorting unit (17) generates shares of sorted key attributes by sorting the de-duplicated key attributes with the first permutation and the second permutation in sequence. A value sorting unit (18) generates shares of the sorted value attributes by sorting value attributes with the first permutation.