zerokn0wledge

Secure multi-party computation explained with Shamir secret sharing

Thread398 words
ExplainerPrivacyToolingFireblocks

Explains SMPC as joint computation over private inputs where only the output is revealed. Covers garbled circuits, secret sharing and homomorphic techniques, a Shamir example with Lagrange interpolation, and Fireblocks key-share custody.

Key claims
Fireblocks splits private keys across servers that sign jointly
SMPC output equals the polynomial value at x = 0
0/ What is Secure Multi-Party Computation (SMPC)? 馃鈥嶁檪锔忊湪 (0/17) 馃У馃憞 1/ SMPC is a #cryptographic tool that allows multiple parties to jointly compute the value of a function over private inputs without revealing the inputs to each other. 2/ The output of the joint computation is the only information that is publicly revealed, making SMPC an effective tool for protecting the privacy of input data. 3/ Applications of SMPC SMPC has a wide range of potential applications, including secret voting systems, online auctions, and lottery systems. 4/ In the context of blockchains and cryptocurrencies, SMPC can be used to enable private and secure transactions, as well as to facilitate the development of privacy-preserving protocols and applications. 5/ Example of SMPC in Blockchain: @FireblocksHQ Custody technology provider @FireblocksHQ uses SMPC to store fractions of private keys across multiple servers that can only jointly sign transactions. 6/ This helps to enhance the security and privacy of digital asset custody solutions, protecting against attacks such as key theft or unauthorized access. 7/ How does SMPC work? SMPC is based on the mathematical concept of Secure Function Evaluation (SFE), which allows multiple parties to jointly compute the value of a function over private inputs without revealing the inputs to each other. 8/ SFE can be implemented using various cryptographic techniques, such as garbled circuits, secret sharing, and homomorphic encryption. 9/ Example of SMPC using Shamir Secret Sharing (SSS): 10/ Alice and Bob agree on a set of parameters, such as a security parameter, a modulus, and a generator. They also agree on the degree of the polynomial that will be used to generate the secret shares. 11/ Alice and Bob each compute their respective secret shares of their inputs using SSS. 12/ Alice and Bob exchange their secret shares. 13/ Alice and Bob each compute their respective shares of the result of the function f(x,y) = x + y. 14/ Alice and Bob exchange their shares of the result. 15/ Alice and Bob each use the Lagrange interpolation formula to compute the value of the result from the shares they have received. 16/ The result of the SMPC computation is the value of the polynomial f(x) at x = 0. 17/ That's a wrap, I hope you got a basic understanding of SMPC now! Also, I will continue to post more threads covering the most important cryptographic primitives, so stay tuned! 馃鈥嶁檪锔忊湪
Open on X
zerokn0wledge avatar
Working together

Research, advisory and builds for deep-tech teams.