Skip to content

Latest commit

 

History

History
63 lines (28 loc) · 2.04 KB

README.md

File metadata and controls

63 lines (28 loc) · 2.04 KB

bullsig

BULLSIG is a co-signing software based on SECP256K1 ECDSA which can allow any count of parties to take part in the signing. To sign any info must get all parties agreement, Any party doesnot agree to sign then you cannot sign the information. And the signing process does not send privatekey's shadow, but only send middle-signing result, this feature is very important to protect private key.

Compile environment: Linux version 5.8.0-44-generic (buildd@lgw01-amd64-054) (gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34)

how to use the source code?

step 1:

$ ./once.sh           /*   setup environment, only need to execute this command for the first time to compile this project   */

step 2:

$ make clean          /* Clear all the files generated by the compiler */

step 3:

$ make               /*  generate execute app  */

how to use the binary application?

step 1:

$ ./run.sh           

And then you can operate this software step by step according to the following help information:

      Decentralized Distributed Co-Signing Software BULLSIG Version 1(Command List)
  • set signing-committee's size(default is 3) : setsize x(signing-committee's size)

  • generate address and private key : genkey

  • generate fragments of a private key : genfrag xxx(the key file will be split)

  • generate signature using whole private key : sig xxx(key file) yyy(message will be signed)

  • generate signature using private-key's fragments : bullsig xxx(message will be signed)

  • verify a signature : verify xxx(the signature file will be verified) yyy(the message be signed)

  • exit this software : quit

  • help information : help

step 2:

$ ./clean               /*  delete all running result files  */    

Enjoy!