Git Product home page Git Product logo

crisp's Introduction

CRISP

This repository comprises an implementation of CRISP [1]: a novel solution that achieves utility, privacy, and integrity in the three-party model comprising a data source, a user, and a service provider.

In a nutshell, CRISP relies on quantum-resistant lattice-based approximate homomorphic encryption (HE) primitives [2] that support flexible polynomial computations on encrypted data without degrading utility. To ensure data integrity, we employ lattice-based commitments [3] and zero-knowledge proofs based on the multi-party-computation-in-the-head (or MPC-in-the-head) paradigm [4], which enable users to simultaneously convince service providers about the correctness of the encrypted data, as well as the authenticity of the underlying plaintext data, using the deployed certification mechanism.

A complete unified implementation of CRISP is implemented in Golang and available in the CRISP_go directory.

References:

[1] Chatel et al., "Privacy and Integrity Preserving Computations with CRISP", USENIX Security, 2021.

[2] Cheon et al., "Homomorphic encryption for arithmetic of approximate numbers", ASIACRYPT, 2017.

[3] Baum et al., "More Efficient Commitments from Structured Lattice Assumptions", SCN, 2018.

[4] Chase et al., "Post-Quantum Zero-Knowledge and Signatures from Symmetric-Key Primitives", CCS, 2017.

CRISP_go

Unified implementation of CRISP in Golang.

ZKCE

CRISP's cicuit evaluated in the paper is implemented in two parts: ZKCE_bin and ZKCE_arith.

ZCKE_bin

This directory contains the implementation of the conversion block and hash block of our soluton and evaluated in the paper. This part was implemented in C building on an implementation of ZKBoo provided by https://github.com/Sobuno/ZKBoo. Please look at the readme in the corresponding directory for further details.

ZKCE_arith

This directory contains the implementation of the arithmetic part of the ZKCE evaluated in the paper: the encryption and commitment blocks. This part is implemented in C++ on top of a SNUCrypto library tailored for lattices operations over polynomial rings. Please look at the readme in the corresponding directory for further details.

Homomorphic Encryption

This directory contains the code to evaluate the computations required for the three use-cases presented in the paper. It uses a standalone version of the Lattigo library. Please look at the readme in the corresponding directory for further details.

Datasets

For our experiments we used the following datasets:

The pre-processing steps of the Garmin connect dataset is presented in the usefulscripts/ directory. Please look at the readme in the corresponding directory for further details.

Data Analysis

In this directory we provide the results of our experiments on the different datasets. The .csv files are imported to the notebook dataAnalysis.ipnb for convenience.

crisp's People

Contributors

s-chtl avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.