├── .github └── workflows │ ├── build.yml │ └── publish.yml ├── .gitignore ├── .rustfmt.toml ├── CONTRIBUTING.md ├── Cargo.toml ├── LICENSE ├── README.md ├── audits └── REPORT_final_2019-10-22.pdf ├── benches ├── multi_party_ecdsa │ └── gg18 │ │ └── keygen.rs └── two_party_ecdsa │ ├── cclst_2019 │ ├── keygen.rs │ └── sign.rs │ └── lindell_2017 │ ├── keygen.rs │ └── sign.rs ├── demo ├── MP-ECDSA demo.gif └── run.sh ├── docs ├── diagrams │ ├── keygen1.dot │ └── keygen2.dot └── gg19.pdf ├── examples ├── common.rs ├── gg18_keygen_client.rs ├── gg18_sign_client.rs ├── gg18_sm_manager.rs ├── gg20_keygen.rs ├── gg20_signing.rs ├── gg20_sm_client.rs └── gg20_sm_manager.rs ├── kzen-dev-setup.sh ├── params.json └── src ├── lib.rs ├── protocols ├── mod.rs ├── multi_party_ecdsa │ ├── gg_2018 │ │ ├── mod.rs │ │ ├── party_i.rs │ │ └── test.rs │ ├── gg_2020 │ │ ├── blame.rs │ │ ├── mod.rs │ │ ├── party_i.rs │ │ ├── state_machine │ │ │ ├── keygen.rs │ │ │ ├── keygen │ │ │ │ └── rounds.rs │ │ │ ├── mod.rs │ │ │ ├── sign.rs │ │ │ ├── sign │ │ │ │ ├── fmt.rs │ │ │ │ └── rounds.rs │ │ │ └── traits.rs │ │ └── test.rs │ └── mod.rs └── two_party_ecdsa │ ├── cclst_2019 │ ├── mod.rs │ ├── party_one.rs │ ├── party_two.rs │ └── test.rs │ ├── lindell_2017 │ ├── mod.rs │ ├── party_one.rs │ ├── party_two.rs │ └── test.rs │ └── mod.rs └── utilities ├── mod.rs ├── mta ├── mod.rs ├── range_proofs.rs └── test.rs ├── zk_pdl ├── mod.rs └── test.rs └── zk_pdl_with_slack ├── mod.rs └── test.rs /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/.github/workflows/publish.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/.gitignore -------------------------------------------------------------------------------- /.rustfmt.toml: -------------------------------------------------------------------------------- 1 | edition = "2018" 2 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/README.md -------------------------------------------------------------------------------- /audits/REPORT_final_2019-10-22.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/audits/REPORT_final_2019-10-22.pdf -------------------------------------------------------------------------------- /benches/multi_party_ecdsa/gg18/keygen.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/benches/multi_party_ecdsa/gg18/keygen.rs -------------------------------------------------------------------------------- /benches/two_party_ecdsa/cclst_2019/keygen.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/benches/two_party_ecdsa/cclst_2019/keygen.rs -------------------------------------------------------------------------------- /benches/two_party_ecdsa/cclst_2019/sign.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/benches/two_party_ecdsa/cclst_2019/sign.rs -------------------------------------------------------------------------------- /benches/two_party_ecdsa/lindell_2017/keygen.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/benches/two_party_ecdsa/lindell_2017/keygen.rs -------------------------------------------------------------------------------- /benches/two_party_ecdsa/lindell_2017/sign.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/benches/two_party_ecdsa/lindell_2017/sign.rs -------------------------------------------------------------------------------- /demo/MP-ECDSA demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/demo/MP-ECDSA demo.gif -------------------------------------------------------------------------------- /demo/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/demo/run.sh -------------------------------------------------------------------------------- /docs/diagrams/keygen1.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/docs/diagrams/keygen1.dot -------------------------------------------------------------------------------- /docs/diagrams/keygen2.dot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/docs/diagrams/keygen2.dot -------------------------------------------------------------------------------- /docs/gg19.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/docs/gg19.pdf -------------------------------------------------------------------------------- /examples/common.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/examples/common.rs -------------------------------------------------------------------------------- /examples/gg18_keygen_client.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/examples/gg18_keygen_client.rs -------------------------------------------------------------------------------- /examples/gg18_sign_client.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/examples/gg18_sign_client.rs -------------------------------------------------------------------------------- /examples/gg18_sm_manager.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/examples/gg18_sm_manager.rs -------------------------------------------------------------------------------- /examples/gg20_keygen.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/examples/gg20_keygen.rs -------------------------------------------------------------------------------- /examples/gg20_signing.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/examples/gg20_signing.rs -------------------------------------------------------------------------------- /examples/gg20_sm_client.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/examples/gg20_sm_client.rs -------------------------------------------------------------------------------- /examples/gg20_sm_manager.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/examples/gg20_sm_manager.rs -------------------------------------------------------------------------------- /kzen-dev-setup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/kzen-dev-setup.sh -------------------------------------------------------------------------------- /params.json: -------------------------------------------------------------------------------- 1 | {"parties":"3", "threshold":"1"} 2 | -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/protocols/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/mod.rs -------------------------------------------------------------------------------- /src/protocols/multi_party_ecdsa/gg_2018/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/multi_party_ecdsa/gg_2018/mod.rs -------------------------------------------------------------------------------- /src/protocols/multi_party_ecdsa/gg_2018/party_i.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/multi_party_ecdsa/gg_2018/party_i.rs -------------------------------------------------------------------------------- /src/protocols/multi_party_ecdsa/gg_2018/test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/multi_party_ecdsa/gg_2018/test.rs -------------------------------------------------------------------------------- /src/protocols/multi_party_ecdsa/gg_2020/blame.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/multi_party_ecdsa/gg_2020/blame.rs -------------------------------------------------------------------------------- /src/protocols/multi_party_ecdsa/gg_2020/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/multi_party_ecdsa/gg_2020/mod.rs -------------------------------------------------------------------------------- /src/protocols/multi_party_ecdsa/gg_2020/party_i.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/multi_party_ecdsa/gg_2020/party_i.rs -------------------------------------------------------------------------------- /src/protocols/multi_party_ecdsa/gg_2020/state_machine/keygen.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/multi_party_ecdsa/gg_2020/state_machine/keygen.rs -------------------------------------------------------------------------------- /src/protocols/multi_party_ecdsa/gg_2020/state_machine/keygen/rounds.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/multi_party_ecdsa/gg_2020/state_machine/keygen/rounds.rs -------------------------------------------------------------------------------- /src/protocols/multi_party_ecdsa/gg_2020/state_machine/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/multi_party_ecdsa/gg_2020/state_machine/mod.rs -------------------------------------------------------------------------------- /src/protocols/multi_party_ecdsa/gg_2020/state_machine/sign.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/multi_party_ecdsa/gg_2020/state_machine/sign.rs -------------------------------------------------------------------------------- /src/protocols/multi_party_ecdsa/gg_2020/state_machine/sign/fmt.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/multi_party_ecdsa/gg_2020/state_machine/sign/fmt.rs -------------------------------------------------------------------------------- /src/protocols/multi_party_ecdsa/gg_2020/state_machine/sign/rounds.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/multi_party_ecdsa/gg_2020/state_machine/sign/rounds.rs -------------------------------------------------------------------------------- /src/protocols/multi_party_ecdsa/gg_2020/state_machine/traits.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/multi_party_ecdsa/gg_2020/state_machine/traits.rs -------------------------------------------------------------------------------- /src/protocols/multi_party_ecdsa/gg_2020/test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/multi_party_ecdsa/gg_2020/test.rs -------------------------------------------------------------------------------- /src/protocols/multi_party_ecdsa/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/multi_party_ecdsa/mod.rs -------------------------------------------------------------------------------- /src/protocols/two_party_ecdsa/cclst_2019/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/two_party_ecdsa/cclst_2019/mod.rs -------------------------------------------------------------------------------- /src/protocols/two_party_ecdsa/cclst_2019/party_one.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/two_party_ecdsa/cclst_2019/party_one.rs -------------------------------------------------------------------------------- /src/protocols/two_party_ecdsa/cclst_2019/party_two.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/two_party_ecdsa/cclst_2019/party_two.rs -------------------------------------------------------------------------------- /src/protocols/two_party_ecdsa/cclst_2019/test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/two_party_ecdsa/cclst_2019/test.rs -------------------------------------------------------------------------------- /src/protocols/two_party_ecdsa/lindell_2017/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/two_party_ecdsa/lindell_2017/mod.rs -------------------------------------------------------------------------------- /src/protocols/two_party_ecdsa/lindell_2017/party_one.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/two_party_ecdsa/lindell_2017/party_one.rs -------------------------------------------------------------------------------- /src/protocols/two_party_ecdsa/lindell_2017/party_two.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/two_party_ecdsa/lindell_2017/party_two.rs -------------------------------------------------------------------------------- /src/protocols/two_party_ecdsa/lindell_2017/test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/two_party_ecdsa/lindell_2017/test.rs -------------------------------------------------------------------------------- /src/protocols/two_party_ecdsa/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/protocols/two_party_ecdsa/mod.rs -------------------------------------------------------------------------------- /src/utilities/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/utilities/mod.rs -------------------------------------------------------------------------------- /src/utilities/mta/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/utilities/mta/mod.rs -------------------------------------------------------------------------------- /src/utilities/mta/range_proofs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/utilities/mta/range_proofs.rs -------------------------------------------------------------------------------- /src/utilities/mta/test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/utilities/mta/test.rs -------------------------------------------------------------------------------- /src/utilities/zk_pdl/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/utilities/zk_pdl/mod.rs -------------------------------------------------------------------------------- /src/utilities/zk_pdl/test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/utilities/zk_pdl/test.rs -------------------------------------------------------------------------------- /src/utilities/zk_pdl_with_slack/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/utilities/zk_pdl_with_slack/mod.rs -------------------------------------------------------------------------------- /src/utilities/zk_pdl_with_slack/test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ZenGo-X/multi-party-ecdsa/HEAD/src/utilities/zk_pdl_with_slack/test.rs --------------------------------------------------------------------------------