From af6c23d07003b071f304cdc022c2679bf2f2747f Mon Sep 17 00:00:00 2001 From: Henry de Valence Date: Wed, 8 May 2019 21:25:55 -0700 Subject: [PATCH] internal/ed25519: move basepoint constant & correct it The new values are extracted from the dalek test vectors. --- internal/edwards25519/edwards25519_test.go | 17 ++++++++++------- internal/edwards25519/tables_test.go | 10 ---------- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/internal/edwards25519/edwards25519_test.go b/internal/edwards25519/edwards25519_test.go index 2d91797..6ee0cf5 100644 --- a/internal/edwards25519/edwards25519_test.go +++ b/internal/edwards25519/edwards25519_test.go @@ -5,19 +5,22 @@ import ( "testing" ) +var ( + // The Ed25519 basepoint. + B = ProjP3{ + X: radix51.FieldElement([5]uint64{1738742601995546, 1146398526822698, 2070867633025821, 562264141797630, 587772402128613}), + Y: radix51.FieldElement([5]uint64{1801439850948184, 1351079888211148, 450359962737049, 900719925474099, 1801439850948198}), + Z: radix51.FieldElement([5]uint64{1, 0, 0, 0, 0}), + T: radix51.FieldElement([5]uint64{1841354044333475, 16398895984059, 755974180946558, 900171276175154, 1821297809914039}), + } +) + func TestAddSubNegOnBasePoint(t *testing.T) { var B, Bneg ProjP3 var tmpP2 ProjP2 var tmpP1xP1 ProjP1xP1 var tmpCached ProjCached - B = ProjP3{ - X: radix51.FieldElement([5]uint64{426475514619346, 2063872706840040, 14628272888959, 107677749330612, 288339085807592}), - Y: radix51.FieldElement([5]uint64{1934594822876571, 2049809580636559, 1991994783322914, 1758681962032007, 380046701118659}), - Z: radix51.FieldElement([5]uint64{1, 0, 0, 0, 0}), - T: radix51.FieldElement([5]uint64{410445769351754, 2235400917701188, 1495825632738689, 1351628537510093, 430502003771208}), - } - Bneg.Neg(&B) var checkLhs, checkRhs, zero ProjP3 diff --git a/internal/edwards25519/tables_test.go b/internal/edwards25519/tables_test.go index 0a61e80..0bffacb 100644 --- a/internal/edwards25519/tables_test.go +++ b/internal/edwards25519/tables_test.go @@ -1,19 +1,9 @@ package edwards25519 import ( - "github.com/gtank/ristretto255/internal/radix51" "testing" ) -var ( - B = ProjP3{ - X: radix51.FieldElement([5]uint64{426475514619346, 2063872706840040, 14628272888959, 107677749330612, 288339085807592}), - Y: radix51.FieldElement([5]uint64{1934594822876571, 2049809580636559, 1991994783322914, 1758681962032007, 380046701118659}), - Z: radix51.FieldElement([5]uint64{1, 0, 0, 0, 0}), - T: radix51.FieldElement([5]uint64{410445769351754, 2235400917701188, 1495825632738689, 1351628537510093, 430502003771208}), - } -) - func TestProjLookupTable(t *testing.T) { var table ProjLookupTable table.FromP3(&B)