Skip to content

KAIST-CryptLab/RtF-Transciphering

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

918 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RtF Transciphering Framework

This is an implementation of the RtF transciphering framework along with the HERA cipher (proposed in Transciphering Framework for Approximate Homomorphic Encryption) and the Rubato cipher (proposed in Rubato: Noisy Ciphers 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 is given in examples/ckks_fv.

Benchmark

You can run the benchmark of RtF transciphering framework along with HERA or Rubato 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 benchmark with HERA, run the following command.

go test -timeout=0s -bench=BenchmarkRtFHera

To run the HERA parameter 80as in the paper, run the following command.

go test -timeout=0s -bench=BenchmarkRtFHera80as

Benchmark with Rubato is also possible in similar way.

About

A library for lattice-based homomorphic encryption in Go

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Go 99.9%
  • Makefile 0.1%