Skip to main content
3 of 3
added 645 characters in body

2 Part Encryption

Can anyone tell me if an encryption / decryption scheme like the following exists?

Encrypted1 = SomeCryptoFunction(Data, Key1)

Encrypted2 = SomeAdditionalCryptoFunction(Encrypted1, Key2)

Data = SomeDecryptFunction(Encrypted1, Key1)

Data = SomeDecryptFunction(Encrypted2, Key2)

In words, the idea is follows.

  1. Provider encrypts data (In a general fashion, using Key1)
  2. User requests encrypted (With Key1) data
  3. User runs additional encryption process to provide data decryptable by user key (Key2).
  4. User decrypts with their key (Key2).

Note: I am looking for this overall process, it does not have to be exactly the same, just the general idea.

Does this exist, or have I got a case of wishful thinking?

Edit (For clarity after seeing the comments)

The idea for application is as follows:

  1. A company shares media encrypted with their key (Key1) over p2p.
  2. The companies users share the encrypted media between themselves.
  3. A user wishes to access the information.
  4. It is undesirable to have everyone share a common key, so The idea is to give each user a small routine to run on the already encrypted data, and a key to decrypt it with. Each routine and key combination would be "unique".
  5. The user fetches the key and routine from the company server
  6. Run's the routine on the data
  7. And decrypts with their own key