2016-10-19 00:48:05 -05:00
|
|
|
// Copyright (c) 2015-2016 The btcsuite developers
|
2015-04-09 18:13:35 -04:00
|
|
|
// Use of this source code is governed by an ISC
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
2016-10-19 00:48:05 -05:00
|
|
|
package btcec
|
2015-04-09 18:13:35 -04:00
|
|
|
|
|
|
|
import (
|
|
|
|
"bytes"
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestGenerateSharedSecret(t *testing.T) {
|
2021-11-18 18:25:56 -08:00
|
|
|
privKey1, err := NewPrivateKey()
|
2015-04-09 18:13:35 -04:00
|
|
|
if err != nil {
|
|
|
|
t.Errorf("private key generation error: %s", err)
|
|
|
|
return
|
|
|
|
}
|
2021-11-18 18:25:56 -08:00
|
|
|
privKey2, err := NewPrivateKey()
|
2015-04-09 18:13:35 -04:00
|
|
|
if err != nil {
|
|
|
|
t.Errorf("private key generation error: %s", err)
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2016-10-19 00:48:05 -05:00
|
|
|
secret1 := GenerateSharedSecret(privKey1, privKey2.PubKey())
|
|
|
|
secret2 := GenerateSharedSecret(privKey2, privKey1.PubKey())
|
2015-04-09 18:13:35 -04:00
|
|
|
|
|
|
|
if !bytes.Equal(secret1, secret2) {
|
|
|
|
t.Errorf("ECDH failed, secrets mismatch - first: %x, second: %x",
|
|
|
|
secret1, secret2)
|
|
|
|
}
|
|
|
|
}
|