Consider a scenario where Server 1 stores a 600-800 KB ebook encrypted with a certain private key. Server 2, a computation-purpose server, holds this private decryption key and get access to the encrypted file. Its task involves decrypting the file and re-encrypting it with a public key using a specific algorithm.
The problem lies in ensuring that Server 2 doesn't create a local copy of the decrypted file during the computation process. The objective is to guarantee that the decrypted content is never exposed, only a new encrypted file should be generated as an output.
- How can one ascertain that Server 2 refrains from storing the decrypted file during the computation process?
- What type of decryption-encryption algorithm is suitable for achieving this goal? The intention is to produce a new encrypted file without generating the decrypted content as an output.
- Is the preferable solution software-engineered, such as using a Homomorphic encryption computation? Alternatively, would a hardware-oriented approach like Trusted Execution Environments (TTE) or Secure Enclaves be more effective in this context?
Your insights and expertise would help me a lot to select an approach that effectively maintains data security and privacy throughout the decryption and re-encryption process.