Coder Social home page Coder Social logo

finao-spv-poc's Introduction

Transform Encryption

This Rust program demonstrates how to use the Recrypt library to encrypt, transform, and decrypt data using public and private keys.

Overview

The program performs the following steps:

create_key_pair() - create new Encryption KeyPairs and Signing Keypairs using rng returns pub_key: [u8; 33], pvt_key: [u8; 32], sign_key: [u8; 32], ver_key: [u8; 33],

encrypt_data() - encrypt data to delegators pub key and splits into fragments. Retruns ciphertext and fragments

decrypt_data() - decrypt data to be called by delegator by passing cipher text and relevant private key

Usage

Clone the repository or download the source code.

Compile and run the program: cargo run

Review the output and any assertion errors to understand the behavior of the umbral-rs library.

Dependencies

This program depends on the following crates:

umbral-pre: A crate that provides cryptographic primitives for data encryption, transformation, and decryption. We are using v0.2.0 for compatitbiltiy reasons.

finao-spv-poc's People

Contributors

allen-cherian avatar gklps avatar harirubix avatar kiranhrubix avatar

Watchers

 avatar

finao-spv-poc's Issues

dApp : Access control for private data

A smart contract package that will encrypt the user data before adding to ledger. Only the data owner DID will be able to decrypt and view content by default.
The owner can later provide 'consent' for other DIDs to access the data by transform encryption scheme.

dApp : interface to write data to ledger

All contents written by user will be tagged private or public. This issue should create a web app UI/UX interface form for user to add data and tag them as private or public. The structure of the form to be confirmed.

UI/UX : User enrollement and DID creation

Workflow

  1. User performs a web app signup with mail ID and password
  2. Triggers Decentralised Identity creation ( /createDID) . The private key and private shares are returned back to the web2 gateway
  3. Send welcome link to users mail ID connect to sandbox network

Web server: Client - Rubix interaction

A web server to connect the client requests to rubix nodes. This web server also acts as a custodial wallet for data signature.
Also create a db to hold web login details and wallet information.

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.