Encrypted Text Search via Homomorphic Encryption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data custodians face challenges in providing search capabilities over private datasets without exposing sensitive information, as traditional search methods risk revealing personally identifiable information (PII) or other sensitive data, especially in scenarios like medical record access for research purposes.

Innovation Solution

The implementation of a system using Fully Homomorphic Encryption (FHE) to create an encrypted search index, allowing for encrypted search queries to be processed without decrypting the data, using a binary search tree for efficient search operations and delegating search operations to a trusted third party, ensuring data and query privacy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If traditional search methods are used on private datasets, then search functionality is provided, but sensitive information and PII are exposed

Engineering Contradiction:
Improvesearch functionalityVSAvoiddata exposure
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent introduces Fully Homomorphic Encryption (FHE) as an intermediary mechanism that enables search operations on encrypted data without exposing the underlying information. The FHE system acts as a mediator between the search functionality and the private dataset, allowing computations to be performed on ciphertexts while maintaining data confidentiality throughout the process.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent transforms the data from plaintext to encrypted form using FHE, changing the state parameter of the data from readable to encrypted. This parameter change allows the data to maintain its usability for search operations while simultaneously protecting it from exposure, as the encrypted form cannot be directly interpreted or leaked.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If data is encrypted to protect privacy, then data security is improved, but search operations become more complex and time-consuming

Engineering Contradiction:
Improvedata securityVSAvoidsearch operation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies FHE encryption to the dataset in advance before any search operations are performed. This preliminary action of encrypting the data once allows subsequent search operations to be conducted on the encrypted form without requiring repeated encryption/decryption cycles, thereby reducing the complexity of ongoing search operations while maintaining security.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If data is encrypted to protect privacy, then data security is improved, but search operation time increases

Engineering Contradiction:
Improvedata securityVSAvoidsearch operation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs the encryption operation once in advance on the entire dataset, transforming it into FHE-encrypted form. This preliminary action eliminates the need for time-consuming encryption operations during each search operation, allowing searches to be conducted efficiently on pre-encrypted data while maintaining continuous security protection.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11630913B2Encrypted text searching
Publication Date: 2023.04.18 VIA SCIENCE INC
  • US11630913B2 patent drawing
  • US11630913B2 patent drawing
  • US11630913B2 patent drawing

AI summary

A first system receives an encrypted data vector representing a text search query from a second system and second encrypted data from a third system that may include a first vector and a second vector representing text of an electronic document. The first system may multiply the vectors by a random vector. The first system may determine a first difference between the encrypted data vector and the first vector, and a second difference between the encrypted data vector and the second vector. The first system may determine a product of the first and second difference. The first system may send the product to the third system and then receive a value representing the decrypted difference. The first system may determine if the value satisfies a condition and send the result of the determination to the second system.