On Mon, 14 May 2001, Rafael Coninck Teigao wrote:

>    What I'm looking for is sort of this: there is a public key that can be
>used to create the cyphertext (only one public key) and a set of private keys
>that can be used alone to get the cleartext from this cyphertext.

Okay.  Here is one way to do it.  Encrypt the message using a symmetric 
algorithm such as Twofish or AES or something.  Now create a header that 
says what the key you used with the symmetric cipher was.  Make one 
such header for each recipient, and encrypt each header (using an 
asymmetric algorithm such as an elliptic-curve system) with the public 
key of one of the intended recipients.  Put the encrypted message together 
with the encrypted headers, and sign the whole bundle with your own key.

Now your recipients can each read their header and get the key and then 
unlock the whole document. 

If you want to keep the number of headers down, or need to send to 
a *lot* of different users with unique keys for each user, you can 
use secret sharing to put a dozen messages in the header, such that 
if your recipients can decrypt any six, they can construct the 
symmetric key.  Then you can hand out a different subset of six 
keys to each of the participants.  That gives you thousands of 
different keys to hand out, but only 12 "headers".

Hope this helps...

                                Bear




Reply via email to