Closed fscoto closed 2 years ago
Open questions:
chi()
in the reference implementation?@fscoto to answer your questions:
The chi()
name comes from the fact that traditionally the Legendre symbol is written with the corresponding greek letter. We should replace every instance of chi
by legendre
like you established earlier.
I'll think about explaining Z_u
and Z_v
more clearly: the short of it is, they're constants derived from the non-square Z
.
@fscoto I've reviewed formulas.txt, and there is some explanation about Zu and Zv:
Where A, is a curve constant, Z an arbitrary non-square parameter, and Zu and Zv constants derived from Z. In practice, Z is chosen in a way that minimises computation: either a small number, or something that eliminates Zu and Zv.
Then the curve parameters tell us exactly how to derive Zu and Zv.
Perhaps you saw those, and judged that it was not enough?
One thing that I did omit was why Zu and Zv are the way they are. Long story short, this comes from isr()
, which works differently on non-squares depending on what p (err, q) is congruent with. But that level of explanation, I believe, belongs to the realm of deep maths — proofs. In my opinion, such proofs do not belong to a page dedicated to just giving people the solution. We could however have a dedicated proof page. It would be nice to have, but I personally don't think we should make it a priority.