Comments (9)
Is it possible that this is the same as ZenGo-X/zk-paillier#3 ?
I think the right place for that is in zk-paillier library.
Voting is a cool application! If I recall that is not a very complex proof.
from rust-paillier.
Yes that's the same proof!
from rust-paillier.
@phayes do you want to take the lead on that?
from rust-paillier.
Hi @omershlo,
I'm honestly not super familiar with paillier internals, and would rather leave it to someone who does.
However, looking at the paper it doesn't look terribly difficult.
from rust-paillier.
Regardless of who does it though, it might be a good idea to have @tfdahlin review it, as they were the one that authored the referenced paper.
from rust-paillier.
good point.
Anyway - I will start working on it on zk-paillier library.
from rust-paillier.
I'd be happy to take a look at it for you when it's written, but it might take me a while.
It's been a while since I worked on that project, so I'd need to refamiliarize myself with it, and I've never touched Rust so getting used to that code might take a bit.
You might also reference https://github.com/DaylightingSociety/Paillier/blob/master/lib/paillier/zkp.rb#L163 for my implementation in Ruby.
from rust-paillier.
HI @phayes I wrote the rust version of the proof in the zk-paillier library (@tfdahlin your ruby code was a really valuable reference):
https://github.com/KZen-networks/zk-paillier/blob/master/src/zkproofs/correct_message.rs
I added one test for correctness and one test for soundness.
I will close this issue but you are more than welcome to review and add to the code in zk-paillier. Plenty optimisations are possible.
I do want to give a disclaimer:
I did not find a security proof anywhere for this protocol. I cannot attest to its security (until I will write the proof myself)
cheers.
from rust-paillier.
Thank you! 🎉
from rust-paillier.
Related Issues (20)
- Use of mod N instead of mod N^2 in proofs HOT 1
- optimize code against side-channel attacks HOT 2
- Fix ramp/framp support HOT 2
- Only export unsigned numbers
- update documentation
- Port functionality from UTexas Java implementation
- zero knowledge proof for correct message
- No short-circuiting in correct key proof
- zero-knowledge proof for correct construction of ciphertext
- Better structure for interactive proofs
- Ramp support for proofs
- zero knowledge proof for encryption of same value under two different keys HOT 2
- Failure to compile frame with nightly compiler HOT 9
- Supporting signed integers and floats
- Ciphertext-Plaintext addition HOT 3
- tests for encrypt with dk? HOT 2
- purpose of wrapping RawCiphertext via EncodedCiphertext? HOT 1
- note: LINK : fatal error LNK1181: cannot open input file 'gmp.lib'
- Updating ring to ^0.16.5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rust-paillier.