Blind Rotation in Homomorphic Encryption via Internal Products

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing blind rotation techniques in homomorphic encryption incur significant performance overhead due to sequential updating of accumulators, limiting parallelization and efficiency in encrypted computations.

Innovation Solution

The method employs internal products instead of external products for blind rotation, allowing parallel computation of decryption ciphertexts and reducing the depth of the computation from linear to logarithmic, enabling concurrent processing on multiple cores or processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If external products are used for blind rotation with sequential accumulator updating, then the computation can be performed correctly, but the performance overhead is significant and parallelization is limited

Engineering Contradiction:
Improveblind rotation speedVSAvoidcomputation depth
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the blind rotation computation into multiple independent decryption ciphertext computations that can be performed in parallel. Instead of sequentially updating an accumulator, the method segments the computation into parallel branches that process different components of the decryption key simultaneously, thereby reducing the overall computation depth from linear to logarithmic.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a sequential one-dimensional computation process to a parallel multi-dimensional computation structure. By organizing the computation in terms of polynomial products and using internal products across multiple dimensions, the method enables concurrent processing on multiple cores or processors, effectively adding a parallelism dimension to the computation.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If sequential accumulator updating is used, then the computation structure is simple, but the performance is limited due to inability to parallelize

Engineering Contradiction:
Improveencrypted computation efficiencyVSAvoidcomputation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary organization of the decryption key into multiple components that can be processed in parallel. By pre-structuring the computation into independent polynomial product operations that can be executed concurrently, the method reduces the overall computation time while maintaining correctness, allowing encrypted computations to complete more efficiently.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If parallel processing is enabled, then the computation speed increases, but the noise growth may increase

Engineering Contradiction:
Improveblind rotation speedVSAvoidnoise growth
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The patent changes the computational parameters and structure by using internal products instead of external products, and by organizing the parallel computation around polynomial multiplications with controlled noise properties. This parameter change allows parallel processing to be performed while keeping noise growth manageable, as the internal product structure inherently controls noise accumulation compared to traditional external product approaches.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP4344121B1Encrypted computation with a blind rotation
Publication Date: 2024.08.28 ZAMA SAS
  • EP4344121B1 patent drawingFigure 1a~1b
  • EP4344121B1 patent drawingFigure 2a~2c
  • EP4344121B1 patent drawingFigure 3

AI summary

Some embodiments are directed to a cryptographic method (500) of performing an encrypted computation that involves a blind rotation. Based on an encrypted input and based on the key ciphertexts of a bootstrapping key, a set of decryption ciphertexts for evaluating a decryption-under-encryption of the encrypted input is determined. An encrypted output is determined by determining an encrypted polynomial product of the decryption ciphertexts. The encrypted polynomial product is determined by computing multiple internal products. The internal products are computed at least in part in parallel.