Code Monkey home page Code Monkey logo

bls-vess's Introduction

Intro

This repository contains exploratory code implementing a Verifiably-Encrypted Signature Scheme.

It is an implementation of 4.4 described in Aggregate and Verifiably Encrypted Signatures from Bilinear Maps, on the BLS12-381 curve. It uses the guidelines proposed in On Cryptographic Protocols Employing Asymmetric Pairings โ€“ The Role Of ฯˆ Revisited to adapt the scheme from a Type 2 pairing to a Type 3 (BLS12-381).

Running

docker build -t bls-vess .
docker run --rm -ti bls-vess

Sample run

Alice's pubkey (G1): 08d11b101109841abc818b8a05ead007b45900226af781d6d4380686b91b7ef13c9e531eae2075dc463360f619295dee0356a0c8de75655563f12ec2c0212b8d486cc04e37c803b1aa250077cffcdac10e1a82e8b661fa1b69b512a6ad0afa35
Adjudicator pubkey (G1): 0df99ea020433bc2140b5e89d599903d5dda88da64012d53a91f8335123bc7713f111baab5f7259b1bc68c711bc327b1061793691ce9176681904638a5dcae9220441cf8e76858f64e812e0b1ed28fe0619de30ef98e37ebc61ebec38dd2ff03
Adjudicator pubkey (G2): 023631ee4e7638a476c6db1d641f0716cba70f73f6973eea74ea08e0ccd84d61d22b04e3a499ce72c47bf4f5720807d809cb020e6b433d4339a7a6416bf1458544a2c2b91509bebc0571499c1bf305fcd15b13f6ce45dbc2e3eeeeeb0768c2c01146c9ee38431005f2a554e74f52da20aea0fe8b4eda3e441c41dafbe02686748f30f1b46f35d2d2c7f8020e6242e891040fb1b7396c8da0cbec37e72f8eb398dac0e8b1f291c3f5842b377668767ae08fc8e8ce8ae95299a8bd99cb26a8ae5c
Message: Hello, World
Original signature: 094acab02ba9a24ca676f0ae117cae4417b0dddece062c51129641c3df6d70c507c58fa7543a0088d77587b919d78e290f26be710f5e514034904369add6b61ad029526fe6c0af7193ec3da72540ef0555cc9730401dd83d16be0cdf08289171165e3ef3351818e9ad7f12cef28bde1d62bb65169c507b45961a475af947f43988184f2e0c424c4c1595424c030e5728008e43566974f03e3046d8296c9731f3d5b0bbff536f6c46ed11a8f1e8658595619d469be0796f62552b7c4058c1e068
VESig: (001e49a41ae9939450fd3a67dc2ce659a46f72cc3043ae3d34048abf8061a4b65d6f6b74998f92090d0d3321d1d5f47b03dd9da1d0f41a0e6e0059623eb5532ad82d583cc1ff0ba5f017f3b65a943ca71610941ef9d5c0700962e4c84dfc69870ba2fd47d11e8dc441b7ef2af353871ed4a2640656cd9a08dc87915b363f80198c9791225f5600fc68b1b0aa59db4da0012813a7758dffefab6a1223408fec3ee4f17c75815ac702bdf7f05fce2149b8dd79a96b6b53cca6b7f9294d1f9aecb6, 0692f60d761e694627e7084f060980c7ed806d6d8d1d1e5454cd046f7e9f49f0bfdd259b3779ebd58e11428783c84eec12579b4535f34bd8eee45a9f05d3bf86b1df80be7dc760458b8e6ace8fb6f42648b5d1507dfe66d356c1a2b9fb7cb5870dd92f5366947a21089a2bdbefa189144321d1e568f75a5f2e7c38dcff3b4448f2aa2e926efefd401167bf8cf5ea35880cf102613920434513a56b97999b03761acb4f41727a1831320474aa426ed5b366b84200f6bf5b20ff01a420eb815642)
Recovered signature: 094acab02ba9a24ca676f0ae117cae4417b0dddece062c51129641c3df6d70c507c58fa7543a0088d77587b919d78e290f26be710f5e514034904369add6b61ad029526fe6c0af7193ec3da72540ef0555cc9730401dd83d16be0cdf08289171165e3ef3351818e9ad7f12cef28bde1d62bb65169c507b45961a475af947f43988184f2e0c424c4c1595424c030e5728008e43566974f03e3046d8296c9731f3d5b0bbff536f6c46ed11a8f1e8658595619d469be0796f62552b7c4058c1e068
Recovered signature matches!
Recovered signature (n-of-m): 094acab02ba9a24ca676f0ae117cae4417b0dddece062c51129641c3df6d70c507c58fa7543a0088d77587b919d78e290f26be710f5e514034904369add6b61ad029526fe6c0af7193ec3da72540ef0555cc9730401dd83d16be0cdf08289171165e3ef3351818e9ad7f12cef28bde1d62bb65169c507b45961a475af947f43988184f2e0c424c4c1595424c030e5728008e43566974f03e3046d8296c9731f3d5b0bbff536f6c46ed11a8f1e8658595619d469be0796f62552b7c4058c1e068

bls-vess's People

Contributors

poupas avatar msf 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.