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