The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
Homomorphic encryption (Brakerski and Vaikuntanathan (2014) doi:10.1137/120868669) using Ring Learning with Errors (Lyubashevsky et al. (2012) https://eprint.iacr.org/2012/230) is a form of Learning with Errors (Regev (2005) doi:10.1145/1060590.1060603) using polynomial rings over finite fields. Functions to generate the required polynomials (using ‘polynom’), with various distributions of coefficients are provided. Additionally, functions to generate and take coefficient modulo are provided.
You can install the development version of HEtools from GitHub with:
if (!require('remotes')) install.packages('remotes')
::install_github("bquast/HEtools") remotes
This is a basic example which shows you how to solve a common problem:
library(HEtools)
#> Loading required package: polynom
= polynomial(c(5, 3, 6))
polynomial print(polynomial)
#> 5 + 3*x + 6*x^2
CoefMod(polynomial, 5)
#> 3*x + x^2
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.