...

Source file src/github.com/decred/dcrd/dcrec/secp256k1/v4/ecdh_test.go

Documentation: github.com/decred/dcrd/dcrec/secp256k1/v4

     1  // Copyright (c) 2015-2016 The btcsuite developers
     2  // Copyright (c) 2015-2017 The Decred developers
     3  // Use of this source code is governed by an ISC
     4  // license that can be found in the LICENSE file.
     5  
     6  package secp256k1
     7  
     8  import (
     9  	"bytes"
    10  	"testing"
    11  )
    12  
    13  func TestGenerateSharedSecret(t *testing.T) {
    14  	privKey1, err := GeneratePrivateKey()
    15  	if err != nil {
    16  		t.Errorf("private key generation error: %s", err)
    17  		return
    18  	}
    19  	privKey2, err := GeneratePrivateKey()
    20  	if err != nil {
    21  		t.Errorf("private key generation error: %s", err)
    22  		return
    23  	}
    24  
    25  	pubKey1 := privKey1.PubKey()
    26  	pubKey2 := privKey2.PubKey()
    27  	secret1 := GenerateSharedSecret(privKey1, pubKey2)
    28  	secret2 := GenerateSharedSecret(privKey2, pubKey1)
    29  	if !bytes.Equal(secret1, secret2) {
    30  		t.Errorf("ECDH failed, secrets mismatch - first: %x, second: %x",
    31  			secret1, secret2)
    32  	}
    33  }
    34  

View as plain text