You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@milagro.apache.org by sa...@apache.org on 2020/03/16 14:29:53 UTC
[incubator-milagro-MPC] 01/02: Merge branch 'develop' into
issue18-add-python-flow-example
This is an automated email from the ASF dual-hosted git repository.
sandreoli pushed a commit to branch issue18-add-python-flow-example
in repository https://gitbox.apache.org/repos/asf/incubator-milagro-MPC.git
commit 576b86e5a9d132e96d420a095159e12d167e88df
Merge: 0a180eb 8133fdc
Author: Samuele Andreoli <sa...@yahoo.it>
AuthorDate: Mon Mar 16 14:23:53 2020 +0000
Merge branch 'develop' into issue18-add-python-flow-example
Conflicts:
python/amcl/mpc.py
src/mpc.c
.travis.yml | 31 +++-
Dockerfile | 14 --
README.md | 24 ++-
cmake/PythonParameters.cmake | 45 +++++
include/amcl/commitments.h | 4 +-
include/amcl/mpc.h | 25 ++-
include/amcl/mta.h | 8 +-
include/amcl/schnorr.h | 12 +-
python/CMakeLists.txt | 7 +
python/amcl/CMakeLists.txt | 9 +-
python/amcl/aes.py | 144 ++++++++++++++++
python/amcl/commitments.py | 4 +-
python/amcl/mpc.py | 10 +-
python/amcl/rsa.py.in | 323 +++++++++++++++++++++++++++++++++++
python/amcl/schnorr.py | 6 +-
python/benchmark/CMakeLists.txt | 5 +
python/benchmark/bench_aes.py | 51 ++++++
python/benchmark/bench_rsa.py.in | 67 ++++++++
python/examples/CMakeLists.txt | 5 +
python/examples/example_aes.py | 52 ++++++
python/examples/example_rsa.py.in | 56 ++++++
python/test/CMakeLists.txt | 12 ++
python/test/test_aes.py | 97 +++++++++++
python/test/test_nm_commit.py | 10 +-
python/test/test_rsa.py.in | 143 ++++++++++++++++
python/test/test_schnorr.py | 1 -
python/test/test_zk_factoring.py | 10 +-
sonar-project.properties | 24 +++
src/commitments.c | 16 +-
src/factoring_zk.c | 4 +-
src/mpc.c | 70 ++++----
src/mta.c | 75 +++++---
src/schnorr.c | 14 +-
test/smoke/test_bc_setup_smoke.c | 4 +-
test/unit/test_mta_rp_challenge.c | 6 +-
test/unit/test_mta_zk_challenge.c | 6 +-
test/unit/test_mta_zkwc_challenge.c | 6 +-
testVectors/gcm/decrypt.json | 122 +++++++++++++
testVectors/gcm/encrypt.json | 122 +++++++++++++
testVectors/mta/mta_challenge.json | 20 +--
testVectors/mta/mta_challenge.txt | 20 +--
testVectors/mta/mtawc_challenge.json | 20 +--
testVectors/mta/mtawc_challenge.txt | 20 +--
testVectors/mta/rp_challenge.json | 20 +--
testVectors/mta/rp_challenge.txt | 20 +--
45 files changed, 1554 insertions(+), 210 deletions(-)
diff --cc include/amcl/mpc.h
index 7203578,2e7132c..2b3be46
--- a/include/amcl/mpc.h
+++ b/include/amcl/mpc.h
@@@ -79,17 -79,17 +79,26 @@@ int MPC_ECDSA_SIGN(int sha, const octe
* @param S S component of signature
* @return Returns 0 or else error code
*/
- int MPC_ECDSA_VERIFY(octet *HM,octet *PK, octet *R,octet *S);
+ int MPC_ECDSA_VERIFY(const octet *HM,octet *PK, octet *R,octet *S);
+
+ /** \brief Generate a random K for and ECDSA signature
+ *
+ * Generate a random K modulo the curve order
+ *
+ * @param RNG Pointer to a cryptographically secure PRNG
+ * @param K Destination octet for the randomly generated value
+ */
+ void MPC_K_GENERATE(csprng *RNG, octet *K);
+/** \brief Generate a random K for and ECDSA signature
+ *
+ * Generate a random K modulo the curve order
+ *
+ * @param RNG Pointer to a cryptographically secure PRNG
+ * @param K Destination octet for the randomly generated value
+ */
+void MPC_K_GENERATE(csprng *RNG, octet *K);
+
/** \brief Calculate the inverse of the sum of kgamma values
*
* Calculate the inverse of the sum of kgamma values
diff --cc python/amcl/mpc.py
index c0f5ec7,7030202..016d1c3
--- a/python/amcl/mpc.py
+++ b/python/amcl/mpc.py
@@@ -75,7 -75,7 +75,7 @@@ extern void PAILLIER_PK_fromOctet(PAILL
extern int ECP_SECP256K1_PUBLIC_KEY_VALIDATE(octet *W);
extern void MPC_ECDSA_KEY_PAIR_GENERATE(csprng *RNG, octet *S, octet *W);
- extern int MPC_ECDSA_VERIFY(octet *HM,octet *PK, octet *R,octet *S);
-extern int MPC_ECDSA_VERIFY(const octet *HM,octet *PK, octet *R,octet *S);
++extern int MPC_ECDSA_VERIFY(const octet *HM, octet *PK, octet *R, octet *S);
extern void MPC_MTA_CLIENT1(csprng *RNG, PAILLIER_public_key* PUB, octet* A, octet* CA, octet* R);
extern void MPC_MTA_CLIENT2(PAILLIER_private_key *PRIV, octet* CB, octet *ALPHA);
extern void MPC_MTA_SERVER(csprng *RNG, PAILLIER_public_key *PUB, octet *B, octet *CA, octet *Z, octet *R, octet *CB, octet *BETA);
diff --cc src/mpc.c
index 6a97c46,1c3a6d7..d1014ad
--- a/src/mpc.c
+++ b/src/mpc.c
@@@ -26,8 -26,9 +26,8 @@@ under the License
/* Generate ECDSA key pair */
void MPC_ECDSA_KEY_PAIR_GENERATE(csprng *RNG, octet* S, octet *W)
{
--
- BIG_256_56 s, q;
+ BIG_256_56 s;
+ BIG_256_56 q;
ECP_SECP256K1 G;