Commit 8e3ed52d authored by Michael Hamburg's avatar Michael Hamburg

sqrt(-d)

parent a9e16440
......@@ -47,6 +47,11 @@
*/
extern const struct field_t sqrt_d_minus_1;
/**
* @brief sqrt(-d), used for point formats and twisting.
*/
extern const struct field_t sqrt_minus_d;
/**
* @brief The base point for Goldilocks.
*/
......
......@@ -79,3 +79,22 @@ sqrt_d_minus_1 = {{
U56LE(0x12fec0c0b25b7a)
#endif
}};
const struct field_t
sqrt_minus_d = {{
#ifdef USE_NEON_PERM
0x5572736,0x4a2d780,0x42ef0f4,0xb8d54b6,
0x0ce5296,0x1a7b8a5,0x7bf6aa2,0x6aa0a1f,
0xed26033,0xd722fa2,0xf4fd6ed,0x683bf68,
0xa839a66,0xbeb24f7,0x968c14b,0x22d962f
#else
U56LE(0x42ef0f45572736),
U56LE(0x7bf6aa20ce5296),
U56LE(0xf4fd6eded26033),
U56LE(0x968c14ba839a66),
U56LE(0xb8d54b64a2d780),
U56LE(0x6aa0a1f1a7b8a5),
U56LE(0x683bf68d722fa2),
U56LE(0x22d962fbeb24f7)
#endif
}};
......@@ -66,3 +66,15 @@ const struct field_t
sqrt_d_minus_1 = {{
232 /* Whoa, it comes out even. */
}};
const struct field_t
sqrt_minus_d = {{
U60LE(0xf098fba8d880ec0),
U60LE(0x9d6ea1b2774d3e9),
U60LE(0x1a52c44c0154b38),
U60LE(0x9a7d2310c583efd),
U60LE(0xb548ed7aec18f2d),
U60LE(0xb9d4b5edcfee721),
U60LE(0x65275d687c7215d),
U60LE(0x3458ffa5bbfdea5)
}};
......@@ -109,3 +109,31 @@ sqrt_d_minus_1 = {{
U58LE(0x0a9ea3ac10d6aed)
#endif
}};
const struct field_t
sqrt_minus_d = {{
#ifdef USE_P521_3x3_TRANSPOSE
U58LE(0x375d668ef98910e),
U58LE(0x2e033a89e955dfc),
U58LE(0x11539170515b2da),
0,
U58LE(0x1d88a078877dc00),
U58LE(0x38dac4db4b0312c),
U58LE(0x009993c0e8ee528),
0,
U58LE(0x34829cd5d7c1584),
U58LE(0x2c688534aa9c317),
U58LE(0x0d07656ee612ae6),
0
#else
U58LE(0x375d668ef98910e),
U58LE(0x1d88a078877dc00),
U58LE(0x34829cd5d7c1584),
U58LE(0x2e033a89e955dfc),
U58LE(0x38dac4db4b0312c),
U58LE(0x2c688534aa9c317),
U58LE(0x11539170515b2da),
U58LE(0x009993c0e8ee528),
U58LE(0x0d07656ee612ae6)
#endif
}};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment