Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/0xEigenLabs/eigencc
A confidential computation programming framework
https://github.com/0xEigenLabs/eigencc
layer2 privacy-computing zkproof
Last synced: about 1 month ago
JSON representation
A confidential computation programming framework
- Host: GitHub
- URL: https://github.com/0xEigenLabs/eigencc
- Owner: 0xEigenLabs
- License: apache-2.0
- Created: 2021-05-26T14:47:27.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-08-11T01:00:35.000Z (over 2 years ago)
- Last Synced: 2024-08-03T01:19:15.228Z (4 months ago)
- Topics: layer2, privacy-computing, zkproof
- Language: Rust
- Homepage:
- Size: 60.5 MB
- Stars: 30
- Watchers: 9
- Forks: 10
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- Awesome-SGX-Open-Source - https://github.com/0xEigenLabs/eigencc
README
# EigenCC: Confidential Computation
## Intel SGX
[Intel SGX](https://software.intel.com/content/www/us/en/develop/topics/software-guard-extensions.html) Enhance Your Code and Data Protection
### Requirements
Rust SGX SDK: 1.1.3
Rust Version: rustup default nightly-2020-10-25
### Compile
```
$ git clone --recursive https://github.com/ieigen/eigencc.git # if clone failed, use `git submodule update --init` to pull submodules
$ cd sgx
$ docker run --name fns --security-opt seccomp=unconfined --cap-add=SYS_PTRACE --net=host -v $(pwd):/app -w /app -it --entrypoint "" ieigen/fns:v3 bash
$ rustup default nightly-2020-10-25
$ mkdir -p build && cd build
$ cmake .. && make # or use SIM mode: cmake .. -DSGX_SIM_MODE=on && make
```Build $IMAGE image by [Dockerfile](https://github.com/ieigen/eigencc/blob/main/sgx/dcap/Dockerfile)
you also can build it by docker:
```
docker build -t ieigen/dev:v1 -f fns.Dockerfile .
```### Run
use EPID:
```
$ cd /app/release/services
$ export IAS_SPID=xxxx
$ export IAS_KEY=xxx
$ cd /app/release/services
$ #the next step can be skipped if you use SIM mode
$ LD_LIBRARY_PATH="/opt/intel/sgx-aesm-service/aesm:$LD_LIBRARY_PATH" /opt/intel/sgx-aesm-service/aesm/aesm_service
$ ./fns
```open another terminal,
```
$ cd /app/release/examples
$ ./quickstart echo -m 'Hello' -e enclave_info.toml
[+] Invoke echo function
Hello, Eigen
```### Develop an new confidential service
[EigenCC Privacy Operators](https://github.com/ieigen/eigencc/blob/main/operators.md)
## ARM TrustZone on FPGA
TBD
## Reference
1. SGX check: https://www.intel.com/content/www/us/en/support/articles/000057420/software/intel-security-products.html