A method and apparatus is provided for securely transferring first and
second data from a user to first and second parties respectively. More
particularly, the user encrypts the first data using a first encryption
key associated with the first party, and then encrypts the second data
using, as encryption parameters, both public data of the first party and
third data comprising the encrypted first data. The third data is then
provided, preferably via the second party, to the first party, and the
encrypted second data is provided to the second party. The first party
uses a first decryption key to decrypt the encrypted first data, as
provided to the first party in the third data, whereby to recover the
first data. The first party also uses the third data, along with private
data related to the aforesaid public data, to generate a second
decryption key which is then provided to the second party to enable it to
decrypt the encrypted second data.