<div dir="ltr"><div class="gmail_quote"><div dir="ltr">On Mon, Jan 14, 2019 at 12:50 PM David Wong <<a href="mailto:davidwong.crypto@gmail.com">davidwong.crypto@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">[..]<br>
<br>
> My previous proposal had both an "eke" modifier to indicate that the<br>
> ephemeral is being masked, and listed "SPAKE2" as a public-key<br>
> algorithm specifying how the masking value is derived, giving us more<br>
> options, e.g. specifying "Elligator2" to derive the masking value via<br>
> Elligator.<br>
<br>
<br>
We talked about that as well actually. I'm not pro-flexibility and<br>
Elligator seems like a nightmare to implement.<br></blockquote><div><br></div><div><div>There is an additional issue with Elligator which is that not all curve points get mapped from a string. To quote [1]:</div><div><br></div><div>"-2u(u + A) is a square [..] [this] excludes about half the points on the curve"<br></div><br><div>The
 recommended flow is to generate the random string first, then apply 
Elligator to turn this into a curve point. This means if we add 
Elligator to Noise, we also need to generate private keys in this way - 
as opposed to picking a random curve point first, then delegating to the
 blinding scheme.</div><div><br></div><div>As we also discussed, in 
SPAKE2 one has to *add* two curve points (if I remember right), so we 
would additionally require that "-2u(u +A) is a square" holds for both u
 = x, y, and (x + y), and this constrained would also have to be done 
"inside" Noise before the blinding itself. Not sure if this is 
possible/feasible with Curve25519, and I couldn't find discussion of 
this in the original paper [2] either.<br></div><div><br></div><div>X<br></div><div><br></div><div>[1] <a href="https://www.imperialviolet.org/2013/12/25/elligator.html" target="_blank">https://www.imperialviolet.org/2013/12/25/elligator.html</a></div><div>[2] <a href="https://eprint.iacr.org/2013/325.pdf" target="_blank">https://eprint.iacr.org/2013/325.pdf</a><div class="gmail-adL"><br></div></div></div></div></div>