--- Log opened Fri Dec 03 00:00:50 2021
02:53 -!- elsirion [~quassel@gateway/tor-sasl/elsirion] has quit [Ping timeout: 276 seconds]
02:53 -!- elsirion [~quassel@gateway/tor-sasl/elsirion] has joined #secp256k1
04:47 -!- scgbckbone [~scgbckbon@2001:420:c0c0:1002::1f3] has joined #secp256k1
07:30 -!- halosghost [~halosghos@user/halosghost] has joined #secp256k1
09:17 -!- scgbckbone [~scgbckbon@2001:420:c0c0:1002::1f3] has quit [Quit: Client closed]
10:38 < roconnor> There are a couple of places where the infinity flag ends up set without z being 0.
10:39 < sipa> is that still the case?
10:39 < sipa> i thought we changed that
10:39 < roconnor> I was looking at gej_set_ge.
10:40 < roconnor> sounds like I should PR a change.
10:40 < roconnor> (that said, I'm not sure that gej_set_ge is ever called at infinity)
13:36 -!- halosghost [~halosghos@user/halosghost] has quit [Quit: WeeChat 3.3]
14:28 -!- scgbckbone [~scgbckbon@adsl-dyn81.78-99-195.t-com.sk] has joined #secp256k1
14:29 -!- scgbckbone [~scgbckbon@adsl-dyn81.78-99-195.t-com.sk] has quit [Client Quit]
14:56 < roconnor> Is the z cooridnate in jacobian coordinates implied by the x and y coordinates?
14:58 < sipa> do you mean: given x and y, does there exist a unique jacobian triplet (x,y,z) on the curve?
14:58 < roconnor> right.
14:58 < sipa> or do your x and y refer to affine coordinates?
14:58 < roconnor> jacobian x and y.
14:59 < roconnor> it's like ((y^2-x^3)/7)^1/6 ... or something like that.
15:00 < sipa> the jacobian curve equation is y^2 = x^3 + 7*z^6, right?
15:00 < sipa> numbers in GF(2^256 - 2^32 - 977) can have multiple hextic(?) roots i would expect
15:01 < roconnor> right ..
15:01 < roconnor> so I was thinking about this a different way
15:01 < sipa> but do those different z solutions to that equation represent distinct points?
15:02 < roconnor> that the z coodinate defines the "b" value of some isomorphic curve that you are going to use instead.
15:03 < roconnor> oooh but there are like 6 automorphisms of the curve.
15:03 < sipa> which is another way of saying: given two values z1 and z2 for which z1^6 = z2^6, are (z1^2,z1^3) and (z2^2,z2^3) possibly distinct?
15:03 < roconnor> so just knowing which "b" coordinate you are on doesn't tell you which isomorphism you are trying to use.
15:03 < sipa> and i think the answer is obviously yes
15:04 < roconnor> so I think the z value isn't recoverable.
15:04 < sipa> agreed
15:04 < roconnor> you can only recover upto 6 possible z values.
15:04 < sipa> indeed
15:04 < roconnor> so in other words the same x,y jacobian point can have 6 possible z values.
15:05 < roconnor> okay got it.
15:06 < sipa> right, and i think the 6 affine points represented by all those (x,y,z*) triplets are exactly the (y,-y) and (x,x*beta,x*beta^2) variants
15:06 < roconnor> yep
15:16 < robot-dreams> In the x, y you were given, did you assume they were valid affine points to begin with, i.e. satisfying y^2 = x^3 + 7?
15:17 < roconnor> given x,y from some jacobian coordinate.
15:17 < robot-dreams> So given x, y such that (x, y, u) is a valid Jacobian coordinate, what is the set of all (x, y, v) that are valid Jacobian coordinates
15:18 < roconnor> Right. I was initially speculating there was only one, but there are 6.
15:19 < roconnor> u*(-beta)^i for all i.
15:19 < robot-dreams> those being the 6 solutions v to y^2 = x^3 + 7v^6?
15:19 < roconnor> yes.
15:21 < robot-dreams> yes, great, I'm convinced that (u(-beta)^i)^6 = u for any i, and that there are 6 distinct values
15:22 < robot-dreams> = u^6*
15:22 < roconnor> yep. -beta is a primitive 6th root of unity.
15:25 < roconnor> interesting, we could apply the endomorphism operation to the z coordinate instead of the x coordinate.
15:25 < roconnor> not that I think that is helpful in practice.
16:06 < robot-dreams> BTW I used to think it's totally mysterious why the endomorphism phi(x, y) = (beta * x, y) is equivalent to multiplying by some integer.
16:06 < robot-dreams> But on second thought, this is just because (1) E(F_p) is a cyclic group, so *any* automorphism is equivalent to multiplying by some integer, and (2) the endomorphism is in fact an automorphism, right?
16:24 < sipa> right, every endomorphism of the group is necessarily a point multiplication
16:25 < sipa> tbe surprising thing is that it's such a simple operation on the coordinates
18:42 < roconnor> oh there is a 7th endomorphism that maps everything to the point at infinity.
19:03 < sipa> which is also a multiplication with a scalar
--- Log closed Sat Dec 04 00:00:51 2021