SHA256(Dec(Ex, SHA256^-1(Hr)) == Hx--
You received this message because you are subscribed to the Google Groups "libsnark" group.
To unsubscribe from this group and stop receiving emails from it, send an email to libsnark+unsubscribe@googlegroups.com.
To post to this group, send email to libs...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/libsnark/43afc4fd-3ed5-4f69-9802-6b9fa1387132%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Take note that a zkSNARK circuit has a fixed size, so your "r" and Dec(Ex, r) are not easily made to be of arbitrary size.Practically, you have in libsnark the sha256_compression_gadget, which, by using Merkle-Damgård, you can hash inputs of any specific size (if you only need 512 bits - you're set, it will cover you).
Keep in mind I don't evaluate the security of the different encryption methods here, but listing relatively easily attainable possibilities.
Since you're also in Israel, feel free to drop by our office in Rise Tel Aviv to discuss more :-)
SHA256^-1(Hr) is not strictly speaking well-defined, since there may be multiple
preimages of Hr. I guess you mean, using Camenisch-Stadler notation:
{(k): SHA256(Dec(Ex, k)) == Hx and SHA256(k) == Hr}
If so, yes that's provable using zk-SNARKs and libsnark. The SHA256 gadget
is already implemented; you'll probably need to implement Dec yourself,
depending on which algorithm it is.
--
You received this message because you are subscribed to the Google Groups "libsnark" group.
To unsubscribe from this group and stop receiving emails from it, send an email to libsnark+unsubscribe@googlegroups.com.
To post to this group, send email to libs...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/libsnark/d2e31f74-8af4-4c55-8baf-dfa3f274de11%40googlegroups.com.
I am implementing the ZKP as described by Oded.
I am trying to understand how to do it using the Speck128 cipher and SHA256 gadgets in jsnark?
What I don't understand is if and how a circuit generator follows the zk-SNARK algorithm (KeyGen, Prove, Verify)?
Or is it just a JAVA library for building circuits/constraints and the whole prove-verify is done in libsnark when calling runLibsnark?
What am I missing?
Thanks and regards,
Moran
To unsubscribe from this group and stop receiving emails from it, send an email to libsnark+u...@googlegroups.com.
To post to this group, send email to libs...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/libsnark/d2e31f74-8af4-4c55-8baf-dfa3f274de11%40googlegroups.com.