--- Day changed Tue Dec 29 2015 03:40 < gmaxwell> https://gist.github.com/bishboria/8326b17bbd652f34566a 03:40 < gmaxwell> "Springer have made a bunch of books available for free" some of these are relevant to our interests. 04:07 < gmaxwell> There are many more than are listed at that page... every springer textbook >10 years old. 04:19 -!- maaku [~quassel@botbot.xen.prgmr.com] has quit [Remote host closed the connection] 05:27 -!- GAit [~GAit@2.230.161.158] has joined #secp256k1 05:32 -!- maaku [~quassel@botbot.xen.prgmr.com] has joined #secp256k1 05:32 -!- maaku is now known as Guest87480 05:33 -!- Guest87480 is now known as maaku 05:48 -!- GAit [~GAit@2.230.161.158] has quit [Quit: Leaving.] 05:49 -!- GAit [~GAit@2-230-161-158.ip202.fastwebnet.it] has joined #secp256k1 06:42 < midnightmagic> I can download fulltext of many of those books by the way; I would be happy to see what I can grab if people have specific chapters, or books. 06:42 < midnightmagic> .. in mind. 07:35 -!- GAit [~GAit@2-230-161-158.ip202.fastwebnet.it] has quit [Quit: Leaving.] 07:35 -!- GAit [~GAit@2-230-161-158.ip202.fastwebnet.it] has joined #secp256k1 08:47 < andytoshi> downloading everything from that page .. will ask at ##hplusroadmap about finding more 08:47 < andytoshi> i've got lots of space but little bandwidth unfortunately 08:52 < gmaxwell> that page doesn't list but a fraction of whats available. I wouldn't bother downloading anything on that page that you don't immediately want-- lots of people have all thats there. 09:31 -!- GAit [~GAit@2-230-161-158.ip202.fastwebnet.it] has quit [Quit: Leaving.] 09:52 -!- GAit [~GAit@2-230-161-158.ip202.fastwebnet.it] has joined #secp256k1 10:09 -!- GAit [~GAit@2-230-161-158.ip202.fastwebnet.it] has quit [Quit: Leaving.] 10:09 -!- GAit [~GAit@2-230-161-158.ip202.fastwebnet.it] has joined #secp256k1 10:36 -!- GAit [~GAit@2-230-161-158.ip202.fastwebnet.it] has quit [Read error: Connection reset by peer] 10:37 -!- GAit [~GAit@2-230-161-158.ip202.fastwebnet.it] has joined #secp256k1 10:37 -!- GAit [~GAit@2-230-161-158.ip202.fastwebnet.it] has quit [Client Quit] 13:12 -!- fkhan_ [~weechat@unaffiliated/loteriety] has quit [Ping timeout: 272 seconds] 13:23 -!- fkhan_ [weechat@gateway/vpn/mullvad/x-fgvzvpcisbnqjtpl] has joined #secp256k1 17:40 < andytoshi> am i remembering the effective affine trick correctly: the map (x, y, z) → (x, y, Kz) is an isomorphism onto the curve y^2 = x^3 + 7(Kz)^6 for any K in our field 17:40 < andytoshi> (everything in jacobi coordinates, so our original curve eqn is y^2 = x^3 + 7z^6) 17:40 < sipa> i believe so 17:40 < andytoshi> hmm 17:41 < sipa> for any non-zero K :) 17:41 < andytoshi> yes :) 17:41 < andytoshi> so, beta (= 1^{1/3} in the field) has a square root (which is beta+1 lol, tho i don't think this matters) 17:41 < andytoshi> so using K = beta+1, it seems like we get an endomorphism of order 6 17:41 < andytoshi> which is given by (x,y,z) -> (x,y,(beta + 1)z) 17:42 < andytoshi> and the square of this endomorphism is the (inverse of the) classic x → beta*x endomorphism 17:46 < andytoshi> im fairly sure i'm correct, and this endomorphism corresponds to multiplication by sqrt(lambda) in the group (and such a sqrt does exist according to sage ... as it should, i'd be very confused otherwise) 17:48 < andytoshi> so i have a bunch of questions: (a) does having two endomorphisms give us twice the optimization? i guess no since these aren't actually independent endomorphisms, one is the square of the other. (b) does having an endomorphism of order 6 help us? like could we split scalars as x = x1 + x2*sqrt(lambda) + x3*lambda + ... + x5*sqrt(lambda)^5. (c) independently of all that can we evade patent concerns by 17:48 < andytoshi> using sqrt(lambda) since this is technically a different endomorphism 17:48 < gmaxwell> andytoshi: it depends on what the lattice looks like that you can construct with it. 17:49 < gmaxwell> using p, lambda, lambda^2 didn't result in a useful latice; for example. 17:49 < andytoshi> can you say why not? 17:49 < andytoshi> i don't have a good understanding of that 17:49 < sipa> my intuition is that lambda^2 is not sufficiently independent from lambda to be useful 17:49 < gmaxwell> I'm not sure how you'd say it in number theory; but it's because it doesn't result in a orthorgonal basis. 17:50 < andytoshi> well we have a 1-dimensional space, nothing is gonna be orthogonal. but we get "computational orthogonality" because DL is hard (or rather, because x -> xG "looks random") 17:50 < andytoshi> was my intuition 17:50 < andytoshi> am i way off-base there? 17:51 < andytoshi> oh, i get it, 1 + beta + beta^2 = 0 17:51 < andytoshi> hmmm. so i think there is no such relation between 1, beta, beta^{3/2} 17:52 < andytoshi> for those following at home: (1 + beta + beta^2) = (1 - beta^3) / (1 - beta) = 0 / (1 - beta) = 0 17:53 < andytoshi> if im right we can get a 3d lattice here and get some extra optimization, assuming the scalar split can be similarly efficiently computed (this is still black magic to me) 17:54 < sipa> i was able to re-do the work that Hal did to find the constants for secp256k1 in any case 17:54 < sipa> and gmaxwell as well, i guess 17:54 < andytoshi> but there will be constants? 17:57 < gmaxwell> andytoshi: nah, you can't. alas. The endomorphism is order 3. 1 == lambda^3, lambda, lambda^2 .. sqrt(lambda) == lambda^2 17:58 < andytoshi> hah derp 17:58 < sipa> so 1, beta, beta^{3/2} is really just 1, beta, 1? 17:58 < andytoshi> yeah, or 1,beta,-1 17:58 < andytoshi> i should've seen that :) 17:58 < andytoshi> my head is a bit fuzzy now (been reading textbooks all day :)) but i have an idea we sholud be only able to get a phi(6) = 2-dimensional lattice, even from a order-6 endomorphism ... so i would've been SOL anyway 17:59 < gmaxwell> Though yes, if we were able to get two distinct endomorphisms we could get more speedup. This is the motivation between GLV/GLS curves that have two. 18:01 < gmaxwell> E.g. http://eprint.iacr.org/2008/194 18:04 < andytoshi> ok. and i have a pretty clear idea intuition that our curve only has endomorphisms of order 2 and 3. (the order 2 one is P → -P). composing them will get you order-6, but this won't give you more than a 2D lattice (abstractly cuz i think an order-N endomorphism will get you a phi(N)-dimensional lattice over Z, concretely cuz you go from (x, y) -> (x, -y) by multiplying by -1, which obviously is generated 18:04 < andytoshi> by 1) 18:04 < andytoshi> alaso 18:04 < andytoshi> alas 18:05 < gmaxwell> yea, we already make use of the fact that -1 is cheap in any case... thats the motivation for signed digit representations. 18:05 < andytoshi> the "only order 2 and 3" comes from the fact that y^2 = x^3 + 6Kz^6 is isomorphic to our curve iff K is a sixth power, which comes from one of the effective-affine papers 18:05 < andytoshi> damn :/ 18:07 < gmaxwell> what if K is rational? does the extension provide more possibilities? 18:14 < andytoshi> i think no. i'm having trouble coming up with a clear reason why tho 18:14 < andytoshi> in fact i think even adjoining weird roots to our field will be insufficient 18:15 < andytoshi> by "K rational" you mean like it's a fraction? given that we're working over a finite field i don't think that adds anything 18:16 < gmaxwell> yea, I was about to say that myself. "duh, the size of the rationals isn't any larger" 18:18 < andytoshi> so a weird fact is that our field already has a nontrivial 7th root of 1. i'm musing on why i can't multiply z by that to get a order-7 endomorphism 18:18 < andytoshi> (our group order does not admit a 7th root, so such an endomorphism clearly does not exist ... but how?) 18:18 < gmaxwell> because of the ^3 in the curve equation. 18:19 < andytoshi> oh, i see 18:19 < andytoshi> ok, but by the effective-affine trick this does take us to an isomorphic curve 18:19 < andytoshi> so we have these 7 curves we can cycle through 18:20 < andytoshi> oh, but we've talked about this. using different curves means that scalar-splitting makes no sense (or at least, we could make no sense of it) 18:21 < gmaxwell> well I think we talked about it for EA in general. 18:23 < andytoshi> yeah. but the reasoning was the same .. if we use an isomorphism rather than endomorphism we have to "come back" in the end so we can't do meaningfully different computations on the other curve