From e69072e96bfc8c0dfc4bc88b745d5d8675d13a38 Mon Sep 17 00:00:00 2001 From: Henry de Valence Date: Wed, 8 May 2019 22:16:04 -0700 Subject: [PATCH] internal/ed25519: extract common test variables --- internal/edwards25519/scalarMul_test.go | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/internal/edwards25519/scalarMul_test.go b/internal/edwards25519/scalarMul_test.go index 2bd4a88..68745ff 100644 --- a/internal/edwards25519/scalarMul_test.go +++ b/internal/edwards25519/scalarMul_test.go @@ -11,6 +11,16 @@ import ( // times. The default value of -quickchecks is 100. var ( quickCheckConfig = &quick.Config{MaxCountScale: 1 << 10} + + // a random scalar generated using dalek. + dalekScalar = scalar.Scalar([32]byte{219, 106, 114, 9, 174, 249, 155, 89, 69, 203, 201, 93, 92, 116, 234, 187, 78, 115, 103, 172, 182, 98, 62, 103, 187, 136, 13, 100, 248, 110, 12, 4}) + // the above, times the Ed25519 basepoint. + dalekScalarBasepoint = ProjP3{ + X: radix51.FieldElement([5]uint64{778774234987948, 1589187156384239, 1213330452914652, 186161118421127, 2186284806803213}), + Y: radix51.FieldElement([5]uint64{1241255309069369, 1115278942994853, 1016511918109334, 1303231926552315, 1801448517689873}), + Z: radix51.FieldElement([5]uint64{353337085654440, 1327844406437681, 2207296012811921, 707394926933424, 917408459573183}), + T: radix51.FieldElement([5]uint64{585487439439725, 1792815221887900, 946062846079052, 1954901232609667, 1418300670001780}), + } ) func TestScalarMulSmallScalars(t *testing.T) { @@ -31,17 +41,9 @@ func TestScalarMulSmallScalars(t *testing.T) { } func TestScalarMulVsDalek(t *testing.T) { - expected := ProjP3{ - X: radix51.FieldElement([5]uint64{778774234987948, 1589187156384239, 1213330452914652, 186161118421127, 2186284806803213}), - Y: radix51.FieldElement([5]uint64{1241255309069369, 1115278942994853, 1016511918109334, 1303231926552315, 1801448517689873}), - Z: radix51.FieldElement([5]uint64{353337085654440, 1327844406437681, 2207296012811921, 707394926933424, 917408459573183}), - T: radix51.FieldElement([5]uint64{585487439439725, 1792815221887900, 946062846079052, 1954901232609667, 1418300670001780}), - } - z := scalar.Scalar([32]byte{219, 106, 114, 9, 174, 249, 155, 89, 69, 203, 201, 93, 92, 116, 234, 187, 78, 115, 103, 172, 182, 98, 62, 103, 187, 136, 13, 100, 248, 110, 12, 4}) - var p ProjP3 - p.ScalarMul(&z, &B) - if expected.Equal(&p) != 1 { + p.ScalarMul(&dalekScalar, &B) + if dalekScalarBasepoint.Equal(&p) != 1 { t.Error("Scalar mul does not match dalek") } }