# Homomorphic 4-bit Adder Cipher Circuit

We give away data when it runs in memory as the bits on a circuit can be examined. But, let’s say we encrypt the bits before we apply them to a circuit, we would not be able to determine the actual value of any of the bits. For this, we can use a homomorphic circuit, and which could implement any mathematical function that we want.

One method we can use is DM (FHEW) [1] and which uses a LWE (Learning With Error) method to provide fully homomorphic encryption (FHE). It is able to evaluate cipher data applied onto Boolean circuits and uses bootstrapping after each gate evaluation. This allows the evaluation to be conducted in less than 0.1 seconds. The gates implemented are AND, OR, NAND, NOR, and NOT. In homomorphic encryption, the noise in the computation increases as we perform operations. This is typically when we perform a large number of additions. and multiplications will often reduce the amount of noise. A bootstrapping process allows for us to reset the noise and will introduce a delay in the computation. In this case, we will use the Gama-Izabachene-Nguyen-Xie (GINX) [2] bootstrapping method.

## A four-bit cipher adder

In this example, we will create an encrypted 4-bit binary adder function of the form:

A half adder is created with: