init: v1.0.0
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
package sm2m
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"math/big"
|
||||
"testing"
|
||||
|
||||
"xdx.jelly/xgcl/gmath"
|
||||
"xdx.jelly/xgcl/grand"
|
||||
"xdx.jelly/xgcl/sm/sm2"
|
||||
)
|
||||
|
||||
func TestDec(t *testing.T) {
|
||||
rnd := make([]byte, 32)
|
||||
if _, err := grand.GenerateRandom(rnd); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
clientKey, clientTempKey, _ := ClientGenSignKey_one(rnd)
|
||||
if _, err := grand.GenerateRandom(rnd); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
serverKey, serverTempKey, pk, _ := ServerGenSignKey(clientTempKey, rnd)
|
||||
_ = ClientGenSignKey_two(clientKey, serverTempKey, pk)
|
||||
|
||||
d := new(big.Int).Mul(serverKey.D, clientKey.D)
|
||||
d.ModInverse(d, sm2.OrderN())
|
||||
d.Sub(d, gmath.BigInt1)
|
||||
|
||||
msg := []byte("1234567890123456")
|
||||
c, _ := sm2.Encrypt(pk, msg, grand.GetRandom(32))
|
||||
sk := sm2.NewPrivateKey()
|
||||
sk.D = d
|
||||
msg2, _ := sm2.Decrypt(sk, c)
|
||||
fmt.Println(string(msg2))
|
||||
clientCTX := NewClientDecContext()
|
||||
out, _ := clientCTX.Initial(c)
|
||||
out, _ = ServerImportKey(serverKey, out)
|
||||
plain, _ := clientCTX.Final(clientKey, out)
|
||||
t.Log(string(plain))
|
||||
}
|
||||
Reference in New Issue
Block a user