# US 12,603,756 B2 · Fully homomorphic encrypted processing acceleration

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,603,756 B2
- Document ID: US12603756B2
- Status: Granted
- Kind: B2
- Application number: 18/674,853
- Filed: 2024-05-25
- Published: 2024-11-28
- Granted: 2026-04-14
- Earliest claimed: 2023-05-26
- Assignees: Niobium Microsystems, Inc.
- Applicants: Niobium Microsystems, Inc.
- Inventors: Georgios Dimou; David W. Archer; Brian Huffman; Tynan McAuley; Michiel Van Beirendonck
- Web page: https://patentgrep.com/patent/US12603756B2

## CPC

- H04L 9/008: {involving homomorphic encryption}
- H04L 9/0869: {involving random numbers or seeds}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method for reducing calculation time for processing fully homomorphic encrypted (FHE) data comprises pre-calculating a second half of a key-switching key, storing the second half of the key-switching key in memory, and receiving FHE data. After the FHE data is received, the method determines a first half of the key-switching key by randomly generating a first half of the key-switching key. The key-switching key is then constructed by retrieving the second half of the key-switching key from the memory and appending the second half of the key-switching key to the first half of the key-switching key. After the key has been constructed, a key-switching operation is performed on the FHE data using the key-switching key.

## Claims

### Claim 1

A method for reducing calculation time for processing fully homomorphic encrypted (FHE) data, the method comprising:
receiving FHE data;
determining, after receiving the FHE data, a first half of a key-switching key by randomly generating the first half of the key-switching key, comprising:
configuring a random number generator in a first mode; and
generating the first half of the key-switching key in a second mode, comprising repeating until the first half of the key-switching key is complete:
generating data, using a same seed value, prime value, and generator value;
producing a residue of the key-switching key based on the generated data; and
loading a new seed value, prime value, and generator value, so a subsequent residue of the first half of the key-switching key is generated from different seed values, prime values, and generator values;
acquiring a second half of the key-switching key;
constructing the key-switching key by appending the second half of the key-switching key to the first half of the key-switching key; and
performing a key-switching operation on the FHE data using the key-switching key.

### Claim 2 (depends on 1)

The method of claim 1, wherein determining the first half of the key-switching key by randomly generating the first half of the key-switching key further comprises:
randomly generating the first halves of several key-switching keys using uniform distribution over a finite field.

### Claim 3 (depends on 1)

The method of claim 1, wherein determining the first half of the key-switching is performed using a programmable seed.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining the first half of the key-switching key is performed using a modulus parameter.

### Claim 5 (depends on 1)

The method of claim 1, wherein seed values are equally spaced throughout a generation period.

### Claim 6 (depends on 1)

The method of claim 1, wherein generating the first half of the key-switching key in the second mode is performed using a number of seed values equal to an output size of the random number generator.

### Claim 7 (depends on 1)

The method of claim 1, wherein acquiring the second half of the key-switching key comprises:
pre-calculating the second half of the key-switching key before receiving the FHE data;
storing the second half of the key-switching key in memory; and
retrieving the second half of the key-switching key from the memory.

### Claim 8 (depends on 1)

The method of claim 1, wherein acquiring the second half of the key-switching key comprises:
determining, after receiving the FHE data, the second half of the key-switching key by generating the second half of the key-switching key based on the first half of the key-switching key.
