https://github.com/accenture/pyheal
PyHeal is a Python wrapper for Microsoft SEAL aimed at making operations easier to use.
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.0%) to scientific vocabulary
Repository
PyHeal is a Python wrapper for Microsoft SEAL aimed at making operations easier to use.
Basic Info
Statistics
- Stars: 15
- Watchers: 4
- Forks: 7
- Open Issues: 5
- Releases: 1
Metadata Files
README.md
pyHeal
This project implements Python wrappers for Homomorphic Encryption libraries, aimed at being more Python friendly.
It currently contains:
- A pybind11 based Python wrapper for Microsoft SEAL in seal_wrapper
- A Pythonic wrapper for seal_wrapper in pyheal/wrapper.py
- A Python ciphertext type of object that allows math operations as if they were python numbers in pyheal/ciphertext_op.py
- A standard encoder/decoder interface for seal encoders and encryptors for use of the CiphertextOp objects in pyheal/encoders.py.
Tests:
- A partial re-implementation of Microsoft SEAL's examples using wrapper.py in tests.py
- A large number of tests for PyHEAL and CiphertextOp in pyheal/test_pyheal.py
Setup
Clone using:
Git v2.13+: git clone --recurse-submodules https://github.com/Accenture/pyheal.git
Git v1.6.5 - v2.12: git clone --recursive https://github.com/Accenture/pyheal.git
For a repository that has already been cloned or older versions of git run:
git submodule update --init --recursive
Build
This project can be built directly using pip3.
Optionally create and activate a new Python virtual environment using virtualenv first, for example:
```bash
python3 -m virtualenv ./venv --python python3
Linux
source ./venv/bin/activate
Windows
venv\Scripts\activate
```
Install dependencies and package:
bash
pip3 install .
Usage
```python import pyheal
Set encryption params + obtain an EncryptorOp object
... encryptor = EncryptorOp(...) decryptor = Decryptor(...)
v1 = encryptor.encode(10) v2 = encryptor.encode(20)
result = v1 + v2
print(decryptor.decrypt(result)) # Prints 30 after decrypt
``` See example_usage.py for more usage examples.
Owner
- Name: Accenture
- Login: Accenture
- Kind: organization
- Website: https://accenture.github.io
- Repositories: 185
- Profile: https://github.com/Accenture
Accenture Github site
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 7
- Total pull requests: 5
- Average time to close issues: 5 months
- Average time to close pull requests: 26 minutes
- Total issue authors: 4
- Total pull request authors: 2
- Average comments per issue: 0.14
- Average comments per pull request: 0.2
- Merged pull requests: 4
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- CJRChang (2)
- pizzato (2)
- Zeng1998 (1)
- DreamingRaven (1)
Pull Request Authors
- pizzato (3)
- CJRChang (2)