You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
853 B
35 lines
853 B
// Copyright (c) 2015-2016 The btcsuite developers |
|
// Copyright (c) 2015-2017 The Decred developers |
|
// Use of this source code is governed by an ISC |
|
// license that can be found in the LICENSE file. |
|
|
|
package secp256k1 |
|
|
|
import ( |
|
"testing" |
|
|
|
"next.orly.dev/pkg/utils" |
|
) |
|
|
|
func TestGenerateSharedSecret(t *testing.T) { |
|
secKey1, err := GenerateSecretKey() |
|
if err != nil { |
|
t.Errorf("secret key generation error: %s", err) |
|
return |
|
} |
|
secKey2, err := GenerateSecretKey() |
|
if err != nil { |
|
t.Errorf("secret key generation error: %s", err) |
|
return |
|
} |
|
pubKey1 := secKey1.PubKey() |
|
pubKey2 := secKey2.PubKey() |
|
secret1 := GenerateSharedSecret(secKey1, pubKey2) |
|
secret2 := GenerateSharedSecret(secKey2, pubKey1) |
|
if !utils.FastEqual(secret1, secret2) { |
|
t.Errorf( |
|
"ECDH failed, secrets mismatch - first: %x, second: %x", |
|
secret1, secret2, |
|
) |
|
} |
|
}
|
|
|