From 1e3dd2ba4a1f9c1d6c88504348adea56f9e65f40 Mon Sep 17 00:00:00 2001 From: X Chang Date: Thu, 18 May 2023 19:59:30 +0800 Subject: [PATCH 1/3] review code and add some comments --- .gitignore | 2 ++ cmd/gsmpc-lib/crypto.go | 24 ++++++++++++++++++ cmd/gsmpc-lib/main.go | 15 +++++++++++- go.mod | 12 +++++---- go.sum | 54 +++++++++++++++++++++++++++++++++++++++++ smpc/socket/config.go | 1 - smpc/socket/util.go | 41 ++++++++++++++++++------------- 7 files changed, 125 insertions(+), 24 deletions(-) diff --git a/.gitignore b/.gitignore index d3c3aa6..492a8d2 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ test/reqaddr.sh test/sign.sh .DS_Store .vscode +build/bin +temtest diff --git a/cmd/gsmpc-lib/crypto.go b/cmd/gsmpc-lib/crypto.go index 7f4095a..a8d0a63 100644 --- a/cmd/gsmpc-lib/crypto.go +++ b/cmd/gsmpc-lib/crypto.go @@ -4,6 +4,7 @@ import ( "crypto/ecdsa" "encoding/hex" "github.com/anyswap/FastMulThreshold-DSA/crypto" + nitroToolkit "github.com/anyswap/nitro-toolkit" ) // LoadECDSA loads a secp256k1 private key from the given file. @@ -50,6 +51,29 @@ func TeeGetAttestation(t *Atte) (string,error) { //-------------------------------------------------------- +var ( + // simulation the tee encryption + DATA_KEY = []byte("12345678901234567890123456789012") +) + +func NitroKmsEncrypt(data string) (string,error) { + dataBytes := []byte(data) + cipherBytes, err := nitroToolkit.EncryptByDataKey(DATA_KEY, dataBytes) + if err != nil { + return "", err + } + return string(cipherBytes), nil +} + +func NitroKmsDecrypt(cm string) (string,error) { + cipherBytes := []byte(cm) + dataBytes, err := nitroToolkit.DecryptByDataKey(DATA_KEY, cipherBytes) + if err != nil { + return "", err + } + return string(dataBytes), nil +} + //TODO func TeeKmsEncrypt(data string) (string,error) { return data,nil diff --git a/cmd/gsmpc-lib/main.go b/cmd/gsmpc-lib/main.go index 2eb0576..75e5b23 100644 --- a/cmd/gsmpc-lib/main.go +++ b/cmd/gsmpc-lib/main.go @@ -44,6 +44,7 @@ var ( func main() { clientip := flag.String("ip", "", "client ip to dial") // --ip clientport := flag.String("port", "", "client port to dial") // --port + // xchang todo, docker filefolder mapping keyfile := flag.String("nodekey", "", "node key file path") flag.Parse() @@ -321,6 +322,7 @@ type PolyShare struct { //------------------------------------------- +// xchang todo: wrong attestation logic func HandleGetAttestation(conn net.Conn,content string) { if content == "" { return @@ -353,6 +355,7 @@ func HandleGetAttestation(conn net.Conn,content string) { socket.Write(conn,string(str)) } +// xchang todo: wrong datakey logic func HandleGetDataKey(conn net.Conn,content string) { if content == "" { return @@ -516,6 +519,7 @@ func HandleKGRound0Msg(conn net.Conn,content string) { msgmap["Key"] = s.MsgPrex msgmap["KeyType"] = s.KeyType + // xchang todo: remove all following useless data data,err := GetTeeValidateData(s.MsgPrex) if err != nil { return @@ -766,6 +770,7 @@ func HandleKGRound2VssShare(conn net.Conn,content string) { tmp := make([]*ec2.ShareStruct2,len(u1Shares)) for k,v := range u1Shares { + // xchang todo, use other's key to encrypt shareenc,err := EncryptShare(v.Share,"") if err != nil { return @@ -917,6 +922,7 @@ func HandleKGRound4DeCom(conn net.Conn,content string) { var c *big.Int var skU1 *big.Int + // xchang todo: tidy ambigious logic, first loop run once, second loop run left items for k:= range s.Cs { cm := string(s.Shares[k].Bytes()) sh,err := DecryptShare(cm,KeyFile) @@ -1000,6 +1006,7 @@ func HandleKGRound4DeCom(conn net.Conn,content string) { if err != nil { return } + // xchang todo: private data leak? msgmap["NtildeProof1"] = string(b) b,err = json.Marshal(ntildeProof2) @@ -1069,6 +1076,7 @@ func HandleKGRound5SquareFee(conn net.Conn,content string) { pMinus1 := new(big.Int).Sub(p1, big.NewInt(1)) qMinus1 := new(big.Int).Sub(p2, big.NewInt(1)) l := new(big.Int).Mul(pMinus1, qMinus1) + // xchang todo: duplicate call? sfProof := ec2.SquareFreeProve(s.Ntilde,num,l) if sfProof == nil { return @@ -1496,6 +1504,7 @@ func HandleSigningRound2Msg(conn net.Conn,content string) { return } msgmap["U1MtAZK1Proof"] = string(pf)*/ + // xchang todo: no need to encrypt? ret,err := EncryptMtARangeProof(u1u1MtAZK1Proof,"") if err != nil { return @@ -1522,6 +1531,7 @@ func HandleSigningRound2Msg(conn net.Conn,content string) { //------------------------------------------------------- +// xchang todo: no logic, remove? func HandleSigningRound3Msg(conn net.Conn,content string) { if content == "" { return @@ -1568,6 +1578,8 @@ func HandleSigningRound4MtARangeProofCheck(conn net.Conn,content string) { msgmap["Key"] = s.MsgPrex msgmap["KeyType"] = s.KeyType + // xchang todo: no need to encrypt? + // xchang todo: how to verify others? old,err := DecryptMtARangeProof(s.MtAZK1Proof,KeyFile) if err != nil { return @@ -1589,7 +1601,7 @@ func HandleSigningRound4MtARangeProofCheck(conn net.Conn,content string) { } //---------------------------------------------------- - +// xchang todo: no need to do in tee func HandleSigningRound4ComCheck(conn net.Conn,content string) { if content == "" { return @@ -3926,6 +3938,7 @@ func EncryptShare(share *big.Int,enode string) (string,error) { return s,nil } +// xchang todo: use key content instead of keyfile func DecryptShare(cm string,keyfile string) (*big.Int,error) { /*hash := Keccak256Hash([]byte(strings.ToLower(cm))).Hex() log.Info("===============DecryptShare=================","hash",hash,"keyfile",keyfile) diff --git a/go.mod b/go.mod index cea728c..a7c07f6 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,7 @@ go 1.13 require ( github.com/BurntSushi/toml v0.3.1 + github.com/anyswap/nitro-toolkit v0.0.0-20230512103053-8f69d5ca62df // indirect github.com/aristanetworks/goarista v0.0.0-20191206003309-5d8d36c240c9 github.com/astaxie/beego v1.12.0 github.com/btcsuite/btcd v0.20.1-beta @@ -69,17 +70,18 @@ require ( github.com/spf13/cast v1.3.1 // indirect github.com/stretchr/testify v1.6.1 github.com/syndtr/goleveldb v1.0.1-0.20190923125748-758128399b1d + github.com/tendermint/crypto v0.0.0-20180820045704-3764759f34a5 // indirect + github.com/tendermint/tendermint v0.32.9 // indirect github.com/whyrusleeping/go-logging v0.0.1 github.com/whyrusleeping/go-smux-multiplex v3.0.16+incompatible // indirect github.com/whyrusleeping/go-smux-multistream v2.0.2+incompatible // indirect github.com/whyrusleeping/go-smux-yamux v2.0.9+incompatible // indirect github.com/whyrusleeping/yamux v1.2.0 // indirect github.com/wxnacy/wgo v1.0.4 - golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a - golang.org/x/mod v0.3.0 // indirect - golang.org/x/net v0.0.0-20200904194848-62affa334b73 - golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980 // indirect - golang.org/x/tools v0.0.0-20200609164405-eb789aa7ce50 // indirect + golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 + golang.org/x/net v0.9.0 + golang.org/x/sys v0.8.0 // indirect + google.golang.org/grpc v1.25.1 // indirect gopkg.in/ini.v1 v1.57.0 // indirect gopkg.in/urfave/cli.v1 v1.20.0 gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c // indirect diff --git a/go.sum b/go.sum index 41f5bb2..f4db7db 100644 --- a/go.sum +++ b/go.sum @@ -56,6 +56,8 @@ github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156 h1:eMwmnE/GDgah4HI848JfFxHt+iPb26b4zyfspmqY0/8= github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= +github.com/anyswap/nitro-toolkit v0.0.0-20230512103053-8f69d5ca62df h1:ySi1JBA0Jr4g/Tv9rBewOtq2fwbXfzHytAzND/9e0UI= +github.com/anyswap/nitro-toolkit v0.0.0-20230512103053-8f69d5ca62df/go.mod h1:1wCkm/7fzGNKKy5jPRJJ3ETunHRgGLApm8vdLBWCxug= github.com/aristanetworks/fsnotify v1.4.2/go.mod h1:D/rtu7LpjYM8tRJphJ0hUBYpjai8SfX+aSNsWDTq/Ks= github.com/aristanetworks/glog v0.0.0-20180419172825-c15b03b3054f/go.mod h1:KASm+qXFKs/xjSoWn30NrWBBvdTTQq+UjkhjEJHfSFA= github.com/aristanetworks/goarista v0.0.0-20170210015632-ea17b1a17847/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ= @@ -221,6 +223,9 @@ github.com/fsn-dev/cryptoCoins v1.0.1/go.mod h1:EkhNconHPp9RWasK5cq7vva+PyXpxlvg github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fxamacker/cbor/v2 v2.2.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= +github.com/fxamacker/cbor/v2 v2.4.0 h1:ri0ArlOR+5XunOP8CRUowT0pSJOwhW098ZCUyskZD88= +github.com/fxamacker/cbor/v2 v2.4.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= github.com/garyburd/redigo v1.6.0/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff h1:tY80oXqGNY4FhTFhk+o9oFHGINQ/+vhlm8HFzi6znCI= github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= @@ -281,6 +286,7 @@ github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.4.1 h1:/exdXoGamhu5ONeUJH0deniYLWYvQwW66yvlfiiKTu0= github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -339,6 +345,10 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hf/nitrite v0.0.0-20211104000856-f9e0dcc73703 h1:oTi0zYvHo1sfk5sevGc4LrfgpLYB6cIhP/HllCUGcZ8= +github.com/hf/nitrite v0.0.0-20211104000856-f9e0dcc73703/go.mod h1:ycRhVmo6wegyEl6WN+zXOHUTJvB0J2tiuH88q/McTK8= +github.com/hf/nsm v0.0.0-20220930140112-cd181bd646b9 h1:pU32bJGmZwF4WXb9Yaz0T8vHDtIPVxqDOdmYdwTQPqw= +github.com/hf/nsm v0.0.0-20220930140112-cd181bd646b9/go.mod h1:MJsac5D0fKcNWfriUERtln6segcGfD6Nu0V5uGBbPf8= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huin/goupnp v1.0.0 h1:wg75sLpL6DZqwHQN6E1Cfk6mtfzS45z8OV+ic+DtHRo= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= @@ -593,6 +603,8 @@ github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzp github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mdlayher/socket v0.4.1/go.mod h1:cAqeGjoufqdxWkD7DkpyS+wcefOtmu5OQ8KuoJGIReA= +github.com/mdlayher/vsock v1.2.1/go.mod h1:NRfCibel++DgeMD8z/hP+PPTjlNJsdPOmxcnENvE+SE= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643 h1:hLDRPB66XQT/8+wG9WsDpiCvZf1yKO7sz7scAjSlBa0= @@ -901,6 +913,8 @@ github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208/go.mod h1:IotVbo4F+m github.com/wxnacy/wgo v1.0.4 h1:UEkzjlW3pMAXcTUCgMekrCvFYLKKwc0p5GAQrMIphs8= github.com/wxnacy/wgo v1.0.4/go.mod h1:8hqUwCgvMGgAIr4MLIeFur2YXS/Ns3vbyx5abx0e8iM= github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE= +github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= +github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= github.com/xdg/stringprep v1.0.0/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= @@ -910,6 +924,8 @@ github.com/xtaci/lossyconn v0.0.0-20190602105132-8df528c0c9ae/go.mod h1:gXtu8J62 github.com/ybbus/jsonrpc v2.1.2+incompatible h1:V4mkE9qhbDQ92/MLMIhlhMSbz8jNXdagC3xBR5NDwaQ= github.com/ybbus/jsonrpc v2.1.2+incompatible/go.mod h1:XJrh1eMSzdIYFbM08flv0wp5G35eRniyeGut1z+LSiE= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zondax/hid v0.9.0 h1:eiT3P6vNxAEVxXMw66eZUAAnU2zD33JBkfG/EnfAKl8= github.com/zondax/hid v0.9.0/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWpEM= github.com/zondax/ledger-go v0.9.0/go.mod h1:b2vIcu3u9gJoIx4kTWuXOgzGV7FPWeUktqRqVf6feG0= @@ -960,6 +976,8 @@ golang.org/x/crypto v0.0.0-20200311171314-f7b00557c8c4/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a h1:vclmkQCjlDX5OydZ9wv8rBCcS0QyQY66Mpf/7BZbInM= golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -975,13 +993,17 @@ golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHl golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190930215403-16217165b5de h1:5hukYrvBGR8/eNkX5mdUezrA6JiaEZDtJb9Ei+1LlBs= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180406214816-61147c48b25b/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1013,6 +1035,12 @@ golang.org/x/net v0.0.0-20200425230154-ff2c4b7c35a0/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200904194848-62affa334b73 h1:MXfv8rhZWmFeqX3GNZRsd6vOLoaCHjYEX3qkRo3YBUA= golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1024,6 +1052,9 @@ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1058,10 +1089,28 @@ golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980 h1:OjiUf46hAmXblsZdnoSXsEUSKU8r1UEzcL5RVZ4gO9Y= golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1090,13 +1139,18 @@ golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200601175630-2caf76543d99/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200609164405-eb789aa7ce50 h1:59syOWj4+Fl+op4LL8fX1kO7HmbdEWfxlw4tcGvH+y0= golang.org/x/tools v0.0.0-20200609164405-eb789aa7ce50/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20210105210202-9ed45478a130/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= diff --git a/smpc/socket/config.go b/smpc/socket/config.go index f5344da..5481b24 100644 --- a/smpc/socket/config.go +++ b/smpc/socket/config.go @@ -6,7 +6,6 @@ var ( const ( ServerNetworkType = "tcp4" - MessageDelimiter = '\t' ) diff --git a/smpc/socket/util.go b/smpc/socket/util.go index d57bd9a..1d23e47 100644 --- a/smpc/socket/util.go +++ b/smpc/socket/util.go @@ -6,39 +6,46 @@ import ( "net" "os" "io/ioutil" + "encoding/binary" "encoding/json" ) +var ( + MSG_LENGTH_PREFIX = 4 +) + func Write(conn net.Conn, content string) (int, error) { log.Info("========socket write, send msg===========","remote addr",conn.RemoteAddr(), "content",content) + + contentBytes := []byte(content) + contentBytesLen := len(contentBytes) + + prefixBytes := make([]byte, MSG_LENGTH_PREFIX) + binary.BigEndian.PutUint32(prefixBytes, uint32(contentBytesLen)) + var bytebuf bytes.Buffer - bytebuf.WriteString(content) - bytebuf.WriteByte(MessageDelimiter) + bytebuf.Write(prefixBytes) + bytebuf.Write(contentBytes) bytearr := bytebuf.Bytes() return conn.Write(bytearr) } func Read(conn net.Conn) (string, error) { - var str string - var bytebuf bytes.Buffer - - bytearr := make([]byte, 1) - - for { - if _, err := conn.Read(bytearr); err != nil { - return str, err - } - item := bytearr[0] - if item == MessageDelimiter { - break - } + prefixBytes := make([]byte, MSG_LENGTH_PREFIX) + if _, err := conn.Read(prefixBytes); err != nil { + return "", err + } + + contentBytesLen := int(binary.BigEndian.Uint32(prefixBytes)) + contentBytes := make([]byte, contentBytesLen) - bytebuf.WriteByte(item) + if _, err := conn.Read(contentBytes); err != nil { + return "", err } - str = bytebuf.String() + str := string(contentBytes) log.Info("===========socket read,recv msg============", "remote addr",conn.RemoteAddr(), "str",str) return str, nil } From f8569f97d7a771351f39b5f67443dd760dd56f71 Mon Sep 17 00:00:00 2001 From: X Chang Date: Fri, 19 May 2023 17:11:29 +0800 Subject: [PATCH 2/3] change all socket msg from stringMap to bytesMap --- cmd/gsmpc-lib/main.go | 236 ++++++++++++++++++--------- internal/common/utils.go | 19 +++ smpc/key_ec.go | 6 +- smpc/key_ed.go | 5 +- smpc/sign_ec.go | 5 +- smpc/sign_ed.go | 5 +- smpc/socket/util.go | 61 +++++-- smpc/start.go | 27 +-- smpc/tss/ecdsa/keygen/local_dnode.go | 6 +- smpc/tss/ecdsa/keygen/round_0.go | 6 +- smpc/tss/ecdsa/keygen/round_1.go | 10 +- smpc/tss/ecdsa/keygen/round_2.go | 11 +- smpc/tss/ecdsa/keygen/round_3.go | 6 +- smpc/tss/ecdsa/keygen/round_4.go | 11 +- smpc/tss/ecdsa/keygen/round_5.go | 11 +- smpc/tss/ecdsa/keygen/round_6.go | 21 ++- smpc/tss/ecdsa/keygen/round_7.go | 6 +- smpc/tss/ecdsa/signing/round_1.go | 6 +- smpc/tss/ecdsa/signing/round_10.go | 6 +- smpc/tss/ecdsa/signing/round_11.go | 6 +- smpc/tss/ecdsa/signing/round_2.go | 11 +- smpc/tss/ecdsa/signing/round_3.go | 6 +- smpc/tss/ecdsa/signing/round_4.go | 41 +++-- smpc/tss/ecdsa/signing/round_5.go | 16 +- smpc/tss/ecdsa/signing/round_6.go | 6 +- smpc/tss/ecdsa/signing/round_7.go | 16 +- smpc/tss/ecdsa/signing/round_8.go | 16 +- smpc/tss/ecdsa/signing/round_9.go | 6 +- smpc/tss/eddsa/keygen/round_0.go | 6 +- smpc/tss/eddsa/keygen/round_1.go | 6 +- smpc/tss/eddsa/keygen/round_2.go | 6 +- smpc/tss/eddsa/keygen/round_3.go | 6 +- smpc/tss/eddsa/keygen/round_4.go | 11 +- smpc/tss/eddsa/keygen/round_5.go | 6 +- smpc/tss/eddsa/keygen/round_6.go | 11 +- smpc/tss/eddsa/signing/round_1.go | 6 +- smpc/tss/eddsa/signing/round_2.go | 6 +- smpc/tss/eddsa/signing/round_3.go | 6 +- smpc/tss/eddsa/signing/round_4.go | 6 +- smpc/tss/eddsa/signing/round_5.go | 6 +- smpc/tss/eddsa/signing/round_6.go | 6 +- smpc/tss/eddsa/signing/round_7.go | 6 +- 42 files changed, 458 insertions(+), 224 deletions(-) diff --git a/cmd/gsmpc-lib/main.go b/cmd/gsmpc-lib/main.go index 75e5b23..73cba22 100644 --- a/cmd/gsmpc-lib/main.go +++ b/cmd/gsmpc-lib/main.go @@ -28,6 +28,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/p2p/discover" "github.com/anyswap/FastMulThreshold-DSA/crypto/sha3" "github.com/anyswap/FastMulThreshold-DSA/internal/common/hexutil" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) //------------------------------------------------ @@ -120,8 +121,10 @@ func handleMessage(conn net.Conn,msg string) { return } - msgmap := make(map[string]string) - err := json.Unmarshal([]byte(msg),&msgmap) + bytesMap := make(map[string][]byte) + err := json.Unmarshal([]byte(msg),&bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) + if err != nil { log.Error("===========socket server,handle message error","err",err) return @@ -347,7 +350,8 @@ func HandleGetAttestation(conn net.Conn,content string) { msgmap["attestation"] = Attestation - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -392,7 +396,8 @@ func HandleGetDataKey(conn net.Conn,content string) { msgmap["enc_enodeID_priv"] = EncEnodePriv msgmap["enc_datakey"] = EncDataKey - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -435,7 +440,8 @@ func HandleGetTeeEnodeID(conn net.Conn,content string) { msgmap["tee_enodeID"] = EnodeID - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -495,7 +501,9 @@ func HandleGetTeeParamData(conn net.Conn,content string) { return } msgmap["TeeParamData"] = string(b) - str, err := json.Marshal(msgmap) + + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -526,7 +534,8 @@ func HandleKGRound0Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = data - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -666,7 +675,8 @@ func HandleKGRound1Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = vdata - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { log.Error("==============socket server,KGRound1 message1 marshal error====================","err",err) return @@ -726,7 +736,8 @@ func HandleKGRound2SquareFreeProve(conn net.Conn,content string) { } msgmap["TeeValidateData"] = vdata - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { log.Error("==============socket server,HandleKGRound2SquareFreeProve,marshal error====================","msg",content,"err",err) return @@ -787,7 +798,8 @@ func HandleKGRound2VssShare(conn net.Conn,content string) { } msgmap["VssShares"] = string(b) - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -823,7 +835,8 @@ func HandleKGRound3Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = vdata - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { log.Error("===============socket server,marshal KGRound3 error","err",err) return @@ -891,7 +904,8 @@ func HandleKGRound4VssCheck(conn net.Conn,content string) { } msgmap["TeeValidateData"] = vdata - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1033,7 +1047,12 @@ func HandleKGRound4DeCom(conn net.Conn,content string) { return } - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) + + str2, err := json.Marshal(msgmap) + log.Info("len:", len(str2)) + if err != nil { return } @@ -1095,7 +1114,8 @@ func HandleKGRound5SquareFee(conn net.Conn,content string) { } msgmap["TeeValidateData"] = vdata - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1146,7 +1166,9 @@ func HandleKGRound5Hv(conn net.Conn,content string) { return } msgmap["HvPf"] = string(hvf) - str, err := json.Marshal(msgmap) + + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1178,7 +1200,8 @@ func HandleKGRound6ComCheck(conn net.Conn,content string) { msgmap["CommitCheckRes"] = "TRUE" } - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1209,7 +1232,8 @@ func HandleKGRound6SquareFeeCheck(conn net.Conn,content string) { msgmap["SquareFreeCheckRes"] = "TRUE" } - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1240,7 +1264,8 @@ func HandleKGRound6HvCheck(conn net.Conn,content string) { msgmap["HvCheckRes"] = "TRUE" } - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1288,7 +1313,8 @@ func HandleKGRound6Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = vdata - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1322,7 +1348,8 @@ func HandleKGRound7Msg(conn net.Conn,content string) { msgmap["ZkXiCheckRes"] = "TRUE" } - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1433,7 +1460,8 @@ func HandleSigningRound1Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = vdata - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1468,7 +1496,8 @@ func HandleSigningRound2PaiEnc(conn net.Conn,content string) { msgmap["U1R"] = fmt.Sprintf("%v",u1R) msgmap["U1KCipher"] = fmt.Sprintf("%v",u1KCipher) - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1521,7 +1550,8 @@ func HandleSigningRound2Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = vdata - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1553,7 +1583,8 @@ func HandleSigningRound3Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = data - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1592,7 +1623,8 @@ func HandleSigningRound4MtARangeProofCheck(conn net.Conn,content string) { msgmap["MtARangeProofCheckRes"] = "TRUE" } - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1624,7 +1656,8 @@ func HandleSigningRound4ComCheck(conn net.Conn,content string) { msgmap["ComCheck"] = "TRUE" } - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1708,7 +1741,8 @@ func HandleSigningRound4Beta(conn net.Conn,content string) { } msgmap["BetaStar"] = string(b) - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1772,7 +1806,8 @@ func HandleSigningRound4Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = data - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1835,7 +1870,8 @@ func HandleSigningRound4Msg1(conn net.Conn,content string) { } msgmap["TeeValidateData"] = data - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1877,7 +1913,8 @@ func HandleSigningRound5MtARespZKProofCheck(conn net.Conn,content string) { msgmap["MtARespZKProofCheckRes"] = "TRUE" } - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -1937,7 +1974,8 @@ func HandleSigningRound5ComCheck(conn net.Conn,content string) { msgmap["Alpha1U1"] = fmt.Sprintf("%v",alpha1U1) msgmap["U1U1"] = fmt.Sprintf("%v",u1U1) - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2036,7 +2074,8 @@ func HandleSigningRound5Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = vdata - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2090,7 +2129,8 @@ func HandleSigningRound6Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = vdata - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2118,7 +2158,8 @@ func HandleSigningRound7ComCheck(conn net.Conn,content string) { deCommit := &ec2.Commitment{C: s.C, D: s.D} if !deCommit.Verify(s.KeyType) { msgmap["ComCheck"] = "FALSE" - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2136,7 +2177,9 @@ func HandleSigningRound7ComCheck(conn net.Conn,content string) { msgmap["u1GammaG0"] = fmt.Sprintf("%v",u1GammaG[0]) msgmap["u1GammaG1"] = fmt.Sprintf("%v",u1GammaG[1]) - str, err := json.Marshal(msgmap) + + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2164,7 +2207,9 @@ func HandleSigningRound7DeCom(conn net.Conn,content string) { _, u1GammaG := deCommit.DeCommit(s.KeyType) msgmap["u1GammaG0"] = fmt.Sprintf("%v",u1GammaG[0]) msgmap["u1GammaG1"] = fmt.Sprintf("%v",u1GammaG[1]) - str, err := json.Marshal(msgmap) + + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2259,7 +2304,8 @@ func HandleSigningRound7Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = vdata - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2290,7 +2336,8 @@ func HandleSigningRound8PDLwSlackCheck(conn net.Conn,content string) { msgmap["PDLwSlackCheckRes"] = "TRUE" } - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2319,7 +2366,8 @@ func HandleSigningRound8CalcK1R(conn net.Conn,content string) { msgmap["K1Rx"] = fmt.Sprintf("%v",K1Rx) msgmap["K1Ry"] = fmt.Sprintf("%v",K1Ry) - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2353,7 +2401,8 @@ func HandleSigningRound8Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = vdata - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2396,7 +2445,8 @@ func HandleSigningRound8Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = vdata - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2432,7 +2482,8 @@ func HandleSigningRound9Msg(conn net.Conn,content string) { for k := range s.S1X { if ok := ec2.STVerify(s.KeyType,s.S1X[k],s.S1Y[k],s.T1X[k],s.T1Y[k],s.DeltaGammaGx,s.DeltaGammaGy,hx,hy,s.STProof[k]); !ok { msgmap["STCheckRes"] = "FALSE" - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2456,7 +2507,8 @@ func HandleSigningRound9Msg(conn net.Conn,content string) { msgmap["STCheckRes"] = "TRUE" } - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2499,7 +2551,8 @@ func HandleSigningRound10Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = vdata - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2537,7 +2590,8 @@ func HandleSigningRound11Msg(conn net.Conn,content string) { msgmap["S"] = fmt.Sprintf("%v",s1) - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2568,7 +2622,8 @@ func HandleEDKGRound0Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = data - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2656,7 +2711,8 @@ func HandleEDKGRound1Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = data - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2687,7 +2743,8 @@ func HandleEDKGRound2Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = data - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2718,7 +2775,8 @@ func HandleEDKGRound3Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = data - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2746,7 +2804,8 @@ func HandleEDKGRound4ComCheck(conn net.Conn,content string) { CPkFlag := ed.Verify(s.CPk,s.DPk) if !CPkFlag { msgmap["ComCheck"] = "FALSE" - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2770,7 +2829,8 @@ func HandleEDKGRound4ComCheck(conn net.Conn,content string) { msgmap["ComCheck"] = "TRUE" } - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2899,7 +2959,8 @@ func HandleEDKGRound4Msg(conn net.Conn,content string) { msgmap["Ret"] = string(b) - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2930,7 +2991,8 @@ func HandleEDKGRound5Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = data - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -2973,7 +3035,8 @@ func HandleEDKGRound6VssCheck(conn net.Conn,content string) { msgmap["VssCheckRes"] = "TRUE" } - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -3148,7 +3211,8 @@ func HandleEDKGRound6Msg(conn net.Conn,content string) { msgmap["finalPkBytes"] = hex.EncodeToString(finalPkBytes[:]) - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -3277,7 +3341,8 @@ func HandleEDSigningRound1Msg(conn net.Conn,content string) { msgmap["Ret"] = string(b) - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -3308,7 +3373,8 @@ func HandleEDSigningRound2Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = data - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -3339,7 +3405,8 @@ func HandleEDSigningRound3Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = data - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -3381,7 +3448,8 @@ func HandleEDSigningRound4Msg(conn net.Conn,content string) { CRFlag := ed.Verify(s.CRs[k], s.DRs[k]) if !CRFlag { msgmap["Msg4CheckRes"] = "FALSE" - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -3396,7 +3464,8 @@ func HandleEDSigningRound4Msg(conn net.Conn,content string) { zkRFlag := ed_ristretto.VerifyZk2(s.ZkRs[k], temR) if !zkRFlag { msgmap["Msg4CheckRes"] = "FALSE" - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -3423,7 +3492,8 @@ func HandleEDSigningRound4Msg(conn net.Conn,content string) { CRFlag := ed.Verify(s.CRs[k], s.DRs[k]) if !CRFlag { msgmap["Msg4CheckRes"] = "FALSE" - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -3438,7 +3508,8 @@ func HandleEDSigningRound4Msg(conn net.Conn,content string) { zkRFlag := ed.VerifyZk2(s.ZkRs[k], temR) if !zkRFlag { msgmap["Msg4CheckRes"] = "FALSE" - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -3563,7 +3634,8 @@ func HandleEDSigningRound4Msg(conn net.Conn,content string) { msgmap["Ret"] = string(b) msgmap["Msg4CheckRes"] = "TRUE" - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -3594,7 +3666,8 @@ func HandleEDSigningRound5Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = data - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -3628,7 +3701,8 @@ func HandleEDSigningRound6Msg(conn net.Conn,content string) { CSBFlag := ed.Verify(s.CSBs[k], s.DSBs[k]) if !CSBFlag { msgmap["Msg6CheckRes"] = "FALSE" - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -3655,7 +3729,8 @@ func HandleEDSigningRound6Msg(conn net.Conn,content string) { CSBFlag := ed.Verify(s.CSBs[k], s.DSBs[k]) if !CSBFlag { msgmap["Msg6CheckRes"] = "FALSE" - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -3721,7 +3796,8 @@ func HandleEDSigningRound6Msg(conn net.Conn,content string) { } msgmap["TeeValidateData"] = data - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -3763,7 +3839,8 @@ func HandleEDSigningRound7Msg(conn net.Conn,content string) { var pass = signing.EdVerify(inputVerify, s.KeyType) if !pass { msgmap["EDRSVCheckRes"] = "FALSE" - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -3785,7 +3862,8 @@ func HandleEDSigningRound7Msg(conn net.Conn,content string) { log.Info("=================ed signing successfully,rsv verify pass==================","r",rx,"s",sx,"keyID",s.Base.MsgPrex) - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -3799,11 +3877,11 @@ func HandleEDSigningRound7Msg(conn net.Conn,content string) { //u1 func EncryptU1(u1 *big.Int) (string,error) { s := fmt.Sprintf("%v", u1) - return TeeKmsEncrypt(s) //TODO + return NitroKmsEncrypt(s) //TODO } func DecryptU1(cm string) (*big.Int,error) { - s,err := TeeKmsDecrypt(cm) //TODO + s,err := NitroKmsDecrypt(cm) //TODO if err != nil { return nil,err } @@ -3848,11 +3926,11 @@ func EncryptPaillierSk(paiSk *ec2.PrivateKey) (string,error) { return "",err } - return TeeKmsEncrypt(string(b)) //TODO + return NitroKmsEncrypt(string(b)) //TODO } func DecryptPaillierSk(cm string) (*ec2.PrivateKey,error) { - s,err := TeeKmsDecrypt(cm) //TODO + s,err := NitroKmsDecrypt(cm) //TODO if err != nil { return nil,err } @@ -4642,7 +4720,8 @@ func HandleECKGTeeValidateData(conn net.Conn,content string) { msgmap["TeeValidateDataCheckRes"] = "TRUE" - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -4674,7 +4753,8 @@ func HandleECSigningTeeValidateData(conn net.Conn,content string) { msgmap["TeeValidateDataCheckRes"] = "TRUE" - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -4706,7 +4786,8 @@ func HandleEDKGTeeValidateData(conn net.Conn,content string) { msgmap["TeeValidateDataCheckRes"] = "TRUE" - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } @@ -4738,7 +4819,8 @@ func HandleEDSigningTeeValidateData(conn net.Conn,content string) { msgmap["TeeValidateDataCheckRes"] = "TRUE" - str, err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + str, err := json.Marshal(bytesMap) if err != nil { return } diff --git a/internal/common/utils.go b/internal/common/utils.go index 741c22e..3e67a65 100644 --- a/internal/common/utils.go +++ b/internal/common/utils.go @@ -99,3 +99,22 @@ func DebugCall(callback func()) { } callback() } + +// json.Marshal & json.Unmarshal can not process string having special characters, so convert to byte array + +func StringMap2BytesMap(stringMap map[string]string) map[string][]byte { + bytesMap := make(map[string][]byte) + for k, v := range stringMap { + bytesMap[k] = []byte(v) + } + return bytesMap +} + +func BytesMap2StringMap(bytesMap map[string][]byte) map[string]string { + stringMap := make(map[string]string) + for k, v := range bytesMap { + stringMap[k] = string(v) + } + return stringMap +} + diff --git a/smpc/key_ec.go b/smpc/key_ec.go index a3f76a2..9249fa0 100644 --- a/smpc/key_ec.go +++ b/smpc/key_ec.go @@ -236,8 +236,10 @@ func ProcessInboundMessages(msgprex string, keytype string,finishChan chan struc } kgs := <-w.OutCh - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + // msgmap := common.BytesMap2StringMap(bytesMap) + if err != nil { res := RPCSmpcRes{Ret: "", Err: err} ch <- res diff --git a/smpc/key_ed.go b/smpc/key_ed.go index 29821f9..df4f449 100644 --- a/smpc/key_ed.go +++ b/smpc/key_ed.go @@ -180,8 +180,9 @@ func ProcessInboundMessagesEDDSA(msgprex string, keytype string,finishChan chan } kgs := <-w.OutCh - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + // msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { res := RPCSmpcRes{Ret: "", Err: err} ch <- res diff --git a/smpc/sign_ec.go b/smpc/sign_ec.go index 30e2538..4b99f55 100644 --- a/smpc/sign_ec.go +++ b/smpc/sign_ec.go @@ -226,8 +226,9 @@ func SignProcessInboundMessages(msgprex string, keytype string,finishChan chan s } kgs := <-w.OutCh - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + // msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { res := RPCSmpcRes{Ret: "", Err: err} ch <- res diff --git a/smpc/sign_ed.go b/smpc/sign_ed.go index 8260ba1..59f7ee8 100644 --- a/smpc/sign_ed.go +++ b/smpc/sign_ed.go @@ -205,8 +205,9 @@ func EdSignProcessInboundMessages(msgprex string, keytype string,finishChan chan } kgs := <-w.OutCh - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + // msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { res := RPCSmpcRes{Ret: "", Err: err} ch <- res diff --git a/smpc/socket/util.go b/smpc/socket/util.go index 1d23e47..c3c2ad5 100644 --- a/smpc/socket/util.go +++ b/smpc/socket/util.go @@ -8,45 +8,76 @@ import ( "io/ioutil" "encoding/binary" "encoding/json" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) var ( + MSG_PREFIX = []byte("VSOCK_MSG_LEN:") MSG_LENGTH_PREFIX = 4 + READ_ONE_TIME_BYTES = 1024 ) func Write(conn net.Conn, content string) (int, error) { - log.Info("========socket write, send msg===========","remote addr",conn.RemoteAddr(), "content",content) contentBytes := []byte(content) contentBytesLen := len(contentBytes) - prefixBytes := make([]byte, MSG_LENGTH_PREFIX) - binary.BigEndian.PutUint32(prefixBytes, uint32(contentBytesLen)) + lengthBytes := make([]byte, MSG_LENGTH_PREFIX) + binary.BigEndian.PutUint32(lengthBytes, uint32(contentBytesLen)) var bytebuf bytes.Buffer - bytebuf.Write(prefixBytes) + bytebuf.Write(MSG_PREFIX) + bytebuf.Write(lengthBytes) bytebuf.Write(contentBytes) bytearr := bytebuf.Bytes() + + log.Info("========socket write, send msg===========","remote addr",conn.RemoteAddr(), "length", contentBytesLen, "content",content) return conn.Write(bytearr) } func Read(conn net.Conn) (string, error) { + prefixBytes := make([]byte, MSG_LENGTH_PREFIX + len(MSG_PREFIX)) - prefixBytes := make([]byte, MSG_LENGTH_PREFIX) - if _, err := conn.Read(prefixBytes); err != nil { - return "", err + for { + if _, err := conn.Read(prefixBytes); err != nil { + return "", err + } + + if bytes.Equal(MSG_PREFIX, prefixBytes[:len(MSG_PREFIX)]){ + break + } } - contentBytesLen := int(binary.BigEndian.Uint32(prefixBytes)) - contentBytes := make([]byte, contentBytesLen) - - if _, err := conn.Read(contentBytes); err != nil { + lengthBytes := prefixBytes[len(MSG_PREFIX):] + contentBytesLen := int(binary.BigEndian.Uint32(lengthBytes)) + + // read content + var contentBuf bytes.Buffer + temBytes := make([]byte, READ_ONE_TIME_BYTES) + for { + if contentBytesLen < READ_ONE_TIME_BYTES { + break + } + if _, err := conn.Read(temBytes); err != nil { + return "", err + } + if _, err := contentBuf.Write(temBytes); err != nil { + return "", err + } + contentBytesLen -= READ_ONE_TIME_BYTES + } + // read left content + temBytes = make([]byte, contentBytesLen) + if _, err := conn.Read(temBytes); err != nil { + return "", err + } + if _, err := contentBuf.Write(temBytes); err != nil { return "", err } + str := contentBuf.String() - str := string(contentBytes) - log.Info("===========socket read,recv msg============", "remote addr",conn.RemoteAddr(), "str",str) + log.Info("===========socket read,recv msg============", "remote addr",conn.RemoteAddr(), "length", contentBytesLen, "content",str) return str, nil } @@ -63,7 +94,9 @@ func SendMsgData(conn net.Conn,msg SocketMessage) error { msgmap["Content"] = string(s) msgmap["MsgType"] = msg.GetMsgType() - data,err := json.Marshal(msgmap) + bytesMap := common.StringMap2BytesMap(msgmap) + data, err := json.Marshal(bytesMap) + if err != nil { log.Error("===============socket.SendMsgData,msgmap error==========","err",err) return err diff --git a/smpc/start.go b/smpc/start.go index a556b54..842cd54 100644 --- a/smpc/start.go +++ b/smpc/start.go @@ -31,6 +31,7 @@ import ( "io" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" "github.com/anyswap/FastMulThreshold-DSA/log" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) var ( @@ -244,8 +245,9 @@ func GetAttestationFromLib() error { } kgs := <-AttestationCh - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { return err } @@ -277,8 +279,9 @@ func GetDataKeyFromLib() error { } kgs := <-DataKeyCh - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { return err } @@ -325,8 +328,9 @@ func GetEnodeIDFromLib() error { } kgs := <-TeeEnodeIDCh - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { return err } @@ -370,8 +374,9 @@ func GetTeeParamData() error { } kgs := <-TeeParamDataCh - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("=========================GetTeeParamData,unmarshal msg error====================","err",err,"msg",kgs) return err @@ -448,8 +453,10 @@ func TeeClient(teeip string,teeport string) { continue } - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(msg), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(msg), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) + if err != nil { log.Error("===============socket client,unmarshal msg to map error=============","err",err) time.Sleep(time.Duration(1000000)) diff --git a/smpc/tss/ecdsa/keygen/local_dnode.go b/smpc/tss/ecdsa/keygen/local_dnode.go index 8e73056..bdec3e5 100644 --- a/smpc/tss/ecdsa/keygen/local_dnode.go +++ b/smpc/tss/ecdsa/keygen/local_dnode.go @@ -59,9 +59,9 @@ type localTempData struct { //round 1 u1 *big.Int - u1Enc string + u1Enc []byte u1Poly *ec2.PolyStruct2 - u1PolyEnc string + u1PolyEnc []byte u1PolyG *ec2.PolyGStruct2 commitU1G *ec2.Commitment c1 *big.Int @@ -69,7 +69,7 @@ type localTempData struct { commitC1G *ec2.Commitment u1PaillierPk *ec2.PublicKey u1PaillierSk *ec2.PrivateKey - u1PaillierSkEnc string + u1PaillierSkEnc []byte // paillier.N = p*q p *big.Int pEnc string diff --git a/smpc/tss/ecdsa/keygen/round_0.go b/smpc/tss/ecdsa/keygen/round_0.go index ce29b0c..09ce00d 100644 --- a/smpc/tss/ecdsa/keygen/round_0.go +++ b/smpc/tss/ecdsa/keygen/round_0.go @@ -19,6 +19,7 @@ package keygen import ( "errors" "github.com/anyswap/FastMulThreshold-DSA/smpc/tss/smpc" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" "math/big" "encoding/json" "github.com/anyswap/FastMulThreshold-DSA/log" @@ -61,8 +62,9 @@ func (round *round0) Start() error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round0 start,unmarshal KGRound0 return data error","err",err) return err diff --git a/smpc/tss/ecdsa/keygen/round_1.go b/smpc/tss/ecdsa/keygen/round_1.go index 1bcfe57..f698766 100644 --- a/smpc/tss/ecdsa/keygen/round_1.go +++ b/smpc/tss/ecdsa/keygen/round_1.go @@ -23,6 +23,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/internal/common/math/random" "github.com/anyswap/FastMulThreshold-DSA/tss-lib/ec2" "github.com/anyswap/FastMulThreshold-DSA/smpc/tss/smpc" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" "math/big" "encoding/json" "strings" @@ -164,8 +165,9 @@ func (round *round1) ExecTee(index int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round1 start,unmarshal KGRound1 return data error","err",err) return err @@ -201,8 +203,8 @@ func (round *round1) ExecTee(index int) error { u1PolyG := &ec2.PolyGStruct2{PolyG: ugg} //round.temp.u1 = u1 //round.temp.u1Poly = u1Poly - round.temp.u1Enc = msgmap["U1"] - round.temp.u1PolyEnc = msgmap["U1Poly"] + round.temp.u1Enc = []byte(msgmap["U1"]) + round.temp.u1PolyEnc = []byte(msgmap["U1Poly"]) round.temp.u1PolyG = u1PolyG u1C, _ := new(big.Int).SetString(msgmap["CommitU1G.C"], 10) diff --git a/smpc/tss/ecdsa/keygen/round_2.go b/smpc/tss/ecdsa/keygen/round_2.go index aba5f5c..f223eac 100644 --- a/smpc/tss/ecdsa/keygen/round_2.go +++ b/smpc/tss/ecdsa/keygen/round_2.go @@ -22,6 +22,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/tss-lib/ec2" "github.com/anyswap/FastMulThreshold-DSA/smpc/tss/smpc" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" "math/big" "encoding/hex" "encoding/json" @@ -222,8 +223,9 @@ func (round *round2) ExecTee(curIndex int,ids []*big.Int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round2 start,unmarshal KGRound2 return data error","err",err) return err @@ -259,8 +261,9 @@ func (round *round2) ExecTee(curIndex int,ids []*big.Int) error { } kgs = <-round.teeout - msgmap = make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap = make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap = common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round2 start,unmarshal KGRound2 return data error","err",err) return err diff --git a/smpc/tss/ecdsa/keygen/round_3.go b/smpc/tss/ecdsa/keygen/round_3.go index 72106f8..10d1754 100644 --- a/smpc/tss/ecdsa/keygen/round_3.go +++ b/smpc/tss/ecdsa/keygen/round_3.go @@ -23,6 +23,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/tss-lib/ec2" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" "github.com/anyswap/FastMulThreshold-DSA/log" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" "encoding/json" ) @@ -157,8 +158,9 @@ func (round *round3) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("===============round3 start,unmarshal KGRound3 error","err",err) return err diff --git a/smpc/tss/ecdsa/keygen/round_4.go b/smpc/tss/ecdsa/keygen/round_4.go index 70018e5..4d17fdb 100644 --- a/smpc/tss/ecdsa/keygen/round_4.go +++ b/smpc/tss/ecdsa/keygen/round_4.go @@ -24,6 +24,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/tss-lib/ec2" "github.com/anyswap/FastMulThreshold-DSA/smpc/tss/smpc" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" "math/big" "encoding/json" ) @@ -276,8 +277,9 @@ func (round *round4) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { return err } @@ -316,8 +318,9 @@ func (round *round4) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { return err } diff --git a/smpc/tss/ecdsa/keygen/round_5.go b/smpc/tss/ecdsa/keygen/round_5.go index 1121d4c..62e3421 100644 --- a/smpc/tss/ecdsa/keygen/round_5.go +++ b/smpc/tss/ecdsa/keygen/round_5.go @@ -24,6 +24,7 @@ import ( "fmt" "encoding/json" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) const ( @@ -194,8 +195,9 @@ func (round *round5) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { return err } @@ -229,8 +231,9 @@ func (round *round5) ExecTee(curIndex int) error { } kgs = <-round.teeout - msgmap = make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap = make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap = common.BytesMap2StringMap(bytesMap) if err != nil { return err } diff --git a/smpc/tss/ecdsa/keygen/round_6.go b/smpc/tss/ecdsa/keygen/round_6.go index 72ddf40..3416ea3 100644 --- a/smpc/tss/ecdsa/keygen/round_6.go +++ b/smpc/tss/ecdsa/keygen/round_6.go @@ -23,6 +23,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/smpc/tss/smpc" "github.com/anyswap/FastMulThreshold-DSA/log" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" "encoding/json" ) @@ -199,8 +200,9 @@ func (round *round6) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { return err } @@ -237,8 +239,9 @@ func (round *round6) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { return err } @@ -275,8 +278,9 @@ func (round *round6) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { return err } @@ -299,8 +303,9 @@ func (round *round6) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { return err } diff --git a/smpc/tss/ecdsa/keygen/round_7.go b/smpc/tss/ecdsa/keygen/round_7.go index bc1a14b..4adc541 100644 --- a/smpc/tss/ecdsa/keygen/round_7.go +++ b/smpc/tss/ecdsa/keygen/round_7.go @@ -23,6 +23,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/tss-lib/ec2" "encoding/json" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" "github.com/anyswap/FastMulThreshold-DSA/log" ) @@ -122,8 +123,9 @@ func (round *round7) ExecTee(index int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { return err } diff --git a/smpc/tss/ecdsa/signing/round_1.go b/smpc/tss/ecdsa/signing/round_1.go index a86ec3c..070d3c5 100644 --- a/smpc/tss/ecdsa/signing/round_1.go +++ b/smpc/tss/ecdsa/signing/round_1.go @@ -27,6 +27,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/log" "encoding/json" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) var ( @@ -170,8 +171,9 @@ func (round *round1) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round1 start,unmarshal SigningRound1Msg return data error","err",err) return err diff --git a/smpc/tss/ecdsa/signing/round_10.go b/smpc/tss/ecdsa/signing/round_10.go index 784cae9..4975f28 100644 --- a/smpc/tss/ecdsa/signing/round_10.go +++ b/smpc/tss/ecdsa/signing/round_10.go @@ -26,6 +26,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/log" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" "encoding/json" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) func newRound10(temp *localTempData, save *keygen.LocalDNodeSaveData, idsign smpc.SortableIDSSlice, out chan<- smpc.Message, end chan<- PrePubData, kgid string, threshold int, paillierkeylength int, predata *PrePubData, txhash *big.Int, finalizeend chan<- *big.Int,keytype string,msgprex string,teeout chan string,tee bool) smpc.Round { @@ -113,8 +114,9 @@ func (round *round10) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round9 start,unmarshal return data error","err",err) return err diff --git a/smpc/tss/ecdsa/signing/round_11.go b/smpc/tss/ecdsa/signing/round_11.go index 78dc7db..61b60b5 100644 --- a/smpc/tss/ecdsa/signing/round_11.go +++ b/smpc/tss/ecdsa/signing/round_11.go @@ -24,6 +24,7 @@ import ( "encoding/json" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" "github.com/anyswap/FastMulThreshold-DSA/log" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) // Start get S @@ -91,8 +92,9 @@ func (round *round11) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round9 start,unmarshal return data error","err",err) return err diff --git a/smpc/tss/ecdsa/signing/round_2.go b/smpc/tss/ecdsa/signing/round_2.go index 2560e6d..5452b5f 100644 --- a/smpc/tss/ecdsa/signing/round_2.go +++ b/smpc/tss/ecdsa/signing/round_2.go @@ -26,6 +26,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/log" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" "encoding/json" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) // Start paillier Encrypt and get MtAZK1Proof @@ -159,8 +160,9 @@ func (round *round2) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round1 start,unmarshal SigningRound1Msg return data error","err",err) return err @@ -192,8 +194,9 @@ func (round *round2) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round1 start,unmarshal SigningRound1Msg return data error","err",err) return err diff --git a/smpc/tss/ecdsa/signing/round_3.go b/smpc/tss/ecdsa/signing/round_3.go index 180729e..702389f 100644 --- a/smpc/tss/ecdsa/signing/round_3.go +++ b/smpc/tss/ecdsa/signing/round_3.go @@ -22,6 +22,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/log" "encoding/json" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) // Start broacast Kc @@ -57,8 +58,9 @@ func (round *round3) Start() error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round3 start,unmarshal SignRound3 return data error","err",err) return err diff --git a/smpc/tss/ecdsa/signing/round_4.go b/smpc/tss/ecdsa/signing/round_4.go index 9af04e8..2ef0538 100644 --- a/smpc/tss/ecdsa/signing/round_4.go +++ b/smpc/tss/ecdsa/signing/round_4.go @@ -27,6 +27,7 @@ import ( "encoding/hex" "github.com/anyswap/FastMulThreshold-DSA/log" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" "encoding/json" ) @@ -308,8 +309,9 @@ func (round *round4) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round4 start,unmarshal return data error","err",err) return err @@ -331,8 +333,9 @@ func (round *round4) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round4 start,unmarshal return data error","err",err) return err @@ -357,8 +360,9 @@ func (round *round4) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round4 start,unmarshal return data error","err",err) return err @@ -379,8 +383,9 @@ func (round *round4) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round4 start,unmarshal return data error","err",err) return err @@ -419,8 +424,9 @@ func (round *round4) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round4 start,unmarshal return data error","err",err) return err @@ -457,8 +463,9 @@ func (round *round4) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round4 start,unmarshal return data error","err",err) return err @@ -510,8 +517,9 @@ func (round *round4) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round4 start,unmarshal return data error","err",err) return err @@ -548,8 +556,9 @@ func (round *round4) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round4 start,unmarshal return data error","err",err) return err diff --git a/smpc/tss/ecdsa/signing/round_5.go b/smpc/tss/ecdsa/signing/round_5.go index 5446070..81eedb7 100644 --- a/smpc/tss/ecdsa/signing/round_5.go +++ b/smpc/tss/ecdsa/signing/round_5.go @@ -26,6 +26,7 @@ import ( "math/big" "github.com/anyswap/FastMulThreshold-DSA/log" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" "encoding/json" ) @@ -227,8 +228,9 @@ func (round *round5) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round4 start,unmarshal return data error","err",err) return err @@ -253,8 +255,9 @@ func (round *round5) ExecTee(curIndex int) error { } kgs = <-round.teeout - msgmap = make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap = make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap = common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round4 start,unmarshal return data error","err",err) return err @@ -282,8 +285,9 @@ func (round *round5) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round4 start,unmarshal return data error","err",err) return err diff --git a/smpc/tss/ecdsa/signing/round_6.go b/smpc/tss/ecdsa/signing/round_6.go index e7ec7c2..c14a5b6 100644 --- a/smpc/tss/ecdsa/signing/round_6.go +++ b/smpc/tss/ecdsa/signing/round_6.go @@ -25,6 +25,7 @@ import ( "encoding/json" "github.com/anyswap/FastMulThreshold-DSA/log" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) // Start broacast zkuproof and commitment D @@ -132,8 +133,9 @@ func (round *round6) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round6 start,unmarshal return data error","err",err) return err diff --git a/smpc/tss/ecdsa/signing/round_7.go b/smpc/tss/ecdsa/signing/round_7.go index fc49a84..3c51fd0 100644 --- a/smpc/tss/ecdsa/signing/round_7.go +++ b/smpc/tss/ecdsa/signing/round_7.go @@ -25,6 +25,7 @@ import ( "encoding/json" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" "github.com/anyswap/FastMulThreshold-DSA/log" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) // Start verify commitment,zkuproof,calc R @@ -213,8 +214,9 @@ func (round *round7) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round7 start,unmarshal return data error","err",err) return err @@ -249,8 +251,9 @@ func (round *round7) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round7 start,unmarshal return data error","err",err) return err @@ -292,8 +295,9 @@ func (round *round7) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round7 start,unmarshal return data error","err",err) return err diff --git a/smpc/tss/ecdsa/signing/round_8.go b/smpc/tss/ecdsa/signing/round_8.go index 4d43321..3aa61c3 100644 --- a/smpc/tss/ecdsa/signing/round_8.go +++ b/smpc/tss/ecdsa/signing/round_8.go @@ -26,6 +26,7 @@ import ( "encoding/json" "github.com/anyswap/FastMulThreshold-DSA/log" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) // Start broacast current node s to other nodes @@ -214,8 +215,9 @@ func (round *round8) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round8 start,unmarshal return data error","err",err) return err @@ -241,8 +243,9 @@ func (round *round8) ExecTee(curIndex int) error { } kgs = <-round.teeout - msgmap = make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap = make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap = common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round8 start,unmarshal return data error","err",err) return err @@ -261,8 +264,9 @@ func (round *round8) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round8 start,unmarshal return data error","err",err) return err diff --git a/smpc/tss/ecdsa/signing/round_9.go b/smpc/tss/ecdsa/signing/round_9.go index a3d11fb..7302602 100644 --- a/smpc/tss/ecdsa/signing/round_9.go +++ b/smpc/tss/ecdsa/signing/round_9.go @@ -24,6 +24,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/tss-lib/ec2" "math/big" "github.com/anyswap/FastMulThreshold-DSA/log" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" "encoding/json" ) @@ -123,8 +124,9 @@ func (round *round9) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round9 start,unmarshal return data error","err",err) return err diff --git a/smpc/tss/eddsa/keygen/round_0.go b/smpc/tss/eddsa/keygen/round_0.go index 3cb16c5..5ba628e 100644 --- a/smpc/tss/eddsa/keygen/round_0.go +++ b/smpc/tss/eddsa/keygen/round_0.go @@ -23,6 +23,7 @@ import ( "encoding/json" "github.com/anyswap/FastMulThreshold-DSA/log" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) var ( @@ -61,8 +62,9 @@ func (round *round0) Start() error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round0 start,unmarshal KGRound0 return data error","err",err) return err diff --git a/smpc/tss/eddsa/keygen/round_1.go b/smpc/tss/eddsa/keygen/round_1.go index 9ae9711..84ca60f 100644 --- a/smpc/tss/eddsa/keygen/round_1.go +++ b/smpc/tss/eddsa/keygen/round_1.go @@ -29,6 +29,7 @@ import ( r255 "github.com/gtank/ristretto255" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" "github.com/anyswap/FastMulThreshold-DSA/log" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" "encoding/json" ) @@ -157,8 +158,9 @@ func (round *round1) ExecTee(index int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round1 start,unmarshal KGRound1 return data error","err",err) return err diff --git a/smpc/tss/eddsa/keygen/round_2.go b/smpc/tss/eddsa/keygen/round_2.go index d335fb9..4cedc70 100644 --- a/smpc/tss/eddsa/keygen/round_2.go +++ b/smpc/tss/eddsa/keygen/round_2.go @@ -21,6 +21,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/smpc/tss/smpc" "github.com/anyswap/FastMulThreshold-DSA/log" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" "encoding/json" ) @@ -62,8 +63,9 @@ func (round *round2) Start() error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round0 start,unmarshal KGRound0 return data error","err",err) return err diff --git a/smpc/tss/eddsa/keygen/round_3.go b/smpc/tss/eddsa/keygen/round_3.go index e8e0e93..aa5660a 100644 --- a/smpc/tss/eddsa/keygen/round_3.go +++ b/smpc/tss/eddsa/keygen/round_3.go @@ -21,6 +21,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/smpc/tss/smpc" "github.com/anyswap/FastMulThreshold-DSA/log" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" "encoding/json" ) @@ -55,8 +56,9 @@ func (round *round3) Start() error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round0 start,unmarshal KGRound0 return data error","err",err) return err diff --git a/smpc/tss/eddsa/keygen/round_4.go b/smpc/tss/eddsa/keygen/round_4.go index 9536459..a1ceb03 100644 --- a/smpc/tss/eddsa/keygen/round_4.go +++ b/smpc/tss/eddsa/keygen/round_4.go @@ -26,6 +26,7 @@ import ( "crypto/sha512" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" "github.com/anyswap/FastMulThreshold-DSA/log" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" "encoding/json" ) @@ -261,8 +262,9 @@ func (round *round4) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round4 start,unmarshal EDKGRound4Msg return data error","err",err) return err @@ -290,8 +292,9 @@ func (round *round4) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round4 start,unmarshal EDKGRound4Msg return data error","err",err) return err diff --git a/smpc/tss/eddsa/keygen/round_5.go b/smpc/tss/eddsa/keygen/round_5.go index bb22ef2..1ce1bf3 100644 --- a/smpc/tss/eddsa/keygen/round_5.go +++ b/smpc/tss/eddsa/keygen/round_5.go @@ -22,6 +22,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/log" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" "encoding/json" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) // Start broacast cfsBBytes @@ -55,8 +56,9 @@ func (round *round5) Start() error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round5 start,unmarshal KGRound5 return data error","err",err) return err diff --git a/smpc/tss/eddsa/keygen/round_6.go b/smpc/tss/eddsa/keygen/round_6.go index dd8d9f1..efe669e 100644 --- a/smpc/tss/eddsa/keygen/round_6.go +++ b/smpc/tss/eddsa/keygen/round_6.go @@ -30,6 +30,7 @@ import ( "encoding/json" "github.com/anyswap/FastMulThreshold-DSA/log" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) // Start verify vss,calc pk tSk @@ -307,8 +308,9 @@ func (round *round6) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round6 start,unmarshal KGRound6 return data error","err",err) return err @@ -358,8 +360,9 @@ func (round *round6) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round6 start,unmarshal KGRound6 return data error","err",err) return err diff --git a/smpc/tss/eddsa/signing/round_1.go b/smpc/tss/eddsa/signing/round_1.go index 8fe4b5e..69f5c18 100644 --- a/smpc/tss/eddsa/signing/round_1.go +++ b/smpc/tss/eddsa/signing/round_1.go @@ -23,6 +23,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/smpc/tss/eddsa/keygen" "github.com/anyswap/FastMulThreshold-DSA/smpc/tss/smpc" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" //"encoding/hex" cryptorand "crypto/rand" @@ -228,8 +229,9 @@ func (round *round1) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round1 start,unmarshal KGRound1 return data error","err",err) return err diff --git a/smpc/tss/eddsa/signing/round_2.go b/smpc/tss/eddsa/signing/round_2.go index 885970e..b50b374 100644 --- a/smpc/tss/eddsa/signing/round_2.go +++ b/smpc/tss/eddsa/signing/round_2.go @@ -23,6 +23,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" "github.com/anyswap/FastMulThreshold-DSA/log" "encoding/json" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) // Start broacast zkR @@ -57,8 +58,9 @@ func (round *round2) Start() error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round2 start,unmarshal SigningRound2 return data error","err",err) return err diff --git a/smpc/tss/eddsa/signing/round_3.go b/smpc/tss/eddsa/signing/round_3.go index 266e826..8a01afd 100644 --- a/smpc/tss/eddsa/signing/round_3.go +++ b/smpc/tss/eddsa/signing/round_3.go @@ -23,6 +23,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" "github.com/anyswap/FastMulThreshold-DSA/log" "encoding/json" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) // Start broacast DR @@ -57,8 +58,9 @@ func (round *round3) Start() error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round3 start,unmarshal SigningRound3 return data error","err",err) return err diff --git a/smpc/tss/eddsa/signing/round_4.go b/smpc/tss/eddsa/signing/round_4.go index 494155c..34de6c7 100644 --- a/smpc/tss/eddsa/signing/round_4.go +++ b/smpc/tss/eddsa/signing/round_4.go @@ -28,6 +28,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/log" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" tsslib "github.com/anyswap/FastMulThreshold-DSA/tss-lib/common" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) // Start verify CR DR xkR,calc lambda1 s @@ -321,8 +322,9 @@ func (round *round4) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round1 start,unmarshal KGRound1 return data error","err",err) return err diff --git a/smpc/tss/eddsa/signing/round_5.go b/smpc/tss/eddsa/signing/round_5.go index 1167f47..ffa41aa 100644 --- a/smpc/tss/eddsa/signing/round_5.go +++ b/smpc/tss/eddsa/signing/round_5.go @@ -22,6 +22,7 @@ import ( "github.com/anyswap/FastMulThreshold-DSA/smpc/tss/smpc" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" "github.com/anyswap/FastMulThreshold-DSA/log" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" "encoding/json" ) @@ -58,8 +59,9 @@ func (round *round5) Start() error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round5 start,unmarshal SigningRound5 return data error","err",err) return err diff --git a/smpc/tss/eddsa/signing/round_6.go b/smpc/tss/eddsa/signing/round_6.go index 7eb394b..54a1eb1 100644 --- a/smpc/tss/eddsa/signing/round_6.go +++ b/smpc/tss/eddsa/signing/round_6.go @@ -28,6 +28,7 @@ import ( tsslib "github.com/anyswap/FastMulThreshold-DSA/tss-lib/common" "github.com/anyswap/FastMulThreshold-DSA/log" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) // Start verify CSB DSB commitment data,broacast current node s to other nodes @@ -227,8 +228,9 @@ func (round *round6) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round6 start,unmarshal SigningRound6 return data error","err",err) return err diff --git a/smpc/tss/eddsa/signing/round_7.go b/smpc/tss/eddsa/signing/round_7.go index ff9eb04..8c30d83 100644 --- a/smpc/tss/eddsa/signing/round_7.go +++ b/smpc/tss/eddsa/signing/round_7.go @@ -26,6 +26,7 @@ import ( "encoding/json" "github.com/anyswap/FastMulThreshold-DSA/smpc/socket" "github.com/anyswap/FastMulThreshold-DSA/log" + "github.com/anyswap/FastMulThreshold-DSA/internal/common" ) // Start calc S and check (R,S) @@ -138,8 +139,9 @@ func (round *round7) ExecTee(curIndex int) error { } kgs := <-round.teeout - msgmap := make(map[string]string) - err = json.Unmarshal([]byte(kgs), &msgmap) + bytesMap := make(map[string][]byte) + err = json.Unmarshal([]byte(kgs), &bytesMap) + msgmap := common.BytesMap2StringMap(bytesMap) if err != nil { log.Error("round7 start,unmarshal SigningRound7 return data error","err",err) return err From b87ecf4bd9fb30ba13816ead9e2d96b75c11b639 Mon Sep 17 00:00:00 2001 From: X Chang Date: Fri, 19 May 2023 17:57:10 +0800 Subject: [PATCH 3/3] change related data type to bytes array --- cmd/gsmpc-lib/main.go | 34 ++++++++++----------- smpc/key_ec.go | 4 +-- smpc/key_ed.go | 2 +- smpc/reqsign.go | 8 ++--- smpc/socket/message.go | 38 ++++++++++++------------ smpc/tss/ecdsa/keygen/local_dnode.go | 10 +++---- smpc/tss/ecdsa/keygen/round_1.go | 8 ++--- smpc/tss/ecdsa/keygen/round_4.go | 10 +++---- smpc/tss/ecdsa/keygen/round_6.go | 4 +-- smpc/tss/ecdsa/keygen/save_data.go | 6 ++-- smpc/tss/ecdsa/signing/local_dnode.go | 6 ++-- smpc/tss/ecdsa/signing/round_1.go | 6 ++-- smpc/tss/ecdsa/signing/signature_data.go | 2 +- smpc/tss/eddsa/keygen/local_dnode.go | 2 +- smpc/tss/eddsa/keygen/round_1.go | 4 +-- smpc/tss/eddsa/keygen/round_6.go | 2 +- smpc/tss/eddsa/keygen/save_data.go | 4 +-- smpc/tss/eddsa/signing/local_dnode.go | 4 +-- 18 files changed, 77 insertions(+), 77 deletions(-) diff --git a/cmd/gsmpc-lib/main.go b/cmd/gsmpc-lib/main.go index 73cba22..6983618 100644 --- a/cmd/gsmpc-lib/main.go +++ b/cmd/gsmpc-lib/main.go @@ -704,7 +704,7 @@ func HandleKGRound2SquareFreeProve(conn net.Conn,content string) { msgmap["Key"] = s.MsgPrex msgmap["KeyType"] = s.KeyType - paisk,err := DecryptPaillierSk(s.PaiSk) + paisk,err := DecryptPaillierSk(string(s.PaiSk)) if err != nil { log.Error("===============server.HandleKGRound2SquareFreeProve,dec paillier sk fail==============","err",err) return @@ -769,7 +769,7 @@ func HandleKGRound2VssShare(conn net.Conn,content string) { msgmap["Key"] = s.MsgPrex msgmap["KeyType"] = s.KeyType - u1Poly,err := DecryptU1Poly(s.U1Poly) + u1Poly,err := DecryptU1Poly(string(s.U1Poly)) if err != nil { return } @@ -1082,12 +1082,12 @@ func HandleKGRound5SquareFee(conn net.Conn,content string) { return } - p1,err := DecryptP1(s.P1) + p1,err := DecryptP1(string(s.P1)) if err != nil { return } - p2,err := DecryptP2(s.P2) + p2,err := DecryptP2(string(s.P2)) if err != nil { return } @@ -1145,12 +1145,12 @@ func HandleKGRound5Hv(conn net.Conn,content string) { return } - p1,err := DecryptP1(s.P1) + p1,err := DecryptP1(string(s.P1)) if err != nil { return } - p2,err := DecryptP2(s.P2) + p2,err := DecryptP2(string(s.P2)) if err != nil { return } @@ -1290,7 +1290,7 @@ func HandleKGRound6Msg(conn net.Conn,content string) { msgmap["Key"] = s.MsgPrex msgmap["KeyType"] = s.KeyType - sk,err := DecryptSk(s.Sk) + sk,err := DecryptSk(string(s.Sk)) if err != nil { return } @@ -1486,7 +1486,7 @@ func HandleSigningRound2PaiEnc(conn net.Conn,content string) { msgmap["Key"] = s.MsgPrex msgmap["KeyType"] = s.KeyType - u1K,err := DecryptU1K(s.U1K) + u1K,err := DecryptU1K(string(s.U1K)) if err != nil { return } @@ -1522,7 +1522,7 @@ func HandleSigningRound2Msg(conn net.Conn,content string) { msgmap["Key"] = s.MsgPrex msgmap["KeyType"] = s.KeyType - u1K,err := DecryptU1K(s.U1K) + u1K,err := DecryptU1K(string(s.U1K)) if err != nil { return } @@ -1767,7 +1767,7 @@ func HandleSigningRound4Msg(conn net.Conn,content string) { msgmap["Key"] = s.MsgPrex msgmap["KeyType"] = s.KeyType - u1Gamma,err := DecryptU1Gamma(s.U1Gamma) + u1Gamma,err := DecryptU1Gamma(string(s.U1Gamma)) if err != nil { return } @@ -1832,7 +1832,7 @@ func HandleSigningRound4Msg1(conn net.Conn,content string) { msgmap["Key"] = s.MsgPrex msgmap["KeyType"] = s.KeyType - w1,err := DecryptU1Gamma(s.W1) + w1,err := DecryptU1Gamma(string(s.W1)) if err != nil { return } @@ -1959,7 +1959,7 @@ func HandleSigningRound5ComCheck(conn net.Conn,content string) { msgmap["ComCheck"] = "TRUE" } - paisk,err := DecryptPaillierSk(s.PaiSk) + paisk,err := DecryptPaillierSk(string(s.PaiSk)) if err != nil { return } @@ -2111,7 +2111,7 @@ func HandleSigningRound6Msg(conn net.Conn,content string) { deltaSum = new(big.Int).Mod(deltaSum, secp256k1.S256(s.KeyType).N1()) msgmap["DeltaSum"] = fmt.Sprintf("%v",deltaSum) - u1Gamma,err := DecryptU1Gamma(s.U1Gamma) + u1Gamma,err := DecryptU1Gamma(string(s.U1Gamma)) if err != nil { return } @@ -2255,7 +2255,7 @@ func HandleSigningRound7Msg(conn net.Conn,content string) { msgmap["deltaGammaGx"] = fmt.Sprintf("%v",deltaGammaGx) msgmap["deltaGammaGy"] = fmt.Sprintf("%v",deltaGammaGy) - u1K,err := DecryptU1Gamma(s.U1K) + u1K,err := DecryptU1Gamma(string(s.U1K)) if err != nil { return } @@ -2275,7 +2275,7 @@ func HandleSigningRound7Msg(conn net.Conn,content string) { NTilde: s.Nt.Ntilde, } - paisk,err := DecryptPaillierSk(s.PaiSk) + paisk,err := DecryptPaillierSk(string(s.PaiSk)) if err != nil { return } @@ -2885,7 +2885,7 @@ func HandleEDKGRound4Msg(conn net.Conn,content string) { ed.ScReduce(&a, &aDigest) } - sk,err := EDKGDecryptSk(s.Sk) + sk,err := EDKGDecryptSk(string(s.Sk)) if err != nil { return } @@ -3585,7 +3585,7 @@ func HandleEDSigningRound4Msg(conn net.Conn,content string) { var s2 [32]byte var sBBytes [32]byte - tsk,err := EDKGDecryptTSk(s.TSk) + tsk,err := EDKGDecryptTSk(string(s.TSk)) if err != nil { return } diff --git a/smpc/key_ec.go b/smpc/key_ec.go index 9249fa0..e692a93 100644 --- a/smpc/key_ec.go +++ b/smpc/key_ec.go @@ -334,7 +334,7 @@ func processKeyGen(msgprex string, errChan chan struct{}, outCh <-chan smpclib.M w.sku1.PushBack(msg.SkU1Enc) s1 = "XXX" s2 = "XXX" - s3 = msg.U1PaillierSkEnc + s3 = string(msg.U1PaillierSkEnc) ss = ss + s1 + common.SepSave + s2 + common.SepSave + s3 + common.SepSave } else { w.sku1.PushBack(string(msg.SkU1.Bytes())) @@ -366,7 +366,7 @@ func processKeyGen(msgprex string, errChan chan struct{}, outCh <-chan smpclib.M ss += common.SepSave ss += "XXX" ss += common.SepSave - ss += msg.U1NtildePrivDataEnc + ss += string(msg.U1NtildePrivDataEnc) ss += common.SepSave } else { ss += string(msg.U1NtildePrivData.Alpha.Bytes()) diff --git a/smpc/key_ed.go b/smpc/key_ed.go index df4f449..17430c4 100644 --- a/smpc/key_ed.go +++ b/smpc/key_ed.go @@ -404,7 +404,7 @@ func processKeyGenEDDSA(msgprex string, errChan chan struct{}, outCh <-chan smpc w.edsku1.PushBack(msg.SkEnc) w.edpk.PushBack(string(msg.FinalPkBytes[:])) - s := "XXX" + common.Sep11 + string(msg.Pk[:]) + common.Sep11 + msg.TSkEnc + common.Sep11 + string(msg.FinalPkBytes[:]) + s := "XXX" + common.Sep11 + string(msg.Pk[:]) + common.Sep11 + string(msg.TSkEnc) + common.Sep11 + string(msg.FinalPkBytes[:]) w.edsave.PushBack(string(s)) } else { w.edsku1.PushBack(string(msg.Sk[:])) diff --git a/smpc/reqsign.go b/smpc/reqsign.go index 2096233..593790d 100644 --- a/smpc/reqsign.go +++ b/smpc/reqsign.go @@ -1812,7 +1812,7 @@ func PreSignEC3(msgprex string, save string, sku1 *big.Int, pkx *big.Int,pky *bi } if Tee { - sd.U1PaillierSkEnc = GetCurNodePaillierSkFromSaveDataTee(save) + sd.U1PaillierSkEnc = []byte(GetCurNodePaillierSkFromSaveDataTee(save)) } else { sd.U1PaillierSk = GetCurNodePaillierSkFromSaveData(save, pubs.GroupID, cointype) } @@ -1970,7 +1970,7 @@ func SignEC3(msgprex string, message string, cointype string, save string, pkx * sd.SkU1 = sku1 if Tee { - sd.U1PaillierSkEnc = GetCurNodePaillierSkFromSaveDataTee(save) + sd.U1PaillierSkEnc = []byte(GetCurNodePaillierSkFromSaveDataTee(save)) } else { sd.U1PaillierSk = GetCurNodePaillierSkFromSaveData(save, pubs.GroupID, cointype) } @@ -2409,8 +2409,8 @@ func SignED(msgprex string, save string, sku1 *big.Int, message string, cointype sd := &edkeygen.LocalDNodeSaveData{} if Tee { - sd.SkEnc = string(sku1.Bytes()) - sd.TSkEnc = mm[2] + sd.SkEnc = sku1.Bytes() + sd.TSkEnc = []byte(mm[2]) } else { var sk [32]byte va := sku1.Bytes() diff --git a/smpc/socket/message.go b/smpc/socket/message.go index 51d2811..975f5ac 100644 --- a/smpc/socket/message.go +++ b/smpc/socket/message.go @@ -198,7 +198,7 @@ func (kg *KGRound1Msg) GetMsgType() string { type KGRound2SquareFreeProve struct { Base - PaiSk string + PaiSk []byte } func (kg *KGRound2SquareFreeProve) SetBase(kt string,keyid string) { @@ -223,7 +223,7 @@ func (kg *KGRound2SquareFreeProve) GetMsgType() string { type KGRound2VssShare struct { Base - U1Poly string + U1Poly []byte IDs []*big.Int } @@ -466,8 +466,8 @@ type KGRound5SquareFee struct { Base Ntilde *big.Int - P1 string - P2 string + P1 []byte + P2 []byte } func (kg *KGRound5SquareFee) SetBase(kt string,keyid string) { @@ -492,8 +492,8 @@ type KGRound5Hv struct { Base Ntilde *big.Int - P1 string - P2 string + P1 []byte + P2 []byte } func (kg *KGRound5Hv) SetBase(kt string,keyid string) { @@ -594,7 +594,7 @@ func (kg *KGRound6HvCheck) GetMsgType() string { type KGRound6Msg struct { Base - Sk string + Sk []byte } func (kg *KGRound6Msg) SetBase(kt string,keyid string) { @@ -670,7 +670,7 @@ func (kg *SigningRound1Msg) GetMsgType() string { type SigningRound2PaiEnc struct { Base - U1K string + U1K []byte U1PaillierPk *ec2.PublicKey } @@ -696,7 +696,7 @@ type SigningRound2Msg struct { Base UKC *big.Int - U1K string + U1K []byte UKC2 *big.Int U1PaiPK *ec2.PublicKey U1Nt *ec2.NtildeH1H2 @@ -823,7 +823,7 @@ type SigningRound4Msg struct { Base KC *big.Int - U1Gamma string + U1Gamma []byte CurPaiPk *ec2.PublicKey BetaStar *big.Int UKC *big.Int @@ -853,7 +853,7 @@ type SigningRound4Msg1 struct { Base KC *big.Int - W1 string + W1 []byte CurPaiPk *ec2.PublicKey VU1Star *big.Int UKC *big.Int @@ -918,7 +918,7 @@ type SigningRound5ComCheck struct { PaiPk *ec2.PublicKey Nt *ec2.NtildeH1H2 //PaiSk *ec2.PrivateKey - PaiSk string + PaiSk []byte U1KGamma1Cipher *big.Int } @@ -972,7 +972,7 @@ type SigningRound6Msg struct { Base Delt []*big.Int - U1Gamma string + U1Gamma []byte } func (kg *SigningRound6Msg) SetBase(kt string,keyid string) { @@ -1051,12 +1051,12 @@ type SigningRound7Msg struct { DeltaSum *big.Int GammaX *big.Int GammaY *big.Int - U1K string + U1K []byte PaiPk *ec2.PublicKey Nt *ec2.NtildeH1H2 UKC *big.Int //PaiSk *ec2.PrivateKey - PaiSk string + PaiSk []byte U1Ra *big.Int } @@ -1369,7 +1369,7 @@ type EDKGRound4Msg struct { ThresHold int DnodeCount int //Sk [32]byte - Sk string + Sk []byte Ids []*big.Int } @@ -1471,8 +1471,8 @@ func (kg *EDKGRound6Msg) GetMsgType() string { type EDSigningRound1Msg struct { Base - Sk string - TSk string + Sk []byte + TSk []byte FinalPkBytes [32]byte IDs []*big.Int } @@ -1550,7 +1550,7 @@ type EDSigningRound4Msg struct { CurDNodeID *big.Int IdSign []*big.Int Index int - TSk string + TSk []byte R [32]byte } diff --git a/smpc/tss/ecdsa/keygen/local_dnode.go b/smpc/tss/ecdsa/keygen/local_dnode.go index bdec3e5..acc45a1 100644 --- a/smpc/tss/ecdsa/keygen/local_dnode.go +++ b/smpc/tss/ecdsa/keygen/local_dnode.go @@ -65,16 +65,16 @@ type localTempData struct { u1PolyG *ec2.PolyGStruct2 commitU1G *ec2.Commitment c1 *big.Int - c1Enc string + c1Enc []byte commitC1G *ec2.Commitment u1PaillierPk *ec2.PublicKey u1PaillierSk *ec2.PrivateKey u1PaillierSkEnc []byte // paillier.N = p*q p *big.Int - pEnc string + pEnc []byte q *big.Int - qEnc string + qEnc []byte //round 2 u1Shares []*ec2.ShareStruct2 @@ -84,9 +84,9 @@ type localTempData struct { //round 4 // Ntilde = p1*p2 p1 *big.Int - p1Enc string + p1Enc []byte p2 *big.Int - p2Enc string + p2Enc []byte commitXiG *ec2.Commitment //round 5 diff --git a/smpc/tss/ecdsa/keygen/round_1.go b/smpc/tss/ecdsa/keygen/round_1.go index f698766..9ebda66 100644 --- a/smpc/tss/ecdsa/keygen/round_1.go +++ b/smpc/tss/ecdsa/keygen/round_1.go @@ -258,10 +258,10 @@ func (round *round1) ExecTee(index int) error { //round.temp.q = q //round.Save.U1PaillierSk = paisk round.Save.U1PaillierPk[index] = pub - round.temp.u1PaillierSkEnc = msgmap["U1PaillierSk"] - round.temp.pEnc = msgmap["P"] - round.temp.qEnc = msgmap["Q"] - round.Save.U1PaillierSkEnc = msgmap["U1PaillierSk"] + round.temp.u1PaillierSkEnc = []byte(msgmap["U1PaillierSk"]) + round.temp.pEnc = []byte(msgmap["P"]) + round.temp.qEnc = []byte(msgmap["Q"]) + round.Save.U1PaillierSkEnc = []byte(msgmap["U1PaillierSk"]) kg := &KGRound1Message{ KGRoundMessage: new(KGRoundMessage), diff --git a/smpc/tss/ecdsa/keygen/round_4.go b/smpc/tss/ecdsa/keygen/round_4.go index 4d17fdb..dbe5382 100644 --- a/smpc/tss/ecdsa/keygen/round_4.go +++ b/smpc/tss/ecdsa/keygen/round_4.go @@ -328,22 +328,22 @@ func (round *round4) ExecTee(curIndex int) error { var pkx *big.Int var pky *big.Int var c *big.Int - var skU1 string + var skU1 []byte pkx,_ = new(big.Int).SetString(msgmap["PKX"],10) pky,_ = new(big.Int).SetString(msgmap["PKY"],10) c,_ = new(big.Int).SetString(msgmap["C"],10) - skU1 = msgmap["SKU1"] + skU1 = []byte(msgmap["SKU1"]) round.Save.Pkx = pkx round.Save.Pky = pky round.Save.C = c round.Save.SkU1Enc = skU1 - round.Save.U1NtildePrivDataEnc = msgmap["U1NtildePrivData"] + round.Save.U1NtildePrivDataEnc = []byte(msgmap["U1NtildePrivData"]) - round.temp.p1Enc = msgmap["P1"] - round.temp.p2Enc = msgmap["P2"] + round.temp.p1Enc = []byte(msgmap["P1"]) + round.temp.p2Enc = []byte(msgmap["P2"]) com := &ec2.Commitment{} if err := json.Unmarshal([]byte(msgmap["CommitXiG"]),com);err != nil { diff --git a/smpc/tss/ecdsa/keygen/round_6.go b/smpc/tss/ecdsa/keygen/round_6.go index 3416ea3..cad4400 100644 --- a/smpc/tss/ecdsa/keygen/round_6.go +++ b/smpc/tss/ecdsa/keygen/round_6.go @@ -292,8 +292,8 @@ func (round *round6) ExecTee(curIndex int) error { } /////////// - round.temp.p1Enc = "" - round.temp.p2Enc = "" + round.temp.p1Enc = []byte("") + round.temp.p2Enc = []byte("") s := &socket.KGRound6Msg{Sk:round.Save.SkU1Enc} s.Base.SetBase(round.keytype,round.msgprex) diff --git a/smpc/tss/ecdsa/keygen/save_data.go b/smpc/tss/ecdsa/keygen/save_data.go index c136a63..bfe11cf 100644 --- a/smpc/tss/ecdsa/keygen/save_data.go +++ b/smpc/tss/ecdsa/keygen/save_data.go @@ -33,12 +33,12 @@ type LocalDNodeSaveData struct { CEnc string SkU1 *big.Int - SkU1Enc string + SkU1Enc []byte U1PaillierSk *ec2.PrivateKey - U1PaillierSkEnc string + U1PaillierSkEnc []byte U1PaillierPk []*ec2.PublicKey U1NtildePrivData *ec2.NtildePrivData - U1NtildePrivDataEnc string + U1NtildePrivDataEnc []byte U1NtildeH1H2 []*ec2.NtildeH1H2 IDs smpc.SortableIDSSlice diff --git a/smpc/tss/ecdsa/signing/local_dnode.go b/smpc/tss/ecdsa/signing/local_dnode.go index ffbe0bb..967c8e1 100644 --- a/smpc/tss/ecdsa/signing/local_dnode.go +++ b/smpc/tss/ecdsa/signing/local_dnode.go @@ -59,11 +59,11 @@ type localTempData struct { //round 1 w1 *big.Int - w1Enc string + w1Enc []byte u1K *big.Int - u1KEnc string + u1KEnc []byte u1Gamma *big.Int - u1GammaEnc string + u1GammaEnc []byte commitU1GammaG *ec2.Commitment commitwiG *ec2.Commitment diff --git a/smpc/tss/ecdsa/signing/round_1.go b/smpc/tss/ecdsa/signing/round_1.go index 070d3c5..7b2cc8e 100644 --- a/smpc/tss/ecdsa/signing/round_1.go +++ b/smpc/tss/ecdsa/signing/round_1.go @@ -196,12 +196,12 @@ func (round *round1) ExecTee(curIndex int) error { } //round.temp.w1 = w1 - round.temp.w1Enc = msgmap["W1"] + round.temp.w1Enc = []byte(msgmap["W1"]) round.temp.commitwiG = commitwiG //round.temp.u1K = u1K - round.temp.u1KEnc = msgmap["U1K"] + round.temp.u1KEnc = []byte(msgmap["U1K"]) //round.temp.u1Gamma = u1Gamma - round.temp.u1GammaEnc = msgmap["U1Gamma"] + round.temp.u1GammaEnc = []byte(msgmap["U1Gamma"]) round.temp.commitU1GammaG = commitU1GammaG vdata := msgmap["TeeValidateData"] diff --git a/smpc/tss/ecdsa/signing/signature_data.go b/smpc/tss/ecdsa/signing/signature_data.go index e4749f7..865ff3f 100644 --- a/smpc/tss/ecdsa/signing/signature_data.go +++ b/smpc/tss/ecdsa/signing/signature_data.go @@ -23,7 +23,7 @@ import ( // PrePubData pre-sign data type PrePubData struct { K1 *big.Int - K1Enc string + K1Enc []byte R *big.Int Ry *big.Int Sigma1 *big.Int diff --git a/smpc/tss/eddsa/keygen/local_dnode.go b/smpc/tss/eddsa/keygen/local_dnode.go index 282a9fb..4952fd1 100644 --- a/smpc/tss/eddsa/keygen/local_dnode.go +++ b/smpc/tss/eddsa/keygen/local_dnode.go @@ -49,7 +49,7 @@ type localTempData struct { //round 1 sk [32]byte - skEnc string + skEnc []byte pk [32]byte DPk [64]byte zkPk [64]byte diff --git a/smpc/tss/eddsa/keygen/round_1.go b/smpc/tss/eddsa/keygen/round_1.go index 84ca60f..e91f44b 100644 --- a/smpc/tss/eddsa/keygen/round_1.go +++ b/smpc/tss/eddsa/keygen/round_1.go @@ -203,7 +203,7 @@ func (round *round1) ExecTee(index int) error { copy(CPk[:],tmp[:]) //round.temp.sk = sk - round.temp.skEnc = msgmap["sk"] + round.temp.skEnc = []byte(msgmap["sk"]) round.temp.pk = pk round.temp.DPk = DPk round.temp.zkPk = zkPk @@ -217,7 +217,7 @@ func (round *round1) ExecTee(index int) error { kg.SetTeeValidateData(msgmap["TeeValidateData"]) //round.Save.Sk = sk - round.Save.SkEnc = msgmap["sk"] + round.Save.SkEnc = []byte(msgmap["sk"]) round.Save.Pk = pk round.temp.kgRound1Messages[index] = kg round.out <- kg diff --git a/smpc/tss/eddsa/keygen/round_6.go b/smpc/tss/eddsa/keygen/round_6.go index efe669e..62d4219 100644 --- a/smpc/tss/eddsa/keygen/round_6.go +++ b/smpc/tss/eddsa/keygen/round_6.go @@ -382,7 +382,7 @@ func (round *round6) ExecTee(curIndex int) error { var finalPkBytes [32]byte copy(finalPkBytes[:],tmp[:]) - round.Save.TSkEnc = msgmap["tSk"] + round.Save.TSkEnc = []byte(msgmap["tSk"]) round.Save.FinalPkBytes = finalPkBytes round.end <- *round.Save diff --git a/smpc/tss/eddsa/keygen/save_data.go b/smpc/tss/eddsa/keygen/save_data.go index 7ef4d50..09abb87 100644 --- a/smpc/tss/eddsa/keygen/save_data.go +++ b/smpc/tss/eddsa/keygen/save_data.go @@ -28,10 +28,10 @@ import ( type LocalDNodeSaveData struct { // Sk [32]byte - SkEnc string + SkEnc []byte Pk [32]byte TSk [32]byte - TSkEnc string + TSkEnc []byte FinalPkBytes [32]byte // diff --git a/smpc/tss/eddsa/signing/local_dnode.go b/smpc/tss/eddsa/signing/local_dnode.go index 33df4d7..dddd264 100644 --- a/smpc/tss/eddsa/signing/local_dnode.go +++ b/smpc/tss/eddsa/signing/local_dnode.go @@ -55,9 +55,9 @@ type localTempData struct { //round 1 uids [][32]byte sk [32]byte - skEnc string + skEnc []byte tsk [32]byte - tskEnc string + tskEnc []byte pkfinal [32]byte message []byte keyType string