Skip to content
This repository was archived by the owner on Aug 5, 2024. It is now read-only.

Commit fa0e495

Browse files
committed
added the new readme for HELayers
1 parent e60bf26 commit fa0e495

File tree

2 files changed

+128
-61
lines changed

2 files changed

+128
-61
lines changed

README.md

Lines changed: 36 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,92 +1,67 @@
11
---
2-
# IBM Fully Homomorphic Encryption Toolkit for Linux
2+
# IBM Fully Homomorphic Encryption (HELayers) SDK for Linux
33

4-
The IBM Fully Homomorphic Encryption (FHE) Toolkit for Linux is packaged as [Docker][1] containers that make it easier to get started and experimenting with the [Fully Homomorphic Encryption][2] technology.
4+
Last year, we introduced FHE to Linux with our FHE Toolkit. Today, we are announcing the next evolution of the FHE Toolkit called IBM HElayers, a software development kit (SDK) for the practical and efficient execution of encrypted workloads using fully homomorphic encrypted data. HElayers enables application developers and data scientists to seamlessly use advanced privacy preserving techniques without having to be a specialist in cryptography - all while working in a newly integrated Python environment. 
55

6-
This repository contains all the scripts required to install and run the pre-packaged toolkits as a docker container. The toolkits comprise the [IBM Homomorphic Encryption Library - HElib][3], an [Integrated Development Environment (IDE)][4], and the corresponding workspace containing the ready-to-run example code in a variety of supported toolkit editions. The editions supported are based on [Centos][5], [Fedora][6], or [Ubuntu][7], or [Alpine][8]. Each toolkit edition provides access to the built-in IDE via a web browser on your host. For the more adventurous users, instructions to build and package the toolkit locally are also provided.
6+
HELayers is packaged as Docker containers that make it easier to get started and experimenting with FHE. It is written in C++ and includes a Python API that enables data scientists and application developers to easily use the power of FHE by supporting a wide array of analytics such as linear regression, logistic regression, and neural networks.
77

8-
If you are instead looking for the IBM Fully Homomorphic Encryption Tookit for macOS/iOS that provide a native toolkit for Apple developers, it can be found <a href="https://github.com/IBM/fhe-toolkit-macos" target="_blank">here</a>.
8+
It is delivered as an open platform that is capable of using the latest FHE schemes and libraries for a given use case. HElayers currently ships with 15 tutorials and sample applications that highlight the basics of FHE and how to use this technology in a practical way. Sample applications include credit card fraud detection, encrypted database search, heart disease detection, image classification and more.
99

10-
[![Fully Homomorphic Encryption](http://img.youtube.com/vi/5Mhbaeuv5fk/0.jpg)](http://www.youtube.com/watch?v=5Mhbaeuv5fk "Intro to FHE")
10+
In this repository is a script that you can run to install and run the pre-packaged SDKs, cpp or python, as a docker container.
1111

12-
To learn more about FHE in general, and what it can be used for, you can check out our [FAQ/Content Solutions page][13].
12+
./StartHELayers.sh
1313

14+
If you are instead looking for the IBM Fully Homomorphic Encryption Toolkit for Linux README, it can be found [here](https://github.com/IBM/fhe-toolkit-linux/README_TOOLKIT.md).
1415

15-
## Supported Configurations
16-
17-
At this time, the toolkits support many <a href="https://www.docker.com/resources/what-container" target="_blank">Docker</a> capable hosts such as most modern Linux distributions, macOS, <a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10" target="_blank">Windows 10 Subsystem for Linux</a> and <a href="https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.4.0/com.ibm.zos.v2r4.izso100/izso100_whatisintro.htm" target="_blank">z/OS Container Extensions</a>. Other host operating systems with recent Docker software may work as well but are untested. On x86-64 based systems, we support all three operating system editions of the toolkit. For the s390x architecture, the toolkit presently supports the Ubuntu and Fedora Editions. We hope to offer other s390x operating system options for the toolkits soon.
18-
19-
## Need Help to Get Started?
20-
21-
Corporate clients can email [email protected] to request a design thinking workshop about building FHE solutions for your business use cases at no cost for applicants accepted to our sponsor user program. For corporate support outside of our sponsor user program, <a href="https://www.ibm.com/security/services/homomorphic-encryption" target="_blank">IBM Security Homomorphic Encryption Services</a> can help unlock the value of your sensitive data without decrypting it to help maintain your privacy and compliance controls. Our trusted advisors offer commercial education, expert support and testing environments to build your prototype applications.
22-
23-
24-
## Running the Toolkit
16+
### Try it for yourself
2517

26-
If you want to dive right in and get started installing a pre-built container available from [Docker Hub][9] and using the pre-configured IDE Workspace, please see the [Getting Started Document](GettingStarted.md).
18+
To run the script in this reposistory, clone the repo, open a Terminal and navigate to the root of this repo (`cd fhe-toolkit-linux/`).
2719

28-
## Building the Toolkit
20+
To run the Python HELayers:
2921

30-
If you want to build and deploy the toolkit from scratch and perhaps customize the container to your needs, please see the [Getting Started Advanced Document](GettingStarted.Advanced.md).
22+
./StartHELayers.sh python
3123

32-
## Documentation
24+
For the C++ version:
3325

34-
If you are looking for Documentation to our APIs or more information about individual classes or methods, that can be found here
26+
./StartHELayers.sh cpp
3527

36-
* [ML-HElib API Docs](https://ibm.github.io/fhe-toolkit-linux/)
37-
* [HELib API Docs](https://ibm.github.io/fhe-toolkit-linux/html/helib/index.html)
28+
The script will pull & download the latest version that works on your machine's architecture. It will run locally in its own container for you to view in your web browser. The script will tell you where to point your browser to in the Terminal after completing the setup. The c++ version uses VSCode integrated into the browser for an IDE, and the python relies on a self-contained jupyter notebook.
3829

39-
## Deploying to IBM Hyper Protect
30+
To try HELayers out from Dockerhub directly, you can use these links below:
4031

41-
If you are looking to build and deploy your FHE image to Hyper Protect Virtual Server, please see [Deploy To Hyper Protect Document](https://github.com/IBM/fhe-toolkit-linux/blob/master/automation/DeployToHyperProtect.md)
32+
* Python
33+
[HELayers Python x86](https://hub.docker.com/r/ibmcom/helayers-pylab)
34+
[HELayers Python s390x](https://hub.docker.com/r/ibmcom/helayers-pylab-s390x)
35+
* C++
36+
[HELayers C++ x86](https://hub.docker.com/r/ibmcom/helayers-lab)
37+
[HELayers C++ s390x](https://hub.docker.com/r/ibmcom/helayers-lab-s390x)
4238

39+
### Take a look at our in-depth walkthrough video on how to download and get started with HElayers.
4340

44-
## Feedback Survey
45-
46-
"IBM invites you to participate in our Advanced Security and Encryption Survey. This survey is designed to gather insights around the security challenges you or your organization face and better understand our users and serve you better. We will only use your feedback to improve the FHE Toolkit experience and inform future IBM security-focused products and services. IBM will not share your response data with any third parties. We look forward to your valuable feedback to improve the IBM Fully Homomorphic Encryption Toolkit for macOS, iOS, and Linux."
41+
[![Fully Homomorphic Encryption](http://img.youtube.com/vi/_bEMWffloas/0.jpg)](https://www.youtube.com/watch?v=_bEMWffloas "Getting Started with HELayers")
4742

48-
https://www.surveygizmo.com/s3/5731822/Advanced-Security-And-Encryption-Survey-2020
43+
To learn more about FHE in general, and what it can be used for, you can check out our [FAQ/Content Solutions page](https://www.ibm.com/support/z-content-solutions/fully-homomorphic-encryption/ ).
4944

5045

51-
## About this distribution
52-
53-
The remainder of this README file explains how the source code and project are organized for those who might want to contribute (also read [contributing guidelines](CONTRIBUTING.md)) to, or modify, the toolkit.
54-
55-
This toolkit installs the IDE and extensions required to compile, build, and run the included HElib based examples and any application you choose to write to exploit the homomorphic encryption technology. The end result is a containerized environment complete with the source code editor, making it easy for you to develop applications using HElib.
56-
57-
To preserve user privacy, automatic telemetry, and data collection by the IDE have been disabled in this distribution.
58-
59-
Docker is required to build the containerized toolkit. If you are new to Docker, we recommend starting with [Docker Desktop][10].
46+
## Supported Configurations
6047

61-
## Source Code Overview
48+
At this time, the SDK supports many <a href="https://www.docker.com/resources/what-container" target="_blank">Docker</a> capable hosts such as most modern Linux distributions, macOS, <a href="https://docs.microsoft.com/en-us/windows/wsl/install-win10" target="_blank">Windows 10 Subsystem for Linux</a> and <a href="https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.4.0/com.ibm.zos.v2r4.izso100/izso100_whatisintro.htm" target="_blank">z/OS Container Extensions</a>. Other host operating systems with recent Docker software may work as well but are untested.
6249

63-
This repository contains a set of Dockerfiles, scripts, and IDE configuration files to run the IBM FHE Toolkit for Linux. The toolkit runs in a Linux docker container and uses the IDE as a workspace and development environment accessible through a browser in your host system.
50+
## License
6451

65-
The toolkit is built from one of the following parent images depending on the platform specified to the setup script:
52+
This image is provided under a community edition license for non-commercial use. Customers who want to work directly with IBM Research, access advanced features, and plan for commercial-grade deployment using HElayers can engage through the Premium Edition Program by contacting the IBM FHE team at [email protected].
6653

67-
- fedora:32
68-
- centos:8
69-
- ubuntu:20.04
70-
- alpine:3.12
54+
## Documentation
7155

72-
The same setup script also downloads [HElib][3] and a required dependency Number Theory Library ([NTL][11]). These are stored in `<directory where you cloned the toolkit>/DEPENDENCIES` in the host machine.
56+
If you are looking for Documentation to our APIs or more information about individual classes or methods, that can be found here
7357

74-
The HElib and NTL distributions are built and installed globally in `/usr/local` as a shared library in the toolkit docker container making them available to include in your program. HElib and NTL also depend on the [GNU Multiple Precision Arithmetic Library (GMP)][12], which is pre-installed when building the docker container.
58+
* [ML-HElib API Docs](https://ibm.github.io/fhe-toolkit-linux/)
59+
* [HELib API Docs](https://ibm.github.io/fhe-toolkit-linux/html/helib/index.html)
7560

76-
The demo application source code is copied from `HElib/examples` into a workspace directory `/opt/IBM/FHE-Workspace`. The HElib source distribution can be found in `/opt/IBM/FHE-distro/HElib`. Both may be accessed through the IDE workspace running in the toolkit container, accessed through the web browser on your desktop. Always use the workspace when trying to work with any of these components.
7761

62+
## Feedback Survey
63+
64+
"IBM invites you to participate in our Advanced Security and Encryption Survey. This survey is designed to gather insights around the security challenges you or your organization face and better understand our users and serve you better. We will only use your feedback to improve the HELayers experience and inform future IBM security-focused products and services. IBM will not share your response data with any third parties. We look forward to your valuable feedback to improve the IBM FHE experience."
7865

79-
[1]: https://www.docker.com/ "Docker Container"
80-
[2]: https://en.wikipedia.org/wiki/Homomorphic_encryption "Homomorphic Encryption"
81-
[3]: https://github.com/IBM-HElib/HElib/ "HElib"
82-
[4]: https://code.visualstudio.com/ "Visual Studio Code"
83-
[5]: https://www.centos.org/ "CentOS"
84-
[6]: https://getfedora.org/ "Fedora"
85-
[7]: https://ubuntu.com/ "Ubuntu"
86-
[8]: https://alpinelinux.org/ "Alpine"
87-
[9]: https://hub.docker.com/u/ibmcom "Docker Hub IBM"
88-
[10]: https://www.docker.com/get-started/ "Docker get started"
89-
[11]: https://www.shoup.net/ntl/ "NTL"
90-
[12]: https://gmplib.org/ "GMP library"
91-
[13]: https://www.ibm.com/support/z-content-solutions/fully-homomorphic-encryption/ "IBM FHE Content Solutions"
66+
[https://www.surveygizmo.com/s3/6494169/IBM-HElayers-SDK-Survey](https://www.surveygizmo.com/s3/6494169/IBM-HElayers-SDK-Survey)
9267

0 commit comments

Comments
 (0)