arnaucube a7ea30d815 secp256k1 WASM compatibility
Use github.com/btcsuite/btcd/btcec instead of
github.com/ethereum/go-ethereum/crypto/secp256k1 for WASM compilation
compatibility.
2021-01-10 23:02:52 +01:00
2021-01-10 23:02:52 +01:00
2021-01-10 23:02:52 +01:00
2021-01-10 23:02:52 +01:00
2021-01-10 14:16:55 +01:00

go-blindsecp256k1 GoDoc Go Report Card Test

Blind signature over secp256k1, based on "An Efficient Blind Signature Scheme Based on the Elliptic Curve Discrete Logarithm Problem" paper.

WARNING: this repo is experimental, do not use in production.

Usage

// 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)
Description
No description provided
Readme GPL-3.0 4.8 MiB
Languages
Go 93.3%
JavaScript 5.2%
HTML 1.1%
Shell 0.4%