openfhe-julia
Julia bindings for the homomorphic encryption library OpenFHE
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
Repository
Julia bindings for the homomorphic encryption library OpenFHE
Basic Info
Statistics
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
- Releases: 25
Topics
Metadata Files
README.md
OpenFHE-julia
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
- 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 installSometimes it might be necessary to explicitly enable theBE2andBE4backends by providing-DWITH_BE2=ON -DWITH_BE4=ONto 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
- Website: https://www.uni-augsburg.de/fakultaet/mntf/math/prof/hpsc
- Repositories: 1
- Profile: https://github.com/hpsc-lab
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)