From deff5edd425bf9aee5ecf5439292347a75ce304f Mon Sep 17 00:00:00 2001 From: Russell O'Connor Date: Fri, 6 Jul 2018 07:53:32 -0400 Subject: [PATCH] Correct math typos in field_*.h --- src/field_10x26.h | 4 +++- src/field_10x26_impl.h | 3 ++- src/field_5x52.h | 4 +++- src/field_5x52_int128_impl.h | 3 ++- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/field_10x26.h b/src/field_10x26.h index 727c5267fbb5f..5ff03c8abcc05 100644 --- a/src/field_10x26.h +++ b/src/field_10x26.h @@ -10,7 +10,9 @@ #include typedef struct { - /* X = sum(i=0..9, elem[i]*2^26) mod n */ + /* X = sum(i=0..9, n[i]*2^(i*26)) mod p + * where p = 2^256 - 0x1000003D1 + */ uint32_t n[10]; #ifdef VERIFY int magnitude; diff --git a/src/field_10x26_impl.h b/src/field_10x26_impl.h index 57613576d89de..d840825c3f461 100644 --- a/src/field_10x26_impl.h +++ b/src/field_10x26_impl.h @@ -486,7 +486,8 @@ SECP256K1_INLINE static void secp256k1_fe_mul_inner(uint32_t *r, const uint32_t VERIFY_BITS(b[9], 26); /** [... a b c] is a shorthand for ... + a<<52 + b<<26 + c<<0 mod n. - * px is a shorthand for sum(a[i]*b[x-i], i=0..x). + * for 0 <= x <= 9, px is a shorthand for sum(a[i]*b[x-i], i=0..x). + * for 9 <= x <= 18, px is a shorthand for sum(a[i]*b[x-i], i=(x-9)..9) * Note that [x 0 0 0 0 0 0 0 0 0 0] = [x*R1 x*R0]. */ diff --git a/src/field_5x52.h b/src/field_5x52.h index bccd8feb4dde6..fc5bfe357e705 100644 --- a/src/field_5x52.h +++ b/src/field_5x52.h @@ -10,7 +10,9 @@ #include typedef struct { - /* X = sum(i=0..4, elem[i]*2^52) mod n */ + /* X = sum(i=0..4, n[i]*2^(i*52)) mod p + * where p = 2^256 - 0x1000003D1 + */ uint64_t n[5]; #ifdef VERIFY int magnitude; diff --git a/src/field_5x52_int128_impl.h b/src/field_5x52_int128_impl.h index 16f2caca7dead..bcbfb92ac265b 100644 --- a/src/field_5x52_int128_impl.h +++ b/src/field_5x52_int128_impl.h @@ -35,7 +35,8 @@ SECP256K1_INLINE static void secp256k1_fe_mul_inner(uint64_t *r, const uint64_t VERIFY_CHECK(a != b); /* [... a b c] is a shorthand for ... + a<<104 + b<<52 + c<<0 mod n. - * px is a shorthand for sum(a[i]*b[x-i], i=0..x). + * for 0 <= x <= 4, px is a shorthand for sum(a[i]*b[x-i], i=0..x). + * for 4 <= x <= 8, px is a shorthand for sum(a[i]*b[x-i], i=(x-4)..4) * Note that [x 0 0 0 0 0] = [x*R]. */