https://github.com/accenture/pyheal

PyHeal is a Python wrapper for Microsoft SEAL aimed at making operations easier to use.

https://github.com/accenture/pyheal

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
Last synced: 10 months ago · JSON representation

Repository

PyHeal is a Python wrapper for Microsoft SEAL aimed at making operations easier to use.

Basic Info
  • Host: GitHub
  • Owner: Accenture
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 64.5 KB
Statistics
  • Stars: 15
  • Watchers: 4
  • Forks: 7
  • Open Issues: 5
  • Releases: 1
Created almost 7 years ago · Last pushed about 6 years ago
Metadata Files
Readme License

README.md

pyHeal

PyHEAL Package

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

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)
Top Labels
Issue Labels
enhancement (4) question (1)
Pull Request Labels