Python implementation of the BFV scheme of FHE. Only for educational purposes.
- Revisiting Homomorphic Encryption Schemes for Finite Fields.
- Somewhat Practical Fully Homomorphic Encryption
- Jay's explanation
$ python3 -m unittest discover -p '*_test.py'
The following CLI interface is provided to generate a json file that will be used as input file for a circuit. This will be used in zk-fhe for testing purposes.
The script will run through the following steps:
- Secret key generation
- Public key generation
- Encryption of a random message to generate the ciphertext
- Decryption of the ciphertext to generate the plaintext
- Assertion of the equality between the plaintext and the original message
- Generation of the json file
$ python3 cli.py --help
$ python3 cli.py -n 1024 -q 536870909 -t 257 --output input.json