init: v1.0.0
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package sm2m
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"xdx.jelly/xgcl/grand"
|
||||
"xdx.jelly/xgcl/he/paillier"
|
||||
"xdx.jelly/xgcl/sm/sm2"
|
||||
)
|
||||
|
||||
func TestBlindSign(t *testing.T) {
|
||||
// 生成协同密钥
|
||||
rnd := make([]byte, 32)
|
||||
clientKey, clientTempKey, err := ClientGenSignKey_one(nil)
|
||||
assert.Nil(t, err)
|
||||
|
||||
_, _ = grand.GenerateRandom(rnd)
|
||||
serverKey, serverTempKey, publicKey, err := ServerGenSignKey(clientTempKey, rnd)
|
||||
assert.Nil(t, err)
|
||||
|
||||
err = ClientGenSignKey_two(clientKey, serverTempKey, publicKey)
|
||||
assert.Nil(t, err)
|
||||
|
||||
// 生成paillier密钥
|
||||
psk, ppk, err := paillier.GenerateKey(2048)
|
||||
assert.Nil(t, err)
|
||||
|
||||
// 盲协同签名
|
||||
e := make([]byte, 32)
|
||||
|
||||
c := NewClientBlindSignContext(publicKey, psk, grand.Reader)
|
||||
ecipher, p, err := c.Initial(e)
|
||||
assert.Nil(t, err)
|
||||
|
||||
rcipher, s1, s2cipher, err := ServerBlindSign(serverKey, ecipher, p, ppk, grand.Reader)
|
||||
assert.Nil(t, err)
|
||||
|
||||
sig, err := c.Final(clientKey, rcipher, s1, s2cipher)
|
||||
assert.Nil(t, err)
|
||||
|
||||
assert.True(t, sm2.Verify(e, publicKey, sig))
|
||||
}
|
||||
Reference in New Issue
Block a user