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.

homomorpheR homomorpheR logo

R-CMD-check CRAN_Status_Badge

homomorpheR is privacy-preserving statistics across sites that never share their data. It uses fully homomorphic encryption through the openfhe.R interface to OpenFHE — CKKS for real-valued arithmetic, BFV and BGV for exact integers — with n-of-n threshold key generation so that no single party can decrypt. On top of these it ships master/worker primitives that let ordinary R modeling code — stats4::mle(), stratified survival::coxph(), convex programs via CVXR — run across sites. A frozen implementation of the Paillier additive scheme is kept for backward compatibility.

The version on CRAN is 0.3, the Paillier-only release; this development version is a rewrite on OpenFHE. Install it, with its dependencies, by

remotes::install_github("bnaras/homomorpheR", ref = "v1.0")

The cox and cvxr vignettes also use survival and CVXR, which are suggested rather than imported:

install.packages(c("survival", "CVXR"))

The vignettes build up from a gentle introduction to complete distributed protocols:

Getting started

Distributed statistical modeling under FHE

Gaussian-noise variants

Legacy Paillier vignettes. These no longer ship with the package. They are kept in the paillier-archive/ directory of this repository.

A related project is distcomp.

Website

You can view everything, including documentation and vignettes on the homomorpheR website.

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.