Comments (1)
-
Regarding your first point, thank you for catching this. Indeed, the zero-knowledge proof that the Paillier key is generated correctly was mistakenly omitted from the refresh, but obviously must be included (as in key generation). We have added this zero-knowledge proof to the refresh.
-
Regarding your second point: no bits can be leaked by the addition of r in refresh. In order to see this, observe that by not doing a modular reduction, the encrypted value can increase by at most q each time. Now, by the ECDSA two-party paper (https://eprint.iacr.org/2017/552.pdf, Protocol 3.2, Step 4c), the second party must choose noise \rho in \Z_{q^2} in the signing protocol to ensure no leakage. Thus, for an encryption of the private key of size up to q, the amount of noise needed is random in \Z_{q^2}. However, in our implementation, we add noise \rho in \Z_{q^2 * 2^80}. This means that we prevent leakage as long as the encryption of the private key is a value at most q* 2^{80}. This means that as long as the number of refreshes done is at most 2^{80} (can never feasibly be reached), the amount of noise added is sufficient to prevent any leakage.
Thank you again for your review and help in improving our library.
from blockchain-crypto-mpc.
Related Issues (19)
- Retrieving Public Key from ECDSA Key Share HOT 1
- mpc_crypto.restoreEddsaKey() return wrong eddsa private key HOT 7
- Test Issue HOT 1
- serialize and deserialized of the context HOT 1
- Crypto HOT 1
- BIP32 Signing HOT 2
- JNI ERROR HOT 1
- Is it possible to use or modify the code to sign two different messages simultaneously? HOT 1
- Can offer some example for android sample? HOT 2
- clang: error: no such file or directory: 'libmpc_crypto.so' HOT 2
- External API and documentation HOT 1
- getting the same share for both parties with the python mpc script HOT 2
- [Feature-request] Multiparty (t,n) ECDSA signatures HOT 4
- MPCCrypto_verifyEcdsa curve type hardcoded to k256. HOT 2
- Clarify patent situation HOT 1
- Build problem and wasm) HOT 1
- 2-party BIP32 HOT 22
- GPU cvms_element_build_from_source error on MBP 2018 (index 1, worksize 1, mining intensity 1000) HOT 3
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 blockchain-crypto-mpc.