Giter VIP home page Giter VIP logo

kms-secp256k1's Issues

add paillier key rotation to ecdsa

  • party 1 generates a new Paillier key pair e2,d2
  • party 1 and party 2 run coin toss protocol and update private shares (already implemented)
  • party2 knows already c1 - encryption of x1 under the old Paillier public key e1, because of the homomorphism of Paillier encryption, party2 can compute by herself c2- the ciphertext of the updated party1 share.
  • party1 sends proof of equal encryption to party 2 : mortendahl/rust-paillier#62
  • party2 verifies

generate MasterKeys in poc.rs example code

currently we just show keygen with schnorr and ecdsa. the complete the poc we must run also chain code generation once and generate Master Keys for schnorr and ecdsa using calls to set_master_key

Allow the user to define the library search path for gmp.lib

This is related to #25

We want to make it easier to the https://github.com/nash-io/openlimits users to use the library without worrying about compiling gmp copying and copying it to the expected path.

I just created a hacky build.rs to automatically copy the gmp.lib and gmp.dll files to the toolchain lib folder, but if the user doesn't want to use openlimits anymore and if the user forget about it, the user will leave both files in the folder.

I just found a reasonable solution for it in this stackoverflow answer https://stackoverflow.com/a/32868075 and I would love to see it implemented here.

implement serialize and deserialise

The purpose of the code in KMS is to take a cryptographic protocol and to construct the actual messages that are supposed to be send among the participants.

  • In order.
  • without breaking the cryptography.
  • Minimizing the round trips as much as possible
  1. what is the best way to serialize / desialize in this case?
  2. take the output messages from each protocol (keygen, sign, rotate, chain code etc) and serialize them
  3. take the input messages from each protocol and deserialize them.

HD Wallet - slight differences between ECDSA and Schnorr

Hi,

I noticed the formula used to generate public key in HD Wallet for ECDSA and Schnorr is slightly different.

In ECDSA, it is link to code
let pub_key = pubkey * &f_l_fe;

In Schnorr, it is link to code
let pub_key = pubkey.clone() + &g * &f_l_fe;

Is there some security issue hence the need to multiply the Schnorr public key with generator?

Thanks!

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.