openfhe-julia

Julia bindings for the homomorphic encryption library OpenFHE

https://github.com/hpsc-lab/openfhe-julia

Science Score: 75.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
    Organization hpsc-lab has institutional domain (www.uni-augsburg.de)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.6%) to scientific vocabulary

Keywords

fully-homomorphic-encryption julia julia-bindings
Last synced: 6 months ago · JSON representation ·

Repository

Julia bindings for the homomorphic encryption library OpenFHE

Basic Info
  • Host: GitHub
  • Owner: hpsc-lab
  • License: bsd-2-clause
  • Language: C++
  • Default Branch: main
  • Homepage:
  • Size: 127 KB
Statistics
  • Stars: 2
  • Watchers: 2
  • Forks: 1
  • Open Issues: 0
  • Releases: 25
Topics
fully-homomorphic-encryption julia julia-bindings
Created about 2 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation Zenodo

README.md

OpenFHE-julia

Build Status License: BSD 2-Clause DOI

Julia bindings for the homomorphic encryption library OpenFHE based on CxxWrap.jl. This repository is mainly interesting for those who want to extend the set of OpenFHE features that are available in Julia. If you just want to use OpenFHE in Julia, please have a look at OpenFHE.jl.

Installation

  1. Locally build and install OpenFHE. For example on Linux: shell git clone git@github.com:openfheorg/openfhe-development.git cd openfhe-development mkdir build && cd build cmake .. -DCMAKE_INSTALL_PREFIX=../install \ -DBUILD_BENCHMARKS=OFF -DBUILD_UNITTESTS=OFF \ -DLIBINSTALL="$(dirname $(pwd))/install/lib" make -j 4 make install Sometimes it might be necessary to explicitly enable the BE2 and BE4 backends by providing -DWITH_BE2=ON -DWITH_BE4=ON to CMake. In case you would like to include the benchmarks and/or unit tests, you can enable them again by removing the respective flag that disables them.

Note: The argument -DLIBINSTALL=... may be removed once this issue has been resolved upstream. 2. Locally build and install libcxxwrap-julia. For example on Linux: shell git clone git@github.com:JuliaInterop/libcxxwrap-julia.git cd libcxxwrap-julia git checkout v0.11.2 mkdir build && cd build cmake .. -DCMAKE_INSTALL_PREFIX=../install make -j 4 make install The version tag in the line git checkout <version> should be updated to the latest libcxxwrap-julia version that is compatible with the current release of CxxWrap.jl release (see here for further information). 3. Clone this repository: shell git clone git@github.com:hpsc-lab/openfhe-julia.git 4. Create a build directory and switch to it. Then call CMake with the CMAKE_PREFIX_PATH set to a colon-separated list of install prefixes for the dependencies, e.g.: shell cd openfhe-julia mkdir build && cd build prefix_path="$(pwd)/../../libcxxwrap-julia/install/;$(pwd)/../../openfhe-development/install/" cmake .. -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_PREFIX_PATH="$prefix_path" make -j 4 make install

Development

Unfortunately, there is not much documentation for developers available at the moment. The little we have can be found in development.md.

Referencing

If you use OpenFHE-julia in your own research, please cite this repository as follows: bibtex @misc{schlottkelakemper2024openfhejulia, title={{O}pen{FHE}-julia: {J}ulia bindings for the homomorphic encryption library {O}pen{FHE}}, author={Schlottke-Lakemper, Michael}, year={2024}, howpublished={\url{https://github.com/hpsc-lab/openfhe-julia}}, doi={10.5281/zenodo.10456858} } Note that if you only use OpenFHE-julia as part of OpenFHE.jl, it is sufficient to cite OpenFHE.jl.

Authors

OpenFHE-julia was initiated by Michael Schlottke-Lakemper (University of Augsburg, Germany), who is also its principal maintainer.

Further contributions to OpenFHE-julia have been made by the following people: * Arseniy Kholod (RWTH Aachen University, Germany)

License and contributing

OpenFHE-julia is available under the BSD 2-Clause license (see LICENSE.md). OpenFHE itself is also available under the BSD 2-Clause license.

Contributions by the community are very welcome! A good start would be to compare the examples folder in OpenFHE.jl (link) and in OpenFHE (link) and to port a missing example file to OpenFHE.jl. In case some OpenFHE functionality is not yet exposed by OpenFHE-julia, it would have to be added there first.

Owner

  • Name: High-Performance Scientific Computing Lab
  • Login: hpsc-lab
  • Kind: organization
  • Email: michael.schlottke-lakemper@uni-a.de
  • Location: Germany

Chair of High-Performance Scientific Computing, University of Augsburg

Citation (CITATION.bib)

@misc{schlottkelakemper2024openfhejulia,
  title={{O}pen{FHE}-julia: {J}ulia bindings for the homomorphic encryption library {O}pen{FHE}},
  author={Schlottke-Lakemper, Michael},
  year={2024},
  howpublished={\url{https://github.com/hpsc-lab/openfhe-julia}},
  doi={10.5281/zenodo.10456858}
}

GitHub Events

Total
  • Create event: 15
  • Release event: 5
  • Issues event: 2
  • Delete event: 11
  • Issue comment event: 8
  • Push event: 29
  • Pull request review comment event: 4
  • Pull request review event: 14
  • Pull request event: 53
Last Year
  • Create event: 15
  • Release event: 5
  • Issues event: 2
  • Delete event: 11
  • Issue comment event: 8
  • Push event: 29
  • Pull request review comment event: 4
  • Pull request review event: 14
  • Pull request event: 53

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 2
  • Total pull requests: 43
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 13 days
  • Total issue authors: 2
  • Total pull request authors: 3
  • Average comments per issue: 1.5
  • Average comments per pull request: 0.28
  • Merged pull requests: 33
  • Bot issues: 0
  • Bot pull requests: 16
Past Year
  • Issues: 1
  • Pull requests: 25
  • Average time to close issues: 6 days
  • Average time to close pull requests: 3 days
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.04
  • Merged pull requests: 21
  • Bot issues: 0
  • Bot pull requests: 9
Top Authors
Issue Authors
  • ArseniyKholod (1)
  • sloede (1)
Pull Request Authors
  • ArseniyKholod (26)
  • dependabot[bot] (16)
  • sloede (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (16) github_actions (5)