I want to be able to decrypt data using a network of nodes N where a certain threshold of nodes is necessary and no single node has the power to decrypt data by itself. At any given point, at minimum 2/3 of the nodes are honest and at most 1/3 of the nodes are semi-honest, except for at the initiation of the network, where we can assume all nodes are honest and trustworthy (allowing for, if necessary, some initiation logic). I want to be able to perform ECDH between my network N and an external actor A owning a keypair of the same type to generate a shared secret between these two parties for encryption. How can I best resolve this (in the best case without that trusted entity E, but also with if that's the only possible way)?

Edit: To clarify, standard SSS does not work here, because there is no party that we can trust to reconstruct the key, decrypt, and then not secretly keep the recreated key

  • $\begingroup$ Do the clients are honest, semi-honest, or malicious? You need to explain more about your problem. $\endgroup$
    – kelalaka
  • $\begingroup$ Another question is what kind of public key scheme are you using? Or are you using a symmetric key scheme? $\endgroup$
    – lamba
  • $\begingroup$ Thanks for the feedback! I edited my question to answer both your questions. $\endgroup$ yesterday
  • $\begingroup$ What is the maximum number of nodes you expect there to ever be? $\endgroup$
    – knaccc
    22 hours ago
  • $\begingroup$ For the foreseeable future, less than 50 $\endgroup$ 21 hours ago


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy