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