]> Git Repo - VerusCoin.git/commit
Auto merge of #1938 - ebfull:g2-subgroup-check, r=str4d
authorzkbot <[email protected]>
Tue, 13 Dec 2016 11:26:23 +0000 (11:26 +0000)
committerzkbot <[email protected]>
Tue, 13 Dec 2016 11:26:23 +0000 (11:26 +0000)
commit152c0ebf214e8f935fd802cb19e937a901eb7c5d
tree41c1ee935d533247e1f259d796d7226ce6af311d
parent5c47d620f4e3f7bbbd585e8ca4dbfd5bb7985947
parentc4fce3fc81380982c16d306c468e74d699633e3e
Auto merge of #1938 - ebfull:g2-subgroup-check, r=str4d

Additional well-formedness check for G2 elements

libsnark currently checks that G<sub>1</sub> and G<sub>2</sub> elements are well-formed by ensuring that they satisfy their respective curve equations, and although this is enough for G<sub>1</sub> (which is instantiated as an order r curve E/F<sub>p</sub>: y^2 = x^3 + b), G<sub>2</sub> is the order r *subgroup* of the composite order r(2q-r) curve E'/Fp<sup>2</sup>: y^2 = x^3 + b/e constructed via a sextic twisting isomorphism. This means we need to ensure these points are order r as well.

None of the proofs on the Zcash blockchain violate this check, and it may not even be possible for them to violate this check (bilinearity is not preserved). Let's be cautious and do it anyway.
This page took 0.025266 seconds and 4 git commands to generate.