Shamir's Secret Sharing example (Python Numpy). Secret shares.
Proactive Secret Sharing example (Python Numpy). Secret shares.
Secret shares in Rust. Secret shares. Secret shares in Rust.
Shamir secret share theory
The following are the tips related to associated material:
Shamir Secret Share with Lagrange interpretation constant. Lagrange interpretation constant. This computes a simple example of rebuilding Lagrange interpretation constants.
Disenroll Parties with Shamir Secret Share and Lagrange interpretation constants. Disenroll Parties with Shamir Secret Share. This refreshes shares, and disenrolls one or more nodes from the secret share.
Chinese Remainder Theory and Blakley
The following are the tips related to associated material:
Secret Shares With Chinese Remainder Theory (CRT). Secret shares (CRT). This example uses the Asmuth-Bloom threshold secret share scheme.
Secret Shares With Chinese Remainder Theory (CRT). Secret shares (CRT). This example uses the Mignotte threshold secret sharing scheme.
Secret Shares With Blakley method). Secret shares (Blakley). This example uses the Blakley threshold secret sharing scheme.
RSA and ECC
The following are the tips related to associated material:
RSA Secret Shares with Python. RSA. Creating Secret Shares in RSA.
Threshold RSA Signature. Threshold RSA Signature. Shamir's secret sharing method generates a number of shares, of which a threshold defines the number of shares which can be used to re-build the message. In this case we will have a number of entities (\(p\)) and which use a threshold of \(t\). An RSA key can then be created with a private key of (\(d,N)\), and where the decryption exponent is shared between the parties. These shares can then be used to sign a message, and where at least \(t\) shares are required to generate a valid RSA signature.
The following are the tips related to associated material:
(t,n)-threshold Boneh-Lynn-Shacham (BLS) signature scheme. TBLS. Create n shares and where we need to get t back to verify the signature.
Post quantum
SIKE Secret Shares with Go. SIKE. Post-quantum key exchange with key encapulation.
Methods using Krytology
Implementing SSS. SSS. With this we have a threshold of \(t\) from \(n\) shares.
Implementing SSS (Theory). Shamir Secret Share Theory. With this we have a threshold of \(t\) from \(n\) shares and outline the core theory.
Dealing SSS. Dealing out SSS. With this we have a threshold of \(t\) from \(n\) shares and will regenerate a random secret
Pedersen Verifiable Secret Sharing Scheme using Kryptology. Pedersen VSS. With this we have a threshold of \(t\) from \(n\) shares.
Feldman Verifiable Secret Sharing Scheme using Kryptology. Feldman VSS. With this we have a threshold of \(t\) from \(n\) shares.
Distributed key generation (DKG) using the FROST method in Kryptology. FROST DKG. Implementation of the FROST method.
Shamir Secret Shares with CIRCL
Shamir Secret Shares with CIRCL and Elliptic Curves. SSS with CIRCL. Implementation of secret shares with CIRCL
Threshold methods
The following are some examples of threshold signing:
2-of-2 threshold ECDSA signing algorithm of DKLS using Kryptology. 2-of-2 threshold ECDSA. The DKLS [Doerner, Kondi, Lee, and Shelat) method implements an ECDSA signing algorithm using threshold protocols. In this case, Bob and Alice will communicate using a DKG method, and then Bob will be able to create a valid signature. The secret key will be split into two shares, and Bob and Alice will use these shares to generate the digital signature and a public key. The signature generated will be defined as (\(R.S\)) and checked for its validity against the generated public key.
2-of-2 threshold ECDSA signing algorithm using GG20 with Kryptology. 2-of-2 threshold ECDSA. e GG20 (Gennaro, R., & Goldfeder, S. (2020)) method implements an ECDSA signing algorithm using threshold protocols. nce Bob and Alice have communicated, Bob will hold a signature for the message. We will then check this signature for its validity. We will thus split a private key up into two secret shares and then will be able to sign with the shares of the key.
t-of-n threshold ECDSA signing algorithm using GG20 with Kryptology. t-of-n threshold ECDSA. The GG20 (Gennaro, R., & Goldfeder, S. (2020)) method implements an ECDSA signing algorithm using threshold protocols. We will thus split a private key up into two secret shares and then will be able to sign with the shares of the key.
Threshold EdDSA and Ed25519 with Golang. Threshold EdDSA/Ed25519. Signing with threshold Ed25519 using Golang.
Asynchronous Verifiable Secret Sharing
Implementing AVSS. AVSS. With this we have a threshold of \(t\) from \(n\) shares and using AVSS as defined by Cachin et al.