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.
- Provider encrypts data (In a general fashion, using
- User requests encrypted (With
- User runs additional encryption process to provide data decryptable by user key (
- User decrypts with their key (
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:
- A company shares media encrypted with their key (
Key1) over p2p.
- The companies users share the encrypted media between themselves.
- A user wishes to access the information.
- 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".
- The user fetches the key and routine from the company server
- Run's the routine on the data
- And decrypts with their own key