Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bernymac/BISEN
BISEN is a searchable symmetric encryption scheme, allowing for secure boolean queries over remote datastores by leveraging Intel SGX for trustworthy computation.
https://github.com/bernymac/BISEN
Last synced: about 1 month ago
JSON representation
BISEN is a searchable symmetric encryption scheme, allowing for secure boolean queries over remote datastores by leveraging Intel SGX for trustworthy computation.
- Host: GitHub
- URL: https://github.com/bernymac/BISEN
- Owner: bernymac
- License: gpl-3.0
- Created: 2019-12-15T20:50:29.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-06-07T13:45:44.000Z (over 3 years ago)
- Last Synced: 2024-08-03T01:24:27.632Z (4 months ago)
- Language: C
- Homepage:
- Size: 253 KB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- Awesome-SGX-Open-Source - https://github.com/bernymac/BISEN
README
# Boolean Isolated Searchable Encryption (BISEN)
BISEN is a searchable symmetric encryption scheme, allowing for secure boolean queries over remote datastores by leveraging Intel SGX for trustworthy computation.
A full description of this project was published here: https://ieeexplore.ieee.org/abstract/document/9149632 (alternate link: http://www.di.fc.ul.pt/~blferreira/papers/tsdc20.pdf).
If you are to use this project, please cite: Ferreira, B., Portela, B., Oliveira, T., Borges, G., Domingos, H. J., & Leitao, J. (2020). Boolean Searchable Symmetric Encryption with Filters on Trusted Hardware. IEEE Transactions on Dependable and Secure Computing.
----
The framework exports three utility namespaces (trusted_util, outside_util & tcrypto) that can be used by the external library.
The external library must implement the namespaces defined in the *extern_lib.h* file.
## Namespaces and utility libraries
### Trusted Util
Utility functions (threading, time) inside the enclave.
```namespace trusted_util```
```#include "trusted_util.h"```
### Trusted Crypto
Crypto primitives inside the enclave.
```namespace tcrypto```
```#include "trusted_crypto.h"```
### Outside Util
Wrappers for ocalls, providing an abstraction for common functions, to be used inside the enclave.
```namespace outside_util```
```#include "outside_util.h"```
---
### Untrusted Util
Utility functions (i.e. time) outside the enclave.
```namespace untrusted_util```
```#include "untrusted_util.h"```
### Extern Lib
Functions to be implemented in the external lib.
```namespace extern_lib; namespace extern_lib_ut```
```#include "extern_lib.h"```