jeffmur / fhel

Fully Homomorphic Encryption Library
https://pub.dev/packages/fhel
MIT License
2 stars 0 forks source link

Abstraction Layer Outline #2

Closed jeffmur closed 10 months ago

jeffmur commented 10 months ago

STORY

Design an abstraction layer for Fully Homomorphic Encryption

Features:

  1. Support multiple back end libraries
  2. Supports multiple schemes and data types

C/C++ Abstraction Layer, example Afhel

Dart Package

jeffmur commented 10 months ago

Project Structure

fhel/
├── CMakeLists.txt
├── include/
│   ├── operations/
│   │   ├── addition.h
│   │   ├── multiplication.h
│   │   ├── subtraction.h
│   │   └── division.h
│   ├── schemes/
│   │   ├── bgv.h
│   │   ├── bfv.h
│   │   └── ckks.h
│   └── backends/
│       ├── seal.h
│       └── openfhe.h
├── src/
│   ├── operations/
│   │   ├── addition.cpp
│   │   ├── multiplication.cpp
│   │   ├── subtraction.cpp
│   │   └── division.cpp
│   ├── schemes/
│   │   ├── bgv.cpp
│   │   ├── bfv.cpp
│   │   └── ckks.cpp
│   └── backends/
│       ├── seal/ (git submodule)
│       └── openfhe/ (git submodule)
├── tests/
│   └── ...
├── dart/  (Dart package)
│   ├── lib/
│   │   ├── ... (Dart source files)
│   ├── tests/
│   │   ├── ...
│   ├── pubspec.yaml
│   └── ...
├── examples/
│   └── ...
└── build/  (generated by CMake)