Tournament Selection on Encrypted Data via Local Slot Comparison
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current fully homomorphic encryption (FHE) mechanisms are inefficient in performing tournament type selection operations within a single ciphertext, due to high resource costs and potential errors introduced by rotations.
Innovation Solution
The method involves executing a tournament selection process using local selection operations between pairs of slots within a single ciphertext, with operations including rotations, masking, and broadcasting to generate an indicator vector that uniquely identifies the winner.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If tournament selection operations are performed using current FHE mechanisms, then selection functionality is achieved, but resource costs are high and errors are introduced due to multiple rotations
Solution Approach 1:
The patent segments the tournament selection process into local selection operations between pairs of slots within a single ciphertext, avoiding the need for multiple ciphertext rotations. Each slot is compared locally with its pair, and winner indicators are generated without rotating the entire ciphertext structure.
Solution Approach 2:
Instead of rotating ciphertexts to bring competing slots into alignment for comparison, the patent inverts the approach by performing local comparisons between fixed slot pairs within the same ciphertext and using indicator vectors to track winners, eliminating the rotation step entirely.
2Adaptability or versatility
If multiple rotations are performed to enable tournament selection between ciphertext slots, then selection capability is achieved, but resource utilization deteriorates
Solution Approach 1:
The patent divides the selection capability into local pairwise comparisons between slots within a single ciphertext, eliminating the need for global ciphertext rotations. This segmentation allows tournament selection to be performed efficiently using only local operations and indicator vector updates.
Solution Approach 2:
The patent introduces indicator vectors as intermediary data structures to track winner slots throughout the tournament selection process. These indicator vectors enable the system to maintain selection capability across multiple tournament rounds without requiring repeated ciphertext rotations, thus improving resource utilization.
3Ease of operation
If rotations are performed on ciphertexts to perform tournament selection, then slot alignment is achieved, but noise is introduced into the ciphertexts
Solution Approach 1:
Instead of rotating ciphertexts to align slots for comparison, the patent inverts the approach by performing local comparisons between fixed slot pairs within the same ciphertext position. This eliminates the rotation operation that introduces noise while maintaining the ability to perform tournament selection.
Solution Approach 2:
The patent segments the comparison operation into local pairwise comparisons between slots at the same position in different ciphertexts, rather than requiring global rotation to align all competing slots. This segmentation prevents noise introduction while achieving the necessary slot alignment for selection.
Data Source
AI summary
Mechanisms are provided for performing a tournament selection process of a computer function. A request is received to execute the computer function on an input vector data structure, where a result of the computer function is provided by executing the tournament selection process. The input vector data structure is received, comprising a plurality of values where each value corresponds to a vector slot. An index vector data structure is received that comprises indices of the vector slots of the input vector. Iteration(s) of the tournament selection process are executed to identify a value in the input vector satisfying a criterion of the computer function. An operation is performed on the index vector data structure to generate an indicator vector data structure that uniquely identifies a slot in the input vector data structure that is a result of the computer function being executed on the input vector data structure.


