LZChuan / RtF-Transciphering

A library for lattice-based homomorphic encryption in Go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RtF Transciphering Framework with HERA

This is an implementation of the the RtF transciphering framework along with the HERA cipher proposed in Transciphering Framework for Approximate Homomorphic Encryption using the lattigo library.

New Package

We implement the hybrid framework in ckks_fv, which contains the following functionalities.

  • CKKS scheme (the same as ckks)
  • FV scheme supporting multi-level operations (named as mfv)
  • Halfboot operation
  • Evaluation of the HERA cipher in the FV scheme

An example of finding modulus switching parameter in the RtF framework with HERA is given in examples/ckks_fv.

Benchmark

You can run the benchmark of RtF transciphering framework along with HERA using RtF_bench_test.go. The benchmark parameters are given in rtf_params.go. To benchmark all the parameters, run the following command in ckks_fv directory.

go test -timeout=0s -bench=.

You can also benchmark specific parameter. For example, to run the parameter 80as in the paper, run the following command.

go test -timeout=0s -bench=BenchmarkRtF80as

About

A library for lattice-based homomorphic encryption in Go

License:Apache License 2.0


Languages

Language:Go 99.9%Language:Makefile 0.1%