From certFHE Community KB
Jump to navigation Jump to search

We will briefly describe here the contributions of the article[1], in which members of the certSign research group introduced a new method for producing the following:

  • Starting with an encryption scheme which is homomorphic with respect to one operation (such as multiplication), the recipe of the authors produces another encryption scheme which is now homomorphic with respect to two operations (for example, addition and multiplication).

The authors use this technique to construct examples of encryption schemes that, theoretically can handle any algebraic function on encrypted data.

The homomorphic encryption scheme CSGN, a symmetric homomorphic encryption scheme with plaintext (the field with two elements) was introduced in the same article. The latter plays an essential role the architecture of a privacy-preserving contact tracing application, developed by certSign as part of the TAMEC project. [2]

The content of the article is protected under the law by two patents. [3]

A toy implementation can be found here : https://github.com/certfhe/CSGN

Ring homomorphic encryption schemes from monoidal ones. The blueprint

Given a monoid and any commutative ring with unity, one can associate to these an algebra . As an -module, the monoid algebra is free with a basis consisting of the symbols , where .

The multiplication in this algebra is defined by extending in an -bilinear manner. Any element has a unique representation

where for all but finitely many . The product of two elements is given by

We note that the identity element with respect to multiplication is , where is the identity element of . If is a group then the monoid algebra described above is called a group algebra.

If are two monoids, a monoid homomorphism induces a natural -algebra homomorphism .

We also remark that for any -algebra , there is a natural -algebra homomorphism given by


The patented blueprint

Let be a finite ring and let be a monoid homomorphic encryption scheme. This implies that the ciphertext and the plaintext are monoids and the decryption algorithm is a monoid homomorphism.

Consider an efficiently computable -character , where is a finite -algebra.

As explained above, the monoid homomorphism induces the -algebra homomorphism . At the same time, induces an -algebra homomorphism . The -algebra homomorphism is defined as


defined by the formula


Let us denote by the image of in . For the decryption algorithm to remain secure, one needs the assumption that is not the trivial character, a condition that is always assumed in the blueprint.

We now describe a ring homomorphic encryption scheme with plaintext and ciphertext . Let be the image of in and fix some integer such that the elements of the form , with is the whole -algebra .

  • Consider a fixed tuple . For a plaintext consider such that . Then
  • The decryption algorithm is given by

The authors of the article prove that is a ring homomorphic encryption scheme and the security of this scheme is the same as the security of the monoid encryption scheme that one starts with.

A symmetric ring homomorphic encryption scheme

In this section we describe the CertSGN scheme. As ciphertext space we take , where we consider the monoid structure defined by component-wise multiplication. Basically, is the commutative monoid generated by idempotents with no other relations between these. As plaintext, we consider the monoid . The CertSGN scheme is defined as follows:

  • Setup(): Choose the dimension parameter and the integers , such that .
  • SecretKeygen: Choose a subset of of size . Set the secret key to be .
  • To encrypt a bit , choose random numbers from the set such that there are exactly of them in the secret key . Set to be the vector in , whose components corresponding to the indices are equal to and the others are equal to .
  • : To decrypt a ciphertext , set if has at least one component equal to corresponding to an index from and otherwise.

Remark that if one represents the secret key as the indicator vector of , namely then the decryption algorithm can be expressed as an inner product over between and .

One can check that the scheme described above is a monoidal encryption scheme, so one can use the recipe in the blueprint to obtain a ring homomorphic encryption scheme .

We refer to the paper [1] for a proof of the correction of this scheme and for security and efficiency analyses.

Differences from homomorphic schemes based on LWE

In the ring homomorphic encryption scheme obtained above, we remark that the multiplication operation on fresh ciphertext is extremely efficient. It consists of only multiplications of two bits.

However, addition of ciphertexts makes the ciphertext grow. This phenomenon is exactly the opposite to the situation which appears in homomorphic schemes which are based on (R)-LWE problem. In the latter, the message is hidden using "noise", a quantity that grows upon homomorphic operations. If the noise is too large, then a message cannot be decrypted. When performing homomorphic operations on ciphertext, the noise grows linearly with the number of additions, but it grows exponentially with the multiplication depth of the circuit.

The CertSGN scheme brings huge advantages if somebody wants to homomorphically evaluate a circuit whose polynomial representation consists of a sum of few very large power monomials.


  1. M. Barcau and V. Pasol, Bounded Fully Homomorphic Encryption from Monoid Algebras, https://eprint.iacr.org/2018/584
  2. https://www.certsign.ro/en/projects
  3. U.S. Patent Appln. No. 14/936,097 and European Patent Appln. No. EP 15193706.7