mirror of
https://github.com/arnaucube/go-blindsecp256k1.git
synced 2026-02-07 11:36:42 +01:00
Add README.md
This commit is contained in:
28
README.md
Normal file
28
README.md
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# go-blindsecp256k1
|
||||||
|
Blind signature over [secp256k1](https://en.bitcoin.it/wiki/Secp256k1), based on *"[An Efficient Blind Signature Scheme Based on the Elliptic CurveDiscrete Logarithm Problem](http://www.isecure-journal.com/article_39171_47f9ec605dd3918c2793565ec21fcd7a.pdf)"* paper.
|
||||||
|
|
||||||
|
**WARNING**: this repo is experimental, do not use in production.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
```go
|
||||||
|
// message to be signed
|
||||||
|
msg := new(big.Int).SetBytes([]byte("test"))
|
||||||
|
|
||||||
|
// create new signer
|
||||||
|
signerPrivateData := blindsecp256k1.NewSigner()
|
||||||
|
signerPublicData := signerPrivateData.PublicData()
|
||||||
|
|
||||||
|
// user blinds the msg
|
||||||
|
msgBlinded, user := blindsecp256k1.Blind(msg, signerPublicData)
|
||||||
|
|
||||||
|
// signer signs the blinded message
|
||||||
|
sBlind := signerPrivateData.BlindSign(msgBlinded)
|
||||||
|
|
||||||
|
// user unblinds the blinded signature
|
||||||
|
sig := blindsecp256k1.Unblind(sBlind, msg, user)
|
||||||
|
|
||||||
|
// signature can be verified with signer PublicKey
|
||||||
|
verified := blindsecp256k1.Verify(msg, sig, signerPublicData.Q)
|
||||||
|
assert.True(t, verified)
|
||||||
|
```
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
// Package blindsecp256k1 implements the Blind signature scheme explained at
|
// Package blindsecp256k1 implements the Blind signature scheme explained at
|
||||||
// http://www.isecure-journal.com/article_39171_47f9ec605dd3918c2793565ec21fcd7a.pdf
|
// http://www.isecure-journal.com/article_39171_47f9ec605dd3918c2793565ec21fcd7a.pdf
|
||||||
|
//
|
||||||
|
// LICENSE can be found at https://github.com/arnaucube/go-blindsecp256k1/blob/master/LICENSE
|
||||||
package blindsecp256k1
|
package blindsecp256k1
|
||||||
|
|
||||||
// WARNING: WIP code
|
// WARNING: WIP code
|
||||||
|
|||||||
Reference in New Issue
Block a user