Open Source

SVG icon: 

ML-POR with MLKeygen

Message Locked PoR and Message locked key generation. This primitive enables clients to verify the retrievability of their files while also allowing file-based deduplication based on a dedicated message-locked key generation. Since all keying material are depending on the file itself the encryption and encoding of the files remain the same if the file is the same.

Container Isolation component

The Container Isolation module provides two functionalities: First, it implements a tool used to extract and encrypt a Docker container image layer in order to safely transfer it into a target Docker host. Second, it enables a container to store its data over encrypted storage mediums, in order to ensure that the confidential data cannot be retrieved by an adversary with access in the host’s storage backend


A cryptographic protocol that regulates the interactions between a prover and a verifier. The protocol is usually executed in the context of a storage outsourcing scenario, where the prover is the client and the verifier is the (storage) service provider. The correctness property of PoW schemes require that the owner of a file will succeed in convincing the verifier of this fact.


A multi-user searchable encryption solution that allows users (called writers) to outsource their encrypted documents. Afterwards, other users (called readers) can perform some word search operations without the need of re-downloading the entire document and only if they are authorized to do so.

Verifiable Polynomial Evaluation

Cryptographic scheme that enables a cloud provider to evaluate a polynomial over an input received from the user and to prove to a user that the output is actually correct. We consider a scenario whereby a user wishes to outsource a high-degree polynomial P to the cloud server. Further, a queried requests the evaluation of this polynomial over some inputs x. In addition to the output and the server also provides a proof p on the correctness of the output. Finally, the verifier receiving the output and the proof verifies p and concludes whether y equals P(x).