ecdh_test.go raw
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 "testing"
10
11 "next.orly.dev/pkg/nostr/utils"
12 )
13
14 func TestGenerateSharedSecret(t *testing.T) {
15 secKey1, err := GenerateSecretKey()
16 if err != nil {
17 t.Errorf("secret key generation error: %s", err)
18 return
19 }
20 secKey2, err := GenerateSecretKey()
21 if err != nil {
22 t.Errorf("secret key generation error: %s", err)
23 return
24 }
25 pubKey1 := secKey1.PubKey()
26 pubKey2 := secKey2.PubKey()
27 secret1 := GenerateSharedSecret(secKey1, pubKey2)
28 secret2 := GenerateSharedSecret(secKey2, pubKey1)
29 if !utils.FastEqual(secret1, secret2) {
30 t.Errorf(
31 "ECDH failed, secrets mismatch - first: %x, second: %x",
32 secret1, secret2,
33 )
34 }
35 }
36