I was aware of that. But it's still different from what I'm looking for. The
SecretSharing splits a secret (the private key in my case) into n shares,
and the SecretRecovery recovers the secret given k shares of the secret. I
don't want to recover the private key, but the thing encrypted with the
private key (without revealing the private key).

My original description of the problem is a bit confusing. Let me restate
it. I use RSA to encrypt some data P, resulting in ciphertext C. We want to
secret-share the private key used in the encryption. We also want to be able
to do the following: given the ciphertext C, and k shares of the secret
private key, recover the data P. This has to be done without revealing the
private key, however. That is, you cannot first combine the k shares to
recover the private key, and then use the private key to decrypt the
ciphertext.

There is a well-known algorithm to do this. But hte question is, is it
implemented somewhere in Crypto++?

Thanks.


----- Original Message -----
From: "Jeffrey Walton" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, November 27, 2002 3:25 PM
Subject: Re: threshold decryption


> ----- Original Message -----
> From: Kai Wei
> To: [EMAIL PROTECTED]
> Sent: Wednesday, November 27, 2002 5:27 PM
> Subject: threshold decryption
>
>
> Hi,
>
> I'm working on a project that requires threshold decryption. Here we use
RSA
> to encrypt a secret. We want to split the RSA private key into n shares,
> with k shares required to recover the private key. When we need to recover
> the secret, we want to do so without first recovering the private key.
That
> is, we want k share-holders to decrypt the secret independently using
their
> own share of the private key, and then their results can be combined
somehow
> to recover the secret (not the private key!).
>
> I'm aware that the algorithm to do this is well-known. I just want to know
> whether this is already implemented in Crypto++ (i.e., something that
takes the
> results from the k share-holders and combines them to recover the secret,
OR,
> sometihng that takes the encrypted secret and k shares of the private key,
and
> recovers the secret).
> thanks.
>
> Hello Kai,
>
> Take a look at test.cpp, using the ss and sr switches.
>
> ss is secret share. Its code is located at line 614 (SecretShareFile(...))
of
> test.cpp.
>
> Jeff
>
>

Reply via email to