diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-12-02 20:19:33 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-12-02 20:19:33 +0800 |
commit | 888e7bc765acc6bfe0b8afc4ecd9830394b0a026 (patch) | |
tree | 5a27f4efd453c776f35ace6ae08c28c11417f9d5 /p2p | |
parent | 8db9d44ca9fb6baf406256cae491c475de2f4989 (diff) | |
parent | c8ad64f33cd04fc10ac6681260ea06e464908c91 (diff) | |
download | go-tangerine-888e7bc765acc6bfe0b8afc4ecd9830394b0a026.tar go-tangerine-888e7bc765acc6bfe0b8afc4ecd9830394b0a026.tar.gz go-tangerine-888e7bc765acc6bfe0b8afc4ecd9830394b0a026.tar.bz2 go-tangerine-888e7bc765acc6bfe0b8afc4ecd9830394b0a026.tar.lz go-tangerine-888e7bc765acc6bfe0b8afc4ecd9830394b0a026.tar.xz go-tangerine-888e7bc765acc6bfe0b8afc4ecd9830394b0a026.tar.zst go-tangerine-888e7bc765acc6bfe0b8afc4ecd9830394b0a026.zip |
Merge pull request #1862 from Gustav-Simonsson/libsecp256k1_ecdh
crypto, crypto/secp256k1: use libsecp256k1 for scalar multiplication
Diffstat (limited to 'p2p')
-rw-r--r-- | p2p/discover/node.go | 2 | ||||
-rw-r--r-- | p2p/rlpx.go | 4 | ||||
-rw-r--r-- | p2p/rlpx_test.go | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/p2p/discover/node.go b/p2p/discover/node.go index a14f29424..dd19df3a2 100644 --- a/p2p/discover/node.go +++ b/p2p/discover/node.go @@ -210,7 +210,7 @@ func PubkeyID(pub *ecdsa.PublicKey) NodeID { // Pubkey returns the public key represented by the node ID. // It returns an error if the ID is not a point on the curve. func (id NodeID) Pubkey() (*ecdsa.PublicKey, error) { - p := &ecdsa.PublicKey{Curve: crypto.S256(), X: new(big.Int), Y: new(big.Int)} + p := &ecdsa.PublicKey{Curve: secp256k1.S256(), X: new(big.Int), Y: new(big.Int)} half := len(id) / 2 p.X.SetBytes(id[:half]) p.Y.SetBytes(id[half:]) diff --git a/p2p/rlpx.go b/p2p/rlpx.go index aaa733854..8f429d6ec 100644 --- a/p2p/rlpx.go +++ b/p2p/rlpx.go @@ -277,7 +277,7 @@ func newInitiatorHandshake(remoteID discover.NodeID) (*encHandshake, error) { return nil, err } // generate random keypair to use for signing - randpriv, err := ecies.GenerateKey(rand.Reader, crypto.S256(), nil) + randpriv, err := ecies.GenerateKey(rand.Reader, secp256k1.S256(), nil) if err != nil { return nil, err } @@ -376,7 +376,7 @@ func decodeAuthMsg(prv *ecdsa.PrivateKey, token []byte, auth []byte) (*encHandsh var err error h := new(encHandshake) // generate random keypair for session - h.randomPrivKey, err = ecies.GenerateKey(rand.Reader, crypto.S256(), nil) + h.randomPrivKey, err = ecies.GenerateKey(rand.Reader, secp256k1.S256(), nil) if err != nil { return nil, err } diff --git a/p2p/rlpx_test.go b/p2p/rlpx_test.go index 900353f0e..7cc7548e2 100644 --- a/p2p/rlpx_test.go +++ b/p2p/rlpx_test.go @@ -93,6 +93,7 @@ func testEncHandshake(token []byte) error { go func() { r := result{side: "initiator"} defer func() { output <- r }() + defer fd0.Close() dest := &discover.Node{ID: discover.PubkeyID(&prv1.PublicKey)} r.id, r.err = c0.doEncHandshake(prv0, dest) @@ -107,6 +108,7 @@ func testEncHandshake(token []byte) error { go func() { r := result{side: "receiver"} defer func() { output <- r }() + defer fd1.Close() r.id, r.err = c1.doEncHandshake(prv1, nil) if r.err != nil { |