Skip to content

Add functionality for creating automorphism keys at a specified level #413

Open
@andreea-alexandru

Description

@andreea-alexandru

Also, for a specific rotation index, keep only the key with the most towers (in the cryptcontext map with all automorphism keys).

A related issue was originally opened in palisade: https://gitlab.com/palisade/palisade-development/-/issues/90 (there was even an early implementation, but it was hacky/did not fully work). It would take an existing evaluation key and compress it to a certain level.

The desired API change is to add an extra argument to Eval*KeyGen methods, which will set the level at which the key should be created (by default, it will be 0).

It would also be helpful to add a CompressEvalKey function that reduces the number of RNS limbs for an existing evaluation key.

The initial focus should be on BGV and CKKS. The BFV setup is a little bit trickier (there, the level would imply how many RNS limbs were removed).

Unit tests should be added.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions