<div>> > On Sunday, August 22nd, 2021 at 12:17 PM, Phillip Hallam-Baker <<a href="mailto:phill@hallambaker.com">phill@hallambaker.com</a>> wrote:<br></div><div>> > > Threshold decryption allows encrypted documents to be shared<br></div><div>> > > and used with exactly the same ease as unencrypted documents,<br></div><div>> > > somewhat easier in fact as there is less need to be concerned<br></div><div>> > > about leaks on stolen laptops etc.<br></div><div><br></div><div>> On Tue, Aug 31, 2021 at 5:04 PM jrzx <<a href="mailto:jrzx@protonmail.ch">jrzx@protonmail.ch</a>> wrote:<br></div><div>> > As I understand your proposal, you are not actually threshold<br></div><div>> > encrypting the documents, but threshold encrypting the<br></div><div>> > permissions request to the master server on the cloud,<br></div><div>> > which holds secrets and whose operator has to manage those secrets.<br></div><div><br></div><div>Phillip Hallam-Baker <<a href="mailto:phill@hallambaker.com">phill@hallambaker.com</a>><br></div><div>> ??? I am not sure what you are saying. First off, there is no threshold<br></div><div>> 'encryption' and it is only decryption that may be shared.<br></div><div>><br></div><div>> The GroupW public key is {W, w}<br></div><div>><br></div><div>> Alice holds w<br></div><div>> Bob holds w-b, service holds b<br></div><div>> Carol holds w-c, service holds c<br></div><div><br></div><div>> Alice can add doug by creating a share w-d, d and sending them to Doug<br></div><div>> and the service.<br></div><div><br></div><div>This is not what the phrase threshold cryptography normally refers to,<br></div><div>because there is no threshold.  Rather unanimity between Bob and the<br></div><div>server.  Hence my confusion.<br></div><div><br></div><div>Threshold cryptography refers to n of m schemes where n is<br></div><div>substantially less than m.  This is a two of two scheme.<br></div><div><br></div><div>> Alice can remove Bob by telling the service to delete b.<br></div><div>><br></div><div>> This is not a Snowden-is-my-keyserver-admin scheme. The service<br></div><div>> never sees w. In fact it never sees a value that even depends on w.<br></div><div><br></div><div>That is an elegant idea, and could be used to do a great many interesting<br></div><div>things, but you have left out the parts where stuff actually gets<br></div><div>encrypted and decrypted.<br></div><div><br></div><div>Attempting to fill the gaps in from my imagination, which doubtless<br></div><div>differs from your own.<br></div><div><br></div><div>Each document contains public key used once, a konce.  Call the<br></div><div>corresponding transient secret key k, the corresponding public key K.<br></div><div><br></div><div>The corresponding transient private key k is thrown away after being<br></div><div>used for one document once.<br></div><div><br></div><div>The transient symmetric key that decrypts the document is kW=wK<br></div><div><br></div><div>Anyone can encrypt a document so that only he, or Alice, or one of the<br></div><div>holders of shares with the full cooperation of the server can decrypt it.<br></div><div><br></div><div>The documents at rest are stored in their encrypted form on Bob's<br></div><div>machine, and any time he wants to read one of them, he cooperates with<br></div><div>the server to construct wK, the transient symmetric secret for each<br></div><div>document he wants to read, without either party ever getting the full<br></div><div>value of w.<br></div><div><br></div><div>The transient symmetric secrets are stored on Bobs machine until he logs<br></div><div>off, unless he does something naughty to keep them around - or more<br></div><div>likely does something careless to keep the cleartext around.<br></div><div><br></div><div>If Alice gets fired, the  secret key w is reconstructed by the cooperation of<br></div><div> the server and one of the shareholders, and documents at rest  are<br></div><div>re-encrypted to a new key All the old shares are then thrown away <br></div><div>and old copies of the old documents become unreadable for most <br></div><div>people.<br></div>