Giter Club home page Giter Club logo

lattice-based-t-of-n-signature-python's Introduction

GKS23

An implementation of the GKS23 scheme presented in https://eprint.iacr.org/2023/1318.

Introduction

As part of a thesis at Lunds Tekniska Högskola, spring 2024, our work was to implement the GKS23 scheme completely and to analyze it. We did this with the department of electrical and information technology. Our full implementation can be seen here. As this scheme is based on security of R-LWE, we have our own polynomial class that is a wrapper utilizing CyPari2.
Our implementation includes BDLOP18 as a commitment scheme and for NIZKPs, available from https://eprint.iacr.org/2016/997, code for this is found here. Additionally, we are using a distributed version of the BGV11 algorithm for encryption/decryption, presented in the GKS23 paper. The original BGV11 algorithm can be seen at https://eprint.iacr.org/2011/277.pdf. Click for our implementation.

Dependencies

Python >= 3.12 for type statements.
CyPari >= 2.1.4 for handling of polynomials.
pytest >= 8.0.2 for running the tests.

Usage

Our implementation includes some rudamentary tests that can be run with pytest.
To run the GKS23 scheme, initialize the GKS23 class with values, where default values for 1 signature per key generation and for 365 values can be found here. Then, after having run KGen() messages can be signed in R_p. A signature can be verified by a participant. The GKS23 controller supports calling sign() and vrfy() method, but requires sending in one or many participants as it does not keep the states necessary to perform these calculations.

lattice-based-t-of-n-signature-python's People

Contributors

mattias-petersson avatar maxaake avatar

Watchers

 avatar

Forkers

liaoguangyu

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.