Secure Aggregate Function Computation System for Confidential Group-By Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveconfidentialityVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Measurement precision

If intermediate data is determined for each group-by operation separately, then calculation accuracy is maintained, but computational complexity increases

Engineering Contradiction:
Improvecalculation accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3806070B1Secret aggregate function calculation system, secret calculation device, secret aggregate function calculation method, and program
Publication Date: 2023.07.19 NIPPON TELEGRAPH & TELEPHONE CORP
  • EP3806070B1 patent drawingFigure 1
  • EP3806070B1 patent drawingFigure 2
  • EP3806070B1 patent drawingFigure 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.