secure communication for all!

Intro

In this blog we show how we use the Signal messenger server to facilitate secure communication over the internet between nodes in a network. We leverage this infrastructure to run a secure multiparty computation (MPC) and specifically to run a threshold BLS signature protocol. Our open source library (written in Rust) utlilizes the existing yet undocumented Signal server API and can be used to build applications with baked-in security and privacy properties.

3 nodes (parties) running 2-out-3 threshold BLS signature using on top of Signal messenger

In this blog we describe the road we took until…


Injecting small order points to threshold EdDSA

Background

Curve25519 has the following group structure: P = bB + tT , where B is a generator of a subgroup of prime order L, and T is a small torsion point which generates a small subgroup of order 8. Curve25519 has a complete twisted Edwards addition which makes Elliptic Curve Cryptography atop Curve25519 very efficient.

A known fact, proven time and time again is that for ECC applications to be secure it is important to only work with points P such that t=0:

  1. Ed25519, or EdDSA over curve25519 is designed to eliminate any group element from the small subgroup. However…


Part 2

Diogenes is an ambitious project to design and run a “ceremony” to generate an RSA modulus. The Ceremony is a multiparty computation (MPC) protocol of an unprecedented scale. Once completed, the generated modulus will be incorporated into a VDF protocol, which will be used as part of an unbiased random beacon in the Eth2.0 blockchain.

The Ligero Inc team leads the project with LigeroRSA, the code repository implementing Diogenes. It’s 21k C++ lines of code, not including external libraries.

Upon request of the VDF Alliance and the Ethereum Foundation, ZenGo is reviewing Diogenes as a real-world cryptographic system. We’ve teamed…


Part 1

🐙Background🐙

Diogenes (paper) is an ambitious project to design and run a “ceremony” to generate an RSA modulus. The Ceremony is a multiparty computation (MPC) protocol of an unprecedented scale. Once completed, the generated modulus will be incorporated in a VDF protocol, which will be used as part of an unbiased random beacon in the Eth2.0 blockchain.

The Ligero Inc team leads the project. LigeroRSA is the code repository implementing Diogenes. It is 21,000 c++ lines of code, not including external libraries.

The VDF Alliance and the Ethereum Foundation have requested us to review Diogenes as a real-world cryptographic system. We…


We show a proof of concept for Marlin Zero Knowledge proving system, compiled with DARK polynomial commitment, based on class groups of unknown order. The resulting Supermarlin eliminates the need for a trusted setup (transparent). In this post we describe the technical details of the proof of concept and where to take it from here.

Acknowledgements: We extend our gratitude to Georgios Konstantopoulos who unlocked this entire project and in addition to Claudio Orlandi, Kobi Gurkan and Pratyush Mishra for (moral and) technical support.

Motivation

The motivation for us is two fold.

First, not many transparent zk-snarks implementations exist today. Adding…


At ZenGo one of our core technologies is secure multiparty computation (MPC). MPC allows independent parties to execute functions over individually secret data without disclosing the data itself. MPC has been carefully studied and developed over the last 4 decades, with a multitude of cryptographic protocols proposed by academics (ranging from mental poker to secret coding protocols) but only recently the technology has made its practical breakthrough into blockchain industry. For the past several years we have been witnessing a growing body of companies using applied scientific contributions in the field to support various use cases in the blockchain space…


Our recent paper, a joint effort between the ZenGo (KZen) research team, Claudio Orlandi, Bernardo Magri, and Yashvanth Kondi, is about proactive security and how it applies to threshold wallets. In this technical blog post we will give background on threshold wallets, illustrate our research using real world examples, and present our protocol and its main properties.

Tl;dr: Secret shares can be updated with any threshold. Other parties can remain offline and update their secret when they return.

Threshold Wallets

A wallet is client side software responsible for communication with a blockchain and for managing users’ keys. A threshold wallet is a…


Since we started KZen, we invested in the development of a cryptographic stack that would enable us to build a new generation of keyless crypto wallets with simpler and stronger security eliminating that way typical single point of failures and tedious setup and recovery schemes.

ThorChain is one of the public consumers of the library

Multiparty-ECDSA is our open-source cryptography library, written in Rust, for threshold ECDSA. This library is continuously developed and maintained by KZen since July 2018 to be used in ZenGo wallet. …

Omer Shlomovits

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store