github.com/piotrnar/gocoin@v0.0.0-20240512203912-faa0448c5e96/lib/secp256k1/xyz_test.go (about)

     1  package secp256k1
     2  
     3  import (
     4  	"testing"
     5  )
     6  
     7  
     8  func _TestGejDouble(t *testing.T) {
     9  	var a, a_exp, r XYZ
    10  	a.X.SetHex("79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798")
    11  	a.Y.SetHex("483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")
    12  	a.Z.SetHex("01")
    13  	a_exp.X.SetHex("7D152C041EA8E1DC2191843D1FA9DB55B68F88FEF695E2C791D40444B365AFC2")
    14  	a_exp.Y.SetHex("56915849F52CC8F76F5FD7E4BF60DB4A43BF633E1B1383F85FE89164BFADCBDB")
    15  	a_exp.Z.SetHex("9075B4EE4D4788CABB49F7F81C221151FA2F68914D0AA833388FA11FF621A970")
    16  
    17  	a.Double(&r)
    18  	if !r.Equals(&a_exp) {
    19  		t.Error("gej.Double failed")
    20  	}
    21  }
    22  
    23  func TestGejMulLambda(t *testing.T) {
    24  	var a, a_exp XYZ
    25  	a.X.SetHex("0eaebcd1df2df853d66ce0e1b0fda07f67d1cabefde98514aad795b86a6ea66d")
    26  	a.Y.SetHex("beb26b67d7a00e2447baeccc8a4cef7cd3cad67376ac1c5785aeebb4f6441c16")
    27  	a.Z.SetHex("01")
    28  	a_exp.X.SetHex("a45720c272cfa1f77f64be8a404a7d3149bd5410f9a173353f6eb75a5085ba98")
    29  	a_exp.Y.SetHex("beb26b67d7a00e2447baeccc8a4cef7cd3cad67376ac1c5785aeebb4f6441c16")
    30  	a_exp.Z.SetHex("01")
    31  	a_lam := a
    32  	a_lam.mul_lambda(&a_lam)
    33  	if !a_lam.Equals(&a_exp) {
    34  		t.Error("mul_lambda failed")
    35  	}
    36  }
    37  
    38  func TestGejGetX(t *testing.T) {
    39  	var a XYZ
    40  	var X, exp Field
    41  	a.X.SetHex("EB6752420B6BDB40A760AC26ADD7E7BBD080BF1DF6C0B009A0D310E4511BDF49")
    42  	a.Y.SetHex("8E8CEB84E1502FC536FFE67967BC44314270A0B38C79865FFED5A85D138DCA6B")
    43  	a.Z.SetHex("813925AF112AAB8243F8CCBADE4CC7F63DF387263028DE6E679232A73A7F3C31")
    44  
    45  	exp.SetHex("fe00e013c244062847045ae7eb73b03fca583e9aa5dbd030a8fd1c6dfcf11b10")
    46  	a.get_x(&X)
    47  	if !X.Equals(&exp) {
    48  		t.Error("get.get_x() fail")
    49  	}
    50  }
    51  
    52